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

.. js:class:: cee.utils.ManipulatorTrackball

   
   Index
   =====
   
   .. rubric:: Constructors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~cee.utils.ManipulatorTrackball.constructor`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :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`
   
   



.. rst-class:: kind-group kind-constructors

.. rubric:: Constructors
   :class: kind-group-title


.. js:method:: cee.utils.ManipulatorTrackball.constructor

      .. rst-class:: sig-pretty-signature
      
         | ManipulatorTrackball(): :js:class:`ManipulatorTrackball <cee.utils.ManipulatorTrackball>`
      
      **Returns**\ : :js:class:`ManipulatorTrackball <cee.utils.ManipulatorTrackball>`
      



.. rst-class:: kind-group kind-methods

.. rubric:: Methods
   :class: kind-group-title


.. js:method:: cee.utils.ManipulatorTrackball.deltaMatrix

      .. rst-class:: sig-pretty-signature
      
         | deltaMatrix(): :js:class:`Mat4 <cee.Mat4>`
      
      Returns the relative translation of the view camera since the last updateTrackballCamera() call.
      
      **Returns**\ : :js:class:`Mat4 <cee.Mat4>`
      



.. js:method:: cee.utils.ManipulatorTrackball.endNavigation

      .. rst-class:: sig-pretty-signature
      
         | endNavigation(): *void*
      
      Ends and stops tracking the current navigation operation
      
      **Returns**\ : *void*
      



.. js:method:: cee.utils.ManipulatorTrackball.getCamera

      .. rst-class:: sig-pretty-signature
      
         | getCamera(): :js:class:`Camera <cee.Camera>`
      
      The camera tracked by the trackball manipulator.
      
      **Returns**\ : :js:class:`Camera <cee.Camera>`
      



.. js:method:: cee.utils.ManipulatorTrackball.getPrimaryNavigationType

      .. rst-class:: sig-pretty-signature
      
         | getPrimaryNavigationType(): :js:data:`NavigationType <cee.NavigationType>`
      
      Returns the primary navigation type used by the trackball manipulator.
      
      **Returns**\ : :js:data:`NavigationType <cee.NavigationType>`
      



.. js:method:: cee.utils.ManipulatorTrackball.setInvertZoomAndWalk

      .. rst-class:: sig-pretty-signature
      
         | setInvertZoomAndWalk(**invert**\ : *boolean*\ ): *void*
      
      Invert the zoom and walk direction
      
      **Parameters**
      
      
         **invert**\ : *boolean*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.utils.ManipulatorTrackball.setMinWalkTargetDistance

      .. rst-class:: sig-pretty-signature
      
         | setMinWalkTargetDistance(**distance**\ : *number*\ ): *void*
      
      Sets the minimum distance the camera can be from the target point when walking.
      
      **Parameters**
      
      
         **distance**\ : *number*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.utils.ManipulatorTrackball.setRotationAxis

      .. rst-class:: sig-pretty-signature
      
         | setRotationAxis(**rotAxis**\ : :js:class:`Vec3 <cee.Vec3>`\ ): *void*
      
      The rotation axis used by the trackball manipulator. Set null to not constrain the rotation to a specific axis.
      
      **Parameters**
      
      
         **rotAxis**\ : :js:class:`Vec3 <cee.Vec3>`
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.utils.ManipulatorTrackball.setRotationPoint

      .. rst-class:: sig-pretty-signature
      
         | setRotationPoint(**rotPoint**\ : :js:class:`Vec3 <cee.Vec3>`\ ): *void*
      
      The rotation point used by the trackball manipulator
      
      **Parameters**
      
      
         **rotPoint**\ : :js:class:`Vec3 <cee.Vec3>`
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.utils.ManipulatorTrackball.setRotationSensitivity

      .. rst-class:: sig-pretty-signature
      
         | setRotationSensitivity(**sensitivity**\ : *number*\ ): *void*
      
      Controls the sensitivity of the rotation operation.
      
      **Parameters**
      
      
         **sensitivity**\ : *number*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.utils.ManipulatorTrackball.setWalkSensitivity

      .. rst-class:: sig-pretty-signature
      
         | setWalkSensitivity(**sensitivity**\ : *number*\ ): *void*
      
      Controls the sensitivity of the walk operation.
      
      **Parameters**
      
      
         **sensitivity**\ : *number*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.utils.ManipulatorTrackball.startNavigation

      .. rst-class:: sig-pretty-signature
      
         | startNavigation(**navigationType**\ : :js:data:`NavigationType <cee.NavigationType>`\ , **x**\ : *number*\ , **y**\ : *number*\ ): *void*
      
      Begins the specified navigation type using the provided initial X/Y screen point
      
      **Parameters**
      
      
         **navigationType**\ : :js:data:`NavigationType <cee.NavigationType>`
      
         **x**\ : *number*
      
         **y**\ : *number*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.utils.ManipulatorTrackball.updateNavigation

      .. rst-class:: sig-pretty-signature
      
         | updateNavigation(**x**\ : *number*\ , **y**\ : *number*\ ): *boolean*
      
      Updates the current primary navigation operation with the new provided X/Y screen point compared to the previously provided X/Y screen point.
      
      **Parameters**
      
      
         **x**\ : *number*
      
         **y**\ : *number*
      
      
      **Returns**\ : *boolean*
      



.. js:method:: cee.utils.ManipulatorTrackball.updateTrackballCamera

      .. rst-class:: sig-pretty-signature
      
         | updateTrackballCamera(**viewCamera**\ : :js:class:`Camera <cee.Camera>`\ ): *void*
      
      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.
      
      **Parameters**
      
      
         **viewCamera**\ : :js:class:`Camera <cee.Camera>`
      
      
      **Returns**\ : *void*
      




