TransformationMatrixCameraController Class

  • TransformationMatrixCameraController
  • class Esri::ArcGISRuntime::TransformationMatrixCameraController

    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

    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.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.