
########################
CameraAnimationSpinModel
########################

.. js:class:: cee.CameraAnimationSpinModel

   Camera animation for spinning the model around the given axis and point.
   
   The camera will keep its distance to the given rotation point and the current up vector. The animation will orbit the model giving the illusion that the model is spinning around the prescribed axis.
   
   The speed of the camera movement can be controlled with setting the duration of a full rotation.
   
   
   Index
   =====
   
   .. rubric:: Constructors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~cee.CameraAnimationSpinModel.constructor`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~cee.CameraAnimationSpinModel.isAbortableByUserNavigation`
   * :js:meth:`~cee.CameraAnimationSpinModel.isAnimationDone`
   * :js:meth:`~cee.CameraAnimationSpinModel.setFullRotationDuration`
   * :js:meth:`~cee.CameraAnimationSpinModel.setIsAbortableByUserNavigation`
   * :js:meth:`~cee.CameraAnimationSpinModel.setRotationPointAndAxis`
   * :js:meth:`~cee.CameraAnimationSpinModel.setTargetFrameRate`
   * :js:meth:`~cee.CameraAnimationSpinModel.updateCamera`
   
   



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

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


.. js:method:: cee.CameraAnimationSpinModel.constructor

      .. rst-class:: sig-pretty-signature
      
         | CameraAnimationSpinModel(**camera**\ : :js:class:`Camera <cee.Camera>`\ ): :js:class:`CameraAnimationSpinModel <cee.CameraAnimationSpinModel>`
      
      Constructor with camera that is to be manipulated
      
      **Parameters**
      
      
         **camera**\ : :js:class:`Camera <cee.Camera>`
      
      
      **Returns**\ : :js:class:`CameraAnimationSpinModel <cee.CameraAnimationSpinModel>`
      



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

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


.. js:method:: cee.CameraAnimationSpinModel.isAbortableByUserNavigation

      .. rst-class:: sig-pretty-signature
      
         | isAbortableByUserNavigation(): *boolean*
      
      Whether this camera animation should be aborted if user navigation/interaction is detected
      
      **Returns**\ : *boolean*
      



.. js:method:: cee.CameraAnimationSpinModel.isAnimationDone

      .. rst-class:: sig-pretty-signature
      
         | isAnimationDone(): *boolean*
      
      Query if the camera animation is finished.
      
      **Returns**\ : *boolean*
      



.. js:method:: cee.CameraAnimationSpinModel.setFullRotationDuration

      .. rst-class:: sig-pretty-signature
      
         | setFullRotationDuration(**durationInSeconds**\ : *number*\ ): *void*
      
      Set the duration, in seconds, of one complete 360 degree rotation
      
      **Parameters**
      
      
         **durationInSeconds**\ : *number*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.CameraAnimationSpinModel.setIsAbortableByUserNavigation

      .. rst-class:: sig-pretty-signature
      
         | setIsAbortableByUserNavigation(**isAbortable**\ : *boolean*\ ): *void*
      
      Set the duration, in seconds, of one complete 360 degree rotation
      
      **Parameters**
      
      
         **isAbortable**\ : *boolean*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.CameraAnimationSpinModel.setRotationPointAndAxis

      .. rst-class:: sig-pretty-signature
      
         | setRotationPointAndAxis(**rotPoint**\ : :js:class:`Vec3Like <cee.Vec3Like>`\ , **rotAxis**\ : :js:class:`Vec3Like <cee.Vec3Like>`\ ): *void*
      
      Set rotation point and rotation axis
      
      **Parameters**
      
      
         **rotPoint**\ : :js:class:`Vec3Like <cee.Vec3Like>`
      
         **rotAxis**\ : :js:class:`Vec3Like <cee.Vec3Like>`
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.CameraAnimationSpinModel.setTargetFrameRate

      .. rst-class:: sig-pretty-signature
      
         | setTargetFrameRate(**framesPerSecond**\ : *number*\ ): *void*
      
      Set the target camera animation speed in frames per second (max FPS)
      
      **Parameters**
      
      
         **framesPerSecond**\ : *number*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.CameraAnimationSpinModel.updateCamera

      .. rst-class:: sig-pretty-signature
      
         | updateCamera(**highResTimestamp_ms**\ : *number*\ , **isResumingAfterPause**\ : *boolean*\ ): *boolean*
      
      Updates the camera
      
      **Parameters**
      
      
         **highResTimestamp_ms**\ : *number*
      
         **isResumingAfterPause**\ : *boolean*
      
      
      **Returns**\ : *boolean*
      




