Q3DCamera Class
3D空間におけるカメラの表現。詳細...
Header: | #include <Q3DCamera> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
qmake: | QT += datavisualization |
Since: | QtDataVisualization 1.0 |
In QML: | Camera3D |
Inherits: | 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) |
メンバ型ドキュメント
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) |
通知シグナル:
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 プロパティで定義された範囲内でカメラのズーム率を設定できます。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。