このページでは

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::CameraPresetFrontLow0 
Q3DCamera::CameraPresetFront1 
Q3DCamera::CameraPresetFrontHigh2 
Q3DCamera::CameraPresetLeftLow3 
Q3DCamera::CameraPresetLeft4 
Q3DCamera::CameraPresetLeftHigh5 
Q3DCamera::CameraPresetRightLow6 
Q3DCamera::CameraPresetRight7 
Q3DCamera::CameraPresetRightHigh8 
Q3DCamera::CameraPresetBehindLow9 
Q3DCamera::CameraPresetBehind10 
Q3DCamera::CameraPresetBehindHigh11 
Q3DCamera::CameraPresetIsometricLeft12 
Q3DCamera::CameraPresetIsometricLeftHigh13 
Q3DCamera::CameraPresetIsometricRight14 
Q3DCamera::CameraPresetIsometricRightHigh15 
Q3DCamera::CameraPresetDirectlyAbove16 
Q3DCamera::CameraPresetDirectlyAboveCW4517 
Q3DCamera::CameraPresetDirectlyAboveCCW4518 
Q3DCamera::CameraPresetFrontBelow19CameraPresetFrontBelow以降のQ3DBarsは、負の値を含むグラフでのみ機能します。正の値のみの場合、これらはPreset...Lowとして動作します。
Q3DCamera::CameraPresetLeftBelow20 
Q3DCamera::CameraPresetRightBelow21 
Q3DCamera::CameraPresetBehindBelow22 
Q3DCamera::CameraPresetDirectlyBelow23正の値のみのバーでは、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.