Q3DScene Class

Q3DSceneクラスはビジュアライズされている3Dシーンの説明を提供します。詳細...

Header: #include <Q3DScene>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: Scene3D
Inherits: QObject

プロパティ

パブリック関数

Q3DScene(QObject *parent = nullptr)
virtual ~Q3DScene() override
qreal devicePixelRatio() const
QPoint graphPositionQuery() const
QPoint invalidSelectionPoint() const
bool isPointInPrimarySubView(QPoint point)
bool isPointInSecondarySubView(QPoint point)
bool isSecondarySubviewOnTop() const
bool isSlicingActive() const
QRect primarySubViewport() const
QRect secondarySubViewport() const
QPoint selectionQueryPosition() const
void setDevicePixelRatio(qreal pixelRatio)
void setGraphPositionQuery(QPoint point)
void setPrimarySubViewport(QRect primarySubViewport)
void setSecondarySubViewport(QRect secondarySubViewport)
void setSecondarySubviewOnTop(bool isSecondaryOnTop)
void setSelectionQueryPosition(QPoint point)
void setSlicingActive(bool isSlicing)
QRect viewport() const

シグナル

void devicePixelRatioChanged(qreal pixelRatio)
void graphPositionQueryChanged(QPoint position)
void primarySubViewportChanged(QRect subViewport)
void secondarySubViewportChanged(QRect subViewport)
void secondarySubviewOnTopChanged(bool isSecondaryOnTop)
void selectionQueryPositionChanged(QPoint position)
void slicingActiveChanged(bool isSlicingActive)
void viewportChanged(QRect viewport)

詳細説明

3Dシーンには、1つのアクティブカメラと1つのアクティブ光源が含まれます。ビジュアライズされたデータは、固定された場所にあると仮定されます。

3Dシーンは、グラフレンダリングが行われるビューポート、メインの3Dグラフビューが存在するビューポート内のプライマリサブビューポート、データの2Dスライスビューが存在するセカンダリサブビューポートも追跡します。サブビューポートはデフォルトでQ3DScene によってリサイズされます。リサイズ動作をオーバーライドするには、viewportChanged() とslicingActiveChanged() の両方のシグナルをリッスンし、それに応じてサブビューポートを再計算する必要があります。

また、シーンには、セカンダリ2Dスライスビューが現在アクティブかどうかをトラッキングするフラグがあります。

注意: すべてのグラフがセカンダリ2Dスライシングビューをサポートしているわけではありません。

プロパティ説明

devicePixelRatio : qreal

このプロパティは、入力座標をピクセル座標にマッピングする際に使用されるデバイスピクセル比率を保持します。

アクセス関数

qreal devicePixelRatio() const
void setDevicePixelRatio(qreal pixelRatio)

通知シグナル

void devicePixelRatioChanged(qreal pixelRatio)

graphPositionQuery : QPoint

このプロパティは、グラフ位置クエリとしてシーンによって処理されるべきユーザー入力の座標を保持する。

このプロパティがinvalidSelectionPoint() 以外の値に設定されている場合、グラフは、プライマリビューポート内の指定された座標にグラフ位置を一致させようとします。レンダリング パスの後、このプロパティはデフォルト状態のinvalidSelectionPoint() に戻されます。照会されたグラフ位置は、次のレンダリングパスの後にQ3DGraphsWidgetItem::queriedGraphPosition プロパティから読み取ることができます。

特定の画面位置に一致する単一の正しい3D座標は存在しないため、一貫性を保つために、クエリは常にグラフを囲む不可視ボックスの内側に対して行われます。

注: 棒グラフでは、グラフフロアレベルでのみグラフ位置のクエリーが可能です。

アクセス機能

QPoint graphPositionQuery() const
void setGraphPositionQuery(QPoint point)

ノーティファイア・シグナル:

void graphPositionQueryChanged(QPoint position)

Q3DGraphsWidgetItem::queriedGraphPositionも参照

primarySubViewport : QRect

このプロパティは、グラフのプライマリビューがターゲットとするビューポート内の現在のサブビューポート矩形を保持します。

プライマリサブビューポートが明示的に設定されていない場合、viewport ()の5分の1になります。

注意: primarySubViewportをビューポートより大きく、またはビューポートの外側に設定すると、それに応じてビューポートのサイズが変更されます。

アクセス関数:

QRect primarySubViewport() const
void setPrimarySubViewport(QRect primarySubViewport)

通知シグナル:

void primarySubViewportChanged(QRect subViewport)

secondarySubViewport : QRect

このプロパティは、ビューポート内のセカンダリビューポート矩形を保持する。

セカンダリビューポートは、一部のグラフで2Dスライスビューを描画するために使用されます。明示的に設定されていない場合は、ビューポートのサイズと同じになります。

メモ: セカンダリサブビューポートがビューポートより大きい、またはビューポートの外側にある場合、ビューポートはそれに応じてサイズ変更されます。

アクセス関数:

QRect secondarySubViewport() const
void setSecondarySubViewport(QRect secondarySubViewport)

通知シグナル:

void secondarySubViewportChanged(QRect subViewport)

secondarySubviewOnTop : bool

このプロパティは、2Dスライシングビューと3Dビューのどちらが上に描画されるかを保持します。

アクセス関数

bool isSecondarySubviewOnTop() const
void setSecondarySubviewOnTop(bool isSecondaryOnTop)

ノーティファイアシグナル:

void secondarySubviewOnTopChanged(bool isSecondaryOnTop)

selectionQueryPosition : QPoint

このプロパティは、シーンによって選択として処理されるべきユーザー入力の座標を保持する。

このプロパティがinvalidSelectionPoint() 以外の値に設定されている場合、グラフは、プライマリビューポート内の指定された座標で、データアイテム、軸ラベル、またはカスタムアイテムの選択を試みます。レンダリングパスの後、このプロパティはデフォルト状態のinvalidSelectionPoint() に戻されます。

アクセス関数:

QPoint selectionQueryPosition() const
void setSelectionQueryPosition(QPoint point)

通知シグナル:

void selectionQueryPositionChanged(QPoint position)

Q3DGraphsWidgetItem::selectedElementも参照

slicingActive : bool

このプロパティは、2Dスライシングビューが現在アクティブであるかどうかを保持する。

true,Q3DGraphsWidgetItem::selectionMode の場合、QtGraphs3D::SelectionFlag::Row またはQtGraphs3D::SelectionFlag::Column のいずれかが有効な選択に設定されている必要があります。

注: すべてのグラフが 2D スライスビューをサポートしているわけではない。

アクセス関数

bool isSlicingActive() const
void setSlicingActive(bool isSlicing)

Notifier シグナル:

void slicingActiveChanged(bool isSlicingActive)

[read-only] viewport : const QRect

このプロパティは、すべての 3D レンダリングがターゲットとする現在のビューポート矩形を含む読み取り専用プロパティを保持します。

アクセス関数

QRect viewport() const

ノーティファイアシグナル

void viewportChanged(QRect viewport)

メンバー関数ドキュメント

[explicit] Q3DScene::Q3DScene(QObject *parent = nullptr)

1つのライトと1つのカメラを含む基本的なシーンを構築します。オプションでparent パラメータを与えることができ、QObject コンストラクタに渡されます。

[override virtual noexcept] Q3DScene::~Q3DScene()

3D シーンおよびその中に含まれるすべてのオブジェクトを破棄します。

QPoint Q3DScene::invalidSelectionPoint() const

無効な選択位置を示すQPoint を返します。

注: プロパティ invalidSelectionPoint のゲッター関数です。

bool Q3DScene::isPointInPrimarySubView(QPoint point)

指定されたpoint がプライマリサブビュー内に存在するかどうかを返します。ポイントがプライマリサブビュー内にある場合、true を返す。

注意: サブビューが重なっていて、与えられたpoint が両方の内側に存在する場合、結果は、プライマリサブビューが上にある場合のみtrue になります。

bool Q3DScene::isPointInSecondarySubView(QPoint point)

与えられたpoint がセカンダリサブビューの内側にあるかどうかを返します。指定された点がセカンダリサブビューの内側にある場合、true を返します。

注意: サブビューが重なっていて、与えられたpoint が両方の中にある場合、結果は、セカンダリサブビューが上にあるときのみtrue になります。

©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。