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)

詳細説明

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)

通知シグナル:

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)

カメラの回転と距離を設定するユーティリティ関数です。horizontalvertical は使用するカメラの回転を定義します。オプションのパラメータzoom を指定すると、minZoomLevelmaxZoomLevel プロパティで定義された範囲内でカメラのズーム率を設定できます。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。