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 つのアクティブなカメラと 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) |
Notifierシグナル:
| void | primarySubViewportChanged(const QRect &subViewport) |
secondarySubViewport : QRect
このプロパティは、ビューポート内のセカンダリビューポートの矩形を保持します。
セカンダリビューポートは、一部の可視化において2Dスライスビューを描画するために使用されます。明示的に設定されていない場合、QRect と等しくなります。isSlicingActive()の値がtrue である場合、viewport と等しくなります。
注: セカンダリサブビューポートがビューポートより大きい場合 、またはビューポートの外側にある場合 、ビューポートはそれに応じてサイズ変更されます。
アクセス関数:
| QRect | secondarySubViewport() const |
| void | setSecondarySubViewport(const QRect &secondarySubViewport) |
Notifierシグナル:
| 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 : 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 となるのは、セカンダリサブビューが上にある場合のみです。
© 2026 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.