Module com.esri.arcgisruntime
Class TransformationMatrixCameraController
java.lang.Object
com.esri.arcgisruntime.mapping.view.CameraController
com.esri.arcgisruntime.mapping.view.TransformationMatrixCameraController
Support camera navigation by using TransformationMatrix. Provides navigation by using TransformationMatrix to control
the camera's location and rotation. This can be used with transformation matrices produced by Augmented Reality APIs
like ARCore.
- Since:
- 100.6.0
-
Constructor Summary
ConstructorDescriptionCreates an instance of TransformationMatrixCameraController.TransformationMatrixCameraController
(Camera originCamera) Creates an instance of TransformationMatrixCameraController from an origin Camera. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a listener for when the origin camera has changed.void
Adds a listener for when the translation factor has changed.double
Gets the clipping distance from the originCamera in metres.Returns Camera that describes the origin location.Gets the TransformationMatrix describing the current Camera's location relative to the origin camera.double
Gets the translation factor which will be multiplied into the TransformationMatrix.boolean
Removes an origin camera changed listener.boolean
Removes a translation factor changed listener.void
setClippingDistance
(double clippingDistance) Determines the clipping distance around the originCamera in metres.void
setOriginCamera
(Camera originCamera) Sets Camera that describes the origin location.void
setTransformationMatrix
(TransformationMatrix transformationMatrix) Sets the TransformationMatrix.void
setTranslationFactor
(double translationFactor) Sets the translation factor which will be multiplied into the TransformationMatrix.
-
Constructor Details
-
TransformationMatrixCameraController
public TransformationMatrixCameraController()Creates an instance of TransformationMatrixCameraController.When the controller is set on the scene view using
SceneView.setCameraController(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.- Since:
- 100.6.0
-
TransformationMatrixCameraController
Creates an instance of TransformationMatrixCameraController from an origin Camera.When the controller is set on the scene view using
SceneView.setCameraController(CameraController)
, the interaction mode will change for the active navigation model and be located at theTransformationMatrix
's location and point along its rotation.- Parameters:
originCamera
- the origin camera describing the original location- Throws:
IllegalArgumentException
- if originCamera is null- Since:
- 100.6.0
-
-
Method Details
-
getOriginCamera
Returns Camera that describes the origin location.- Returns:
- the origin camera describing the origin location
- Since:
- 100.6.0
-
setOriginCamera
Sets Camera that describes the origin location.- Parameters:
originCamera
- the origin camera describing the origin location- Throws:
IllegalArgumentException
- if the originCamera is null- Since:
- 100.6.0
-
getTransformationMatrix
Gets the TransformationMatrix describing the current Camera's location relative to the origin camera.- Returns:
- the TransformationMatrix describing the current Camera's location relative to the origin camera
- Since:
- 100.6.0
-
setTransformationMatrix
Sets the TransformationMatrix. This moves the camera relative to the origin camera's location and orientation.- Parameters:
transformationMatrix
- the TransformationMatrix describing the Camera's location relative to the origin camera- Throws:
IllegalArgumentException
- if the transformationMatrix is null- Since:
- 100.6.0
-
getTranslationFactor
public double getTranslationFactor()Gets the translation factor which will be multiplied into the TransformationMatrix. Defaults to 1.0. Note this does not affect Camera rotation.- Returns:
- the translation factor affecting the Camera translation
- Since:
- 100.6.0
-
setTranslationFactor
public void setTranslationFactor(double translationFactor) Sets the translation factor which will be multiplied into the TransformationMatrix. Setting the value to 3, for example, will cause position changes indicated by the TransformationMatrix property to be multiplied by 3. Note this does not affect Camera rotation.- Parameters:
translationFactor
- the translation factor to affect the Camera translation- Since:
- 100.6.0
-
getClippingDistance
public double getClippingDistance()Gets the clipping distance from the originCamera in metres. The clipping distance determines the rendering distance from the originCamera. The default value is 0.0.- Returns:
- the clipping distance from the originCamera in metres.
- Since:
- 100.7.0
-
setClippingDistance
public void setClippingDistance(double clippingDistance) Determines the clipping distance around the originCamera in metres. When the value is set to 0.0 there is no enforced clipping distance. Setting the value to 10.0 will only render things 10 metres around the originCamera.- Parameters:
clippingDistance
- the clipping distance around the originCamera in metres.- Since:
- 100.7.0
-
addOriginCameraChangedListener
Adds a listener for when the origin camera has changed.- Parameters:
listener
- the listener- Throws:
IllegalArgumentException
- if the listener is null- Since:
- 100.6.0
-
removeOriginCameraChangedListener
Removes an origin camera changed listener.- Parameters:
listener
- to remove- Returns:
- true if successful, otherwise false
- Since:
- 100.6.0
-
addTranslationFactorChangedListener
Adds a listener for when the translation factor has changed.- Parameters:
listener
- the listener- Throws:
IllegalArgumentException
- if the listener is null- Since:
- 100.6.0
-
removeTranslationFactorChangedListener
Removes a translation factor changed listener.- Parameters:
listener
- to remove- Returns:
- true if successful, otherwise false
- Since:
- 100.6.0
-