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) |
알림 신호:
| 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.