.. role:: ts-api-decorator

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

.. js:module:: cee
   :noindex:

.. container:: ts-api-section

   .. js:class:: 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.



.. container:: api-index-section

   .. rubric:: Constructors

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

   * :js:meth:`~cee.CameraAnimationSpinModel.constructor`



.. container:: api-index-section

   .. rubric:: Methods

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

   * :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`





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

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

.. container:: ts-api-section

   .. js:function:: CameraAnimationSpinModel.constructor( camera)

      :param camera: None
      :type camera: Camera


      Constructor with camera that is to be manipulated


      :rtype: CameraAnimationSpinModel



Methods
=======

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

isAbortableByUserNavigation
---------------------------

.. js:method:: CameraAnimationSpinModel.isAbortableByUserNavigation()



   Whether this camera animation should be aborted if user navigation/interaction is detected


   :rtype: boolean

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

isAnimationDone
---------------

.. js:method:: CameraAnimationSpinModel.isAnimationDone()



   Query if the camera animation is finished.


   :rtype: boolean

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

setFullRotationDuration
-----------------------

.. js:method:: CameraAnimationSpinModel.setFullRotationDuration( durationInSeconds)

   :param durationInSeconds: None
   :type durationInSeconds: number


   Set the duration, in seconds, of one complete 360 degree rotation


   :rtype: void

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

setIsAbortableByUserNavigation
------------------------------

.. js:method:: CameraAnimationSpinModel.setIsAbortableByUserNavigation( isAbortable)

   :param isAbortable: None
   :type isAbortable: boolean


   Set the duration, in seconds, of one complete 360 degree rotation


   :rtype: void

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

setRotationPointAndAxis
-----------------------

.. js:method:: CameraAnimationSpinModel.setRotationPointAndAxis( rotPoint, rotAxis)

   :param rotPoint: None
   :type rotPoint: Vec3Like
   :param rotAxis: None
   :type rotAxis: Vec3Like


   Set rotation point and rotation axis


   :rtype: void

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

setTargetFrameRate
------------------

.. js:method:: CameraAnimationSpinModel.setTargetFrameRate( framesPerSecond)

   :param framesPerSecond: None
   :type framesPerSecond: number


   Set the target camera animation speed in frames per second (max FPS)


   :rtype: void

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

updateCamera
------------

.. js:method:: CameraAnimationSpinModel.updateCamera( highResTimestamp_ms, isResumingAfterPause)

   :param highResTimestamp_ms: None
   :type highResTimestamp_ms: number
   :param isResumingAfterPause: None
   :type isResumingAfterPause: boolean


   Updates the camera


   :rtype: boolean

