Support camera navigation by using TransformationMatrix. More...
Header: | #include <TransformationMatrixCameraController.h> |
Since: | Esri::ArcGISRuntime 100.6 |
Inherits: | Esri::ArcGISRuntime::CameraController |
Public Functions
TransformationMatrixCameraController(QObject *parent = nullptr) | |
TransformationMatrixCameraController(const Esri::ArcGISRuntime::Camera &originCamera, QObject *parent = nullptr) | |
virtual | ~TransformationMatrixCameraController() override |
double | clippingDistance() const |
Esri::ArcGISRuntime::Camera | originCamera() const |
void | setClippingDistance(double clippingDistance) |
void | setOriginCamera(const Esri::ArcGISRuntime::Camera &originCamera) |
void | setTransformationMatrix(Esri::ArcGISRuntime::TransformationMatrix *transformationMatrix) |
void | setTranslationFactor(double translationFactor) |
Esri::ArcGISRuntime::TransformationMatrix * | transformationMatrix() const |
double | translationFactor() const |
Signals
void | originCameraChanged() |
void | translationFactorChanged() |
Detailed Description
Transformation Matrix camera controller provides navigation by using TransformationMatrix to control the camera's location and rotation. You need to pass this object to all TransformationMatrixCameraController functions. This can be used with transformation matrices produced by AR APIs like ARKit and ARCore.
See also OrbitLocationCameraController, GlobeCameraController, and OrbitGeoElementCameraController.
Member Function Documentation
[explicit]
TransformationMatrixCameraController::TransformationMatrixCameraController (QObject *parent = nullptr)
Creates an TransformationMatrixCameraController object.
- parent - The optional parent QObject.
When the controller is set on the scene view using SceneView::cameraController, the interaction mode will change for the active navigation model and be located at the origin camera's location and point along its rotation. The default camera has no rotation and is located at 0,0,15e6 meters.
[explicit]
TransformationMatrixCameraController::TransformationMatrixCameraController (const Esri::ArcGISRuntime::Camera &originCamera , QObject *parent = nullptr)
Creates an TransformationMatrixCameraController with a Camera to describe the original location.
- originCamera - All following movements will be relative to the origin camera's location.
- parent - The optional parent QObject.
When the controller is set on the scene view using SceneView::cameraController, the interaction mode will change for the active navigation model and be located at the TransformationMatrix's location and point along its rotation.
[override virtual]
TransformationMatrixCameraController::~TransformationMatrixCameraController ()
Destructor.
[since Esri::ArcGISRuntime 100.7]
double TransformationMatrixCameraController::clippingDistance () const
Returns determines the clipping distance in meters around the originCamera.
The default is 0.0.
When the value is set to 0.0, there is no enforced clipping distance and therefore no limiting of displayed data. Setting the value to 10.0 will only render data 10 meters around the originCamera.
This function was introduced in Esri::ArcGISRuntime 100.7.
See also setClippingDistance().
Esri::ArcGISRuntime::Camera TransformationMatrixCameraController::originCamera () const
Returns the Camera that describes the original location.
Setting a new TransformationMatrix on the TransformationMatrixCameraController will move the camera relative to the origin camera's location and orientation.
See also setOriginCamera().
[signal]
void TransformationMatrixCameraController::originCameraChanged ()
Emitted when the originCamera property changes.
[since Esri::ArcGISRuntime 100.7]
void TransformationMatrixCameraController::setClippingDistance (double clippingDistance )
Sets the clippingDistance to clippingDistance.
This function was introduced in Esri::ArcGISRuntime 100.7.
See also clippingDistance.
void TransformationMatrixCameraController::setOriginCamera (const Esri::ArcGISRuntime::Camera &originCamera )
Sets the originCamera to originCamera.
See also originCamera.
void TransformationMatrixCameraController::setTransformationMatrix (Esri::ArcGISRuntime::TransformationMatrix *transformationMatrix )
Sets the transformationMatrix to transformationMatrix.
See also transformationMatrix.
void TransformationMatrixCameraController::setTranslationFactor (double translationFactor )
Sets the translationFactor to translationFactor.
See also translationFactor.
Esri::ArcGISRuntime::TransformationMatrix *TransformationMatrixCameraController::transformationMatrix () const
Returns the TransformationMatrix describes the current Camera's location relative to the origin camera.
The default value is a default constructed transformation matrix, using the values (0, 0, 0, 1) for x, y, z, w quaternion and (0, 0, 0) for x, y, z translations.
See also setTransformationMatrix().
double TransformationMatrixCameraController::translationFactor () const
Gets the translation factor.
The default value is 1.0.
This value will be multiplied into the TransformationMatrix property. Setting the value to 3 will cause position changes indicated by the transformation matrix property to be multiplied by 3. Note this does not affect Camera rotation.
Note: this does not affect the Camera rotation.
See also setTranslationFactor().
[signal]
void TransformationMatrixCameraController::translationFactorChanged ()
Emitted when the translationFactor property changes.