Q3DScene Class
Q3DSceneクラスはビジュアライズされている3Dシーンの説明を提供します。詳細...
Header: | #include <Q3DScene> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
qmake: | QT += datavisualization |
Since: | QtDataVisualization 1.0 |
In QML: | Scene3D |
Inherits: | QObject |
プロパティ
|
|
パブリック関数
Q3DScene(QObject *parent = nullptr) | |
virtual | ~Q3DScene() |
Q3DCamera * | activeCamera() const |
Q3DLight * | activeLight() const |
float | devicePixelRatio() const |
QPoint | graphPositionQuery() const |
bool | isPointInPrimarySubView(const QPoint &point) |
bool | isPointInSecondarySubView(const QPoint &point) |
bool | isSecondarySubviewOnTop() const |
bool | isSlicingActive() const |
QRect | primarySubViewport() const |
QRect | secondarySubViewport() const |
QPoint | selectionQueryPosition() const |
void | setActiveCamera(Q3DCamera *camera) |
void | setActiveLight(Q3DLight *light) |
void | setDevicePixelRatio(float pixelRatio) |
void | setGraphPositionQuery(const QPoint &point) |
void | setPrimarySubViewport(const QRect &primarySubViewport) |
void | setSecondarySubViewport(const QRect &secondarySubViewport) |
void | setSecondarySubviewOnTop(bool isSecondaryOnTop) |
void | setSelectionQueryPosition(const QPoint &point) |
void | setSlicingActive(bool isSlicing) |
QRect | viewport() const |
シグナル
void | activeCameraChanged(Q3DCamera *camera) |
void | activeLightChanged(Q3DLight *light) |
void | devicePixelRatioChanged(float pixelRatio) |
void | graphPositionQueryChanged(const QPoint &position) |
void | primarySubViewportChanged(const QRect &subViewport) |
void | secondarySubViewportChanged(const QRect &subViewport) |
void | secondarySubviewOnTopChanged(bool isSecondaryOnTop) |
void | selectionQueryPositionChanged(const QPoint &position) |
void | slicingActiveChanged(bool isSlicingActive) |
void | viewportChanged(const QRect &viewport) |
静的パブリックメンバー
QPoint | invalidSelectionPoint() |
詳細説明
3Dシーンには、アクティブなカメラとアクティブな光源が1つずつあります。ビジュアライズされたデータは、固定された場所にあると仮定されます。
3Dシーンは、可視化レンダリングが行われるビューポート、メインの3Dデータ可視化ビューが存在するビューポート内のプライマリサブビューポート、データの2Dスライスビューが存在するセカンダリサブビューポートも追跡します。サブビューポートはデフォルトで、Q3DScene によってリサイズされます。リサイズ動作をオーバーライドするには、viewportChanged() とslicingActiveChanged() の両方のシグナルをリッスンし、それに応じてサブビューポートを再計算する必要があります。
また、シーンはセカンダリ2Dスライスビューが現在アクティブかどうかをトラッキングするフラグを持っています。
注意: 全てのビジュアライゼーションがセカンダリ2Dスライシングビューをサポートしているわけではありません。
プロパティの説明
activeCamera : Q3DCamera*
このプロパティは、3Dシーンで現在アクティブなカメラを保持します。
新しいQ3DCamera オブジェクトが設定されると、自動的にシーンの子として追加されます。
アクセス関数
Q3DCamera * | activeCamera() const |
void | setActiveCamera(Q3DCamera *camera) |
通知シグナル
void | activeCameraChanged(Q3DCamera *camera) |
activeLight : Q3DLight*
このプロパティは、3Dシーンで現在アクティブなライトを保持します。
新しいQ3DLight オブジェクトが設定されると、自動的にシーンの子として追加されます。
アクセス関数
Q3DLight * | activeLight() const |
void | setActiveLight(Q3DLight *light) |
ノーティファイアシグナル:
void | activeLightChanged(Q3DLight *light) |
devicePixelRatio : float
このプロパティは、入力座標をピクセル座標にマッピングするときに使用されるデバイスピクセル比率を保持します。
アクセス関数
float | devicePixelRatio() const |
void | setDevicePixelRatio(float pixelRatio) |
ノーティファイアシグナル
void | devicePixelRatioChanged(float pixelRatio) |
graphPositionQuery : QPoint
このプロパティは、グラフ位置クエリとしてシーンによって処理されるべきユーザー入力の座標を保持する。
このプロパティがinvalidSelectionPoint() 以外の値に設定されている場合、グラフは、プライマリビューポート内の指定された座標にグラフ位置を一致させようとします。レンダリング パスの後、このプロパティはデフォルト状態のinvalidSelectionPoint() に戻されます。照会されたグラフ位置は、次のレンダリングパスの後にQAbstract3DGraph::queriedGraphPosition プロパティから読み取ることができます。
特定の画面位置に一致する単一の正しい3D座標は存在しないため、一貫性を保つために、クエリは常にグラフを囲む不可視ボックスの内側に対して行われます。
注: 棒グラフでは、グラフフロアレベルでのみグラフ位置のクエリーが可能です。
アクセス機能
QPoint | graphPositionQuery() const |
void | setGraphPositionQuery(const QPoint &point) |
ノーティファイア・シグナル:
void | graphPositionQueryChanged(const QPoint &position) |
QAbstract3DGraph::queriedGraphPositionも参照 。
primarySubViewport : QRect
このプロパティは、データ可視化のプライマリビューが対象とするビューポート内の現在のサブビューポート矩形を保持します。
isSlicingActive() がfalse
の場合、プライマリサブビューポートはviewport() と等しくなります。isSlicingActive() がtrue
で、プライマリ・サブ・ビューポートが明示的に設定されていない場合、viewport() の5分の1になります。
注: primarySubViewportをビューポートより大きく、またはビューポートの外側に設定すると、それに応じてビューポートのサイズが変更されます。
アクセス関数:
QRect | primarySubViewport() const |
void | setPrimarySubViewport(const QRect &primarySubViewport) |
通知シグナル:
void | primarySubViewportChanged(const QRect &subViewport) |
secondarySubViewport : QRect
このプロパティは、ビューポート内のセカンダリビューポート矩形を保持する。
セカンダリビューポートは、一部のビジュアライゼーションで2Dスライスビューを描画するために使用されます。明示的に設定されていない場合、QRect に等しくなります。isSlicingActive ()がtrue
の場合、viewport に等しくなります。
注意: セカンダリサブビューポートがビューポートより大きいか、ビューポートの外にある場合、ビューポートはそれに応じてサイズ変更されます。
アクセス関数:
QRect | secondarySubViewport() const |
void | setSecondarySubViewport(const QRect &secondarySubViewport) |
通知シグナル:
void | secondarySubViewportChanged(const 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(const QPoint &point) |
通知シグナル:
void | selectionQueryPositionChanged(const QPoint &position) |
QAbstract3DGraph::selectedElementも参照 。
slicingActive : bool
このプロパティは、2Dスライシングビューが現在アクティブであるかどうかを保持する。
true
,QAbstract3DGraph::selectionMode の場合、QAbstract3DGraph::SelectionRow またはQAbstract3DGraph::SelectionColumn のいずれかが有効な選択に設定されている必要があります。
注: すべてのビジュアライゼーションが 2D スライシングビューをサポートしているわけではありません。
アクセス関数
bool | isSlicingActive() const |
void | setSlicingActive(bool isSlicing) |
Notifier シグナル:
void | slicingActiveChanged(bool isSlicingActive) |
[read-only]
viewport : const QRect
このプロパティは、すべての 3D レンダリングがターゲットとする現在のビューポート矩形を含む読み取り専用プロパティを保持します。
アクセス関数
QRect | viewport() const |
ノーティファイアシグナル
void | viewportChanged(const QRect &viewport) |
メンバー関数ドキュメント
[explicit]
Q3DScene::Q3DScene(QObject *parent = nullptr)
1つのライトと1つのカメラを含む基本的なシーンを構築します。オプションでparent パラメータを与えることができ、QObject コンストラクタに渡されます。
[virtual noexcept]
Q3DScene::~Q3DScene()
3D シーンおよびその中に含まれるすべてのオブジェクトを破棄します。
[static]
QPoint Q3DScene::invalidSelectionPoint()
無効な選択位置を示すQPoint を返します。
bool Q3DScene::isPointInPrimarySubView(const QPoint &point)
指定されたpoint がプライマリサブビュー内に存在するかどうかを返します。ポイントがプライマリサブビュー内にある場合、true
を返します。
注意: サブビューが重なっていて、与えられたpoint が両方の内側にある場合、結果は、プライマリサブビューが上にあるときのみtrue
になります。
bool Q3DScene::isPointInSecondarySubView(const QPoint &point)
与えられたpoint がセカンダリサブビューの内側にあるかどうかを返します。その点がセカンダリサブビューの内側にある場合はtrue
を返します。
注意: サブビューが重なっていて、与えられたpoint が両方の中にある場合、セカンダリサブビューが上にあるときのみ、結果はtrue
になります。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。