Q3DCamera 类
3D空间中摄像机的表示。 更多...
| 头文件 | #include <Q3DCamera> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) | 
| qmake | QT += datavisualization | 
| 自 | QtDataVisualization 1.0 | 
| 由以下实例化 | Camera3D | 
| 继承 | Q3DObject | 
公共类型
| 枚举 | CameraPreset { CameraPresetNone, CameraPresetFrontLow, CameraPresetFront, CameraPresetFrontHigh, CameraPresetLeftLow, …, CameraPresetDirectlyBelow } | 
属性
| 
 | 
 | 
公共函数
| Q3DCamera(QObject *parent = nullptr) | |
| 虚拟 | ~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 | In Q3DBars from CameraPresetFrontBelow onward these only work for graphs including negative values. They act as Preset...Low for positive-only values. | 
| 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) | 
通知信号
| void | minZoomLevelChanged(float zoomLevel) | 
另请参阅zoomLevel 和 maxZoomLevel。
[自 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。
成员函数文档
[显式] Q3DCamera::Q3DCamera(QObject *parent = nullptr)
构建一个新的3D相机,其位置设置为原点,向上方向面向Y轴,默认情况下朝向原点。可以提供可选的 parent参数,并将其传递给QObject构造函数。
[虚拟不可抛异常] Q3DCamera::~Q3DCamera()
销毁相机对象。
[覆盖虚拟] 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属性定义的范围内)。
© 2024 The Qt Company Ltd. 本文档中的文档贡献的版权属于其各自的拥有者。本提供的文档根据GNU自由文档许可版本1.3的条款进行许可,该许可证由自由软件基金会发布。Qt和相应的标志是全球芬兰和其他国家的商标。所有其他商标都是其各自所有者的财产。