.. role:: ts-api-decorator

####################
ManipulatorTrackball
####################

.. js:module:: cee.utils
   :noindex:

.. container:: ts-api-section

   .. js:class:: ManipulatorTrackball



.. container:: api-index-section

   .. rubric:: Constructors

   .. rst-class:: api-index-list-item api-kind-constructor api-parent-kind-class

   * :js:meth:`~cee.utils.ManipulatorTrackball.constructor`



.. container:: api-index-section

   .. rubric:: Methods

   .. rst-class:: api-index-list-item api-kind-method api-parent-kind-class

   * :js:meth:`~cee.utils.ManipulatorTrackball.deltaMatrix`
   * :js:meth:`~cee.utils.ManipulatorTrackball.endNavigation`
   * :js:meth:`~cee.utils.ManipulatorTrackball.getCamera`
   * :js:meth:`~cee.utils.ManipulatorTrackball.getPrimaryNavigationType`
   * :js:meth:`~cee.utils.ManipulatorTrackball.setInvertZoomAndWalk`
   * :js:meth:`~cee.utils.ManipulatorTrackball.setMinWalkTargetDistance`
   * :js:meth:`~cee.utils.ManipulatorTrackball.setRotationAxis`
   * :js:meth:`~cee.utils.ManipulatorTrackball.setRotationPoint`
   * :js:meth:`~cee.utils.ManipulatorTrackball.setRotationSensitivity`
   * :js:meth:`~cee.utils.ManipulatorTrackball.setWalkSensitivity`
   * :js:meth:`~cee.utils.ManipulatorTrackball.startNavigation`
   * :js:meth:`~cee.utils.ManipulatorTrackball.updateNavigation`
   * :js:meth:`~cee.utils.ManipulatorTrackball.updateTrackballCamera`





------------

Constructors
============

.. container:: ts-api-section

   .. js:function:: ManipulatorTrackball.constructor()



      :rtype: ManipulatorTrackball



Methods
=======

.. rst-class:: ts-api-section

deltaMatrix
-----------

.. js:method:: ManipulatorTrackball.deltaMatrix()



   Returns the relative translation of the view camera since the last updateTrackballCamera() call.


   :rtype: Mat4

.. rst-class:: ts-api-section

endNavigation
-------------

.. js:method:: ManipulatorTrackball.endNavigation()



   Ends and stops tracking the current navigation operation


   :rtype: void

.. rst-class:: ts-api-section

getCamera
---------

.. js:method:: ManipulatorTrackball.getCamera()



   The camera tracked by the trackball manipulator.


   :rtype: Camera

.. rst-class:: ts-api-section

getPrimaryNavigationType
------------------------

.. js:method:: ManipulatorTrackball.getPrimaryNavigationType()



   Returns the primary navigation type used by the trackball manipulator.


   :rtype: NavigationType

.. rst-class:: ts-api-section

setInvertZoomAndWalk
--------------------

.. js:method:: ManipulatorTrackball.setInvertZoomAndWalk( invert)

   :param invert: None
   :type invert: boolean


   Invert the zoom and walk direction


   :rtype: void

.. rst-class:: ts-api-section

setMinWalkTargetDistance
------------------------

.. js:method:: ManipulatorTrackball.setMinWalkTargetDistance( distance)

   :param distance: None
   :type distance: number


   Sets the minimum distance the camera can be from the target point when walking.


   :rtype: void

.. rst-class:: ts-api-section

setRotationAxis
---------------

.. js:method:: ManipulatorTrackball.setRotationAxis( rotAxis)

   :param rotAxis: None
   :type rotAxis: Vec3


   The rotation axis used by the trackball manipulator. Set null to not constrain the rotation
   to a specific axis.


   :rtype: void

.. rst-class:: ts-api-section

setRotationPoint
----------------

.. js:method:: ManipulatorTrackball.setRotationPoint( rotPoint)

   :param rotPoint: None
   :type rotPoint: Vec3


   The rotation point used by the trackball manipulator


   :rtype: void

.. rst-class:: ts-api-section

setRotationSensitivity
----------------------

.. js:method:: ManipulatorTrackball.setRotationSensitivity( sensitivity)

   :param sensitivity: None
   :type sensitivity: number


   Controls the sensitivity of the rotation operation.


   :rtype: void

.. rst-class:: ts-api-section

setWalkSensitivity
------------------

.. js:method:: ManipulatorTrackball.setWalkSensitivity( sensitivity)

   :param sensitivity: None
   :type sensitivity: number


   Controls the sensitivity of the walk operation.


   :rtype: void

.. rst-class:: ts-api-section

startNavigation
---------------

.. js:method:: ManipulatorTrackball.startNavigation( navigationType, x, y)

   :param navigationType: None
   :type navigationType: NavigationType
   :param x: None
   :type x: number
   :param y: None
   :type y: number


   Begins the specified navigation type using the provided initial X/Y screen point


   :rtype: void

.. rst-class:: ts-api-section

updateNavigation
----------------

.. js:method:: ManipulatorTrackball.updateNavigation( x, y)

   :param x: None
   :type x: number
   :param y: None
   :type y: number


   Updates the current primary navigation operation with the new provided X/Y screen point compared
   to the previously provided X/Y screen point.


   :rtype: boolean

.. rst-class:: ts-api-section

updateTrackballCamera
---------------------

.. js:method:: ManipulatorTrackball.updateTrackballCamera( viewCamera)

   :param viewCamera: None
   :type viewCamera: Camera


   Provides the current state of the view camera to the trackball manipulator camera.
   This is used as a reference position to calculate the relative translation of the view camera.


   :rtype: void

