Q3DCamera Class
3次元空間におけるカメラの表現。続きを読む...
| ヘッダー: | #include <Q3DCamera> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake: | QT += datavisualization |
| バージョン: | QtDataVisualization 1.0 |
| QML での実装: | Camera3D |
| 継承元: | Q3DObject |
| ステータス: | 非推奨 |
このクラスは非推奨です。新しいコードでの使用は強く推奨しません。
パブリック型
| enum | CameraPreset { CameraPresetNone, CameraPresetFrontLow, CameraPresetFront, CameraPresetFrontHigh, CameraPresetLeftLow, …, CameraPresetDirectlyBelow } |
プロパティ
|
|
パブリック関数
| Q3DCamera(QObject *parent = nullptr) | |
| virtual | ~Q3DCamera() |
| Q3DCamera::CameraPreset | cameraPreset() const |
| float | maxZoomLevel() const |
| float | minZoomLevel() const |
| void | setCameraPosition(float horizontal, float vertical, float zoom = 100.0f) |
| void | setCameraPreset(Q3DCamera::CameraPreset preset) |
| void | setMaxZoomLevel(float zoomLevel) |
| void | setMinZoomLevel(float zoomLevel) |
| void | setTarget(const QVector3D &target) |
| void | setWrapXRotation(bool isEnabled) |
| void | setWrapYRotation(bool isEnabled) |
| void | setXRotation(float rotation) |
| void | setYRotation(float rotation) |
| void | setZoomLevel(float zoomLevel) |
| QVector3D | target() const |
| bool | wrapXRotation() const |
| bool | wrapYRotation() const |
| float | xRotation() const |
| float | yRotation() const |
| float | zoomLevel() const |
再実装されたパブリック関数
| virtual void | copyValuesFrom(const Q3DObject &source) override |
シグナル
| void | cameraPresetChanged(Q3DCamera::CameraPreset preset) |
| void | maxZoomLevelChanged(float zoomLevel) |
| void | minZoomLevelChanged(float zoomLevel) |
| void | targetChanged(const QVector3D &target) |
| void | wrapXRotationChanged(bool isEnabled) |
| void | wrapYRotationChanged(bool isEnabled) |
| void | xRotationChanged(float rotation) |
| void | yRotationChanged(float rotation) |
| void | zoomLevelChanged(float zoomLevel) |
詳細な説明
Q3DCamera は、データ可視化のレンダリングに使用される、中心点を中心に回転する基本的な 3D カメラを表します。このクラスは、原点を中心にカメラを回転させたり、ズームレベルを設定したりするためのシンプルなメソッドを提供します。
メンバ型のドキュメント
enum Q3DCamera::CameraPreset
カメラの事前定義された位置。
| 定数 | 値 | 説明 |
|---|---|---|
Q3DCamera::CameraPresetNone | -1 | プリセットが設定されていないこと、またはシーンが自由に回転されていることを示すために使用されます。 |
Q3DCamera::CameraPresetFrontLow | 0 | |
Q3DCamera::CameraPresetFront | 1 | |
Q3DCamera::CameraPresetFrontHigh | 2 | |
Q3DCamera::CameraPresetLeftLow | 3 | |
Q3DCamera::CameraPresetLeft | 4 | |
Q3DCamera::CameraPresetLeftHigh | 5 | |
Q3DCamera::CameraPresetRightLow | 6 | |
Q3DCamera::CameraPresetRight | 7 | |
Q3DCamera::CameraPresetRightHigh | 8 | |
Q3DCamera::CameraPresetBehindLow | 9 | |
Q3DCamera::CameraPresetBehind | 10 | |
Q3DCamera::CameraPresetBehindHigh | 11 | |
Q3DCamera::CameraPresetIsometricLeft | 12 | |
Q3DCamera::CameraPresetIsometricLeftHigh | 13 | |
Q3DCamera::CameraPresetIsometricRight | 14 | |
Q3DCamera::CameraPresetIsometricRightHigh | 15 | |
Q3DCamera::CameraPresetDirectlyAbove | 16 | |
Q3DCamera::CameraPresetDirectlyAboveCW45 | 17 | |
Q3DCamera::CameraPresetDirectlyAboveCCW45 | 18 | |
Q3DCamera::CameraPresetFrontBelow | 19 | CameraPresetFrontBelow以降のQ3DBarsは、負の値を含むグラフでのみ機能します。正の値のみの場合、これらはPreset...Lowとして動作します。 |
Q3DCamera::CameraPresetLeftBelow | 20 | |
Q3DCamera::CameraPresetRightBelow | 21 | |
Q3DCamera::CameraPresetBehindBelow | 22 | |
Q3DCamera::CameraPresetDirectlyBelow | 23 | 正の値のみのバーでは、CameraPresetFrontLowと同様に動作します。 |
プロパティのドキュメント
cameraPreset : CameraPreset
このプロパティには、現在アクティブなカメラプリセットが格納されます。
CameraPreset の値が設定されていない場合、デフォルトでCameraPresetNone が使用されます。
アクセス関数:
| Q3DCamera::CameraPreset | cameraPreset() const |
| void | setCameraPreset(Q3DCamera::CameraPreset preset) |
通知シグナル:
| void | cameraPresetChanged(Q3DCamera::CameraPreset preset) |
maxZoomLevel : float
このプロパティは、カメラのズームレベルの上限値を保持します。
最大レベルが、既存の最小レベルよりも低い新しい値に設定された場合、最小レベルも新しい最大レベルに合わせて調整されます。現在のzoomLevel が新しい範囲外にある場合も、同様に調整されます。デフォルトは500.0f です。
アクセス関数:
| float | maxZoomLevel() const |
| void | setMaxZoomLevel(float zoomLevel) |
通知シグナル:
| void | maxZoomLevelChanged(float zoomLevel) |
関連項目: zoomLevel およびminZoomLevel 。
minZoomLevel : float
このプロパティは、カメラのズームレベルとして許可される最小値を保持します。
最小レベルが、既存の最大レベルよりも高い新しい値に設定された場合、最大レベルも新しい最小レベルに合わせて調整されます。現在のzoomLevel が新しい範囲外にある場合も、同様に調整されます。minZoomLevelは1.0f 未満に設定することはできません。デフォルト値は10.0f です。
アクセス関数:
| float | minZoomLevel() const |
| void | setMinZoomLevel(float zoomLevel) |
Notifierシグナル:
| void | minZoomLevelChanged(float zoomLevel) |
zoomLevel およびmaxZoomLevelも参照してください 。
[since QtDataVisualization 1.2] target : QVector3D
このプロパティは、3D空間におけるベクトルまたは頂点としてカメラターゲットを保持します。
デフォルト値は `QVector3D(0.0, 0.0, 0.0)` です。
有効な座標値の範囲は-1.0...1.0 です。ここで、範囲の両端の値は、対応する軸の範囲の端を示します。この範囲外の値は、範囲の端にクリップされます。
注: 棒グラフの場合 、Y 座標は無視され、カメラは常に水平な背景上の点をターゲットとします。
この列挙型は、QtDataVisualization 1.2で導入されました。
アクセス関数:
| QVector3D | target() const |
| void | setTarget(const QVector3D &target) |
Notifier シグナル:
| void | targetChanged(const QVector3D &target) |
wrapXRotation : bool
このプロパティは、X軸回転における最小値と最大値の挙動を指定します。
true に設定すると、カメラのX回転は最小値から最大値へ、そして最大値から最小値へとループします。false に設定すると、カメラのX回転は最小値と最大値によって決定される範囲内に制限されます。デフォルトではtrue に設定されています。
アクセス関数:
| bool | wrapXRotation() const |
| void | setWrapXRotation(bool isEnabled) |
通知シグナル:
| void | wrapXRotationChanged(bool isEnabled) |
wrapYRotation : bool
このプロパティは、Y軸回転における最小値と最大値の挙動を指定します。
true の場合、カメラのY回転は最小値から最大値へ、そして最大値から最小値へとループします。false の場合、カメラのY回転は最小値と最大値によって決定される範囲内に制限されます。デフォルトではtrue に設定されています。
アクセス関数:
| bool | wrapYRotation() const |
| void | setWrapYRotation(bool isEnabled) |
通知シグナル:
| void | wrapYRotationChanged(bool isEnabled) |
xRotation : float
このプロパティは、ターゲットポイントを中心としたカメラのX軸周りの回転角度(度単位)を保持します。
アクセス関数:
| float | xRotation() const |
| void | setXRotation(float rotation) |
通知シグナル:
| void | xRotationChanged(float rotation) |
yRotation : float
このプロパティは、ターゲットポイントを中心としたカメラのY軸周りの回転角度(度単位)を保持します。
アクセス関数:
| float | yRotation() const |
| void | setYRotation(float rotation) |
通知シグナル:
| void | yRotationChanged(float rotation) |
zoomLevel : float
このプロパティは、カメラのズームレベルをパーセンテージで保持します。
100.0f のデフォルト値は、カメラにズームインやズームアウトの設定がないことを意味します。この値は、minZoomLevel およびmaxZoomLevel プロパティによって制限されます。
アクセス関数:
| float | zoomLevel() const |
| void | setZoomLevel(float zoomLevel) |
通知シグナル:
| void | zoomLevelChanged(float zoomLevel) |
関連項目: minZoomLevel およびmaxZoomLevel 。
メンバ関数のドキュメント
[explicit] Q3DCamera::Q3DCamera(QObject *parent = nullptr)
デフォルトでは、原点に位置が設定され、上方向がY軸に向き、原点を見据えた新しい3Dカメラを構築します。オプションのparent パラメータを指定することができ、その場合はQObject のコンストラクタに渡されます。
[virtual noexcept] Q3DCamera::~Q3DCamera()
カメラオブジェクトを破棄します。
[override virtual] void Q3DCamera::copyValuesFrom(const Q3DObject &source)
Q3DObject::copyValuesFrom(const Q3DObject &source) を再実装します。
指定されたソースカメラから3Dカメラのプロパティをコピーします。値はsource からこのオブジェクトへコピーされます。
void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom = 100.0f)
カメラの回転と距離を設定するユーティリティ関数です。horizontal およびvertical は、使用するカメラの回転を定義します。オプションのzoom パラメータを指定することで、minZoomLevel およびmaxZoomLevel プロパティで定義された範囲内で、カメラのズーム率を設定できます。
© 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.