이 페이지에서

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)

알림 신호:

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.