Q3DScene Class
Q3DSceneクラスはビジュアライズされている3Dシーンの説明を提供します。もっと詳しく...
ヘッダー | #include <Q3DScene> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
qmake: | QT += datavisualization |
以来: | QtDataVisualization 1.0 |
QML で: | Scene3D |
継承: | 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) |
通知シグナル
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
になります。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.