.. role:: clio-inherited
   :class: clio-flag clio-flag-inherited


###################
CameraOrbitOperator
###################

.. js:class:: wv.Operators.Camera.CameraOrbitOperator

   
   Index
   =====
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.addMapping`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.clearMapping`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.getBimOrbitEnabled`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.getCameraRotationMomentumEnabled`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.getMomentum`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.getMomentumLossPerSecond`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.getOrbitFallbackMode`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.getOrbitTarget`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.getPrimaryButton`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.isAnimating`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.isCurrentlyAnimating`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.setBimOrbitEnabled`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.setCameraRotationMomentumEnabled`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.setMapping`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.setMomentumLossPerSecond`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.setOrbitFallbackMode`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.setOrbitTarget`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.setPrimaryButton`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.stopAnimation`
   * :js:meth:`~wv.Operators.Camera.CameraOrbitOperator.supportsAnimation`
   
   



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

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


.. js:method:: wv.Operators.Camera.CameraOrbitOperator.addMapping

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | addMapping(**button**\ : :js:data:`Button <wv.Button>`\ , **modifier**\ : :js:data:`KeyModifiers <wv.KeyModifiers>`\ ?): *void*
      
      Adds a button and key modifier mapping for the operator. If no mapping is provided, all combinations are considered valid. All mappings require a mouse button, but a key modifier is optional.
      
      **Parameters**
      
      
         **button**\ : :js:data:`Button <wv.Button>`
      
         **modifier**\ : :js:data:`KeyModifiers <wv.KeyModifiers>` = KeyModifiers.None
      
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.clearMapping

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | clearMapping(): *void*
      
      Clears any button and key modifier mappings for the operator.
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.getBimOrbitEnabled

      .. rst-class:: sig-pretty-signature
      
         | getBimOrbitEnabled(): *boolean*
      
      Returns true if BIM orbit is enabled.
      
      **Returns**\ : *boolean*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.getCameraRotationMomentumEnabled

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | getCameraRotationMomentumEnabled(): *boolean*
      
      **Returns**\ : *boolean*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.getMomentum

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | getMomentum(): *number*
      
      **Returns**\ : *number*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.getMomentumLossPerSecond

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | getMomentumLossPerSecond(): *number*
      
      **Returns**\ : *number*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.getOrbitFallbackMode

      .. rst-class:: sig-pretty-signature
      
         | getOrbitFallbackMode(): :js:data:`OrbitFallbackMode <wv.OrbitFallbackMode>`
      
      Gets the orbit fallback mode.
      
      **Returns**\ : :js:data:`OrbitFallbackMode <wv.OrbitFallbackMode>`
      
      
         orbit fallback mode
      
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.getOrbitTarget

      .. rst-class:: sig-pretty-signature
      
         | getOrbitTarget(): :js:class:`Point3 <wv.Point3>`
      
      Gets the orbit target point.
      
      **Returns**\ : :js:class:`Point3 <wv.Point3>`
      
      
         orbit target
      
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.getPrimaryButton

      .. rst-class:: sig-pretty-signature
      
         | getPrimaryButton(): :js:data:`Button <wv.Button>`
      
      **Returns**\ : :js:data:`Button <wv.Button>`
      
      
         the primary orbit button
      
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.isAnimating

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | isAnimating(): *boolean*
      
      **Returns**\ : *boolean*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.isCurrentlyAnimating

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | isCurrentlyAnimating(): *boolean*
      
      **Returns**\ : *boolean*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.setBimOrbitEnabled

      .. rst-class:: sig-pretty-signature
      
         | setBimOrbitEnabled(**bimOrbitEnabled**\ : *boolean*\ ): *void*
      
      BIM orbit is intended to make orbiting building models easier. It slows the rotation speed, clamps vertical rotation to 180 degrees, and restricts horizontal rotation to rotate around the vertical axis.
      
      **Parameters**
      
      
         **bimOrbitEnabled**\ : *boolean*
      
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.setCameraRotationMomentumEnabled

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | setCameraRotationMomentumEnabled(**val**\ : *boolean*\ ): *void*
      
      **Parameters**
      
      
         **val**\ : *boolean*
      
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.setMapping

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | setMapping(**button**\ : :js:data:`Button <wv.Button>`\ , **modifier**\ : :js:data:`KeyModifiers <wv.KeyModifiers>`\ ?): *void*
      
      Sets the button and key modifier mapping for the operator.
      
      **Parameters**
      
      
         **button**\ : :js:data:`Button <wv.Button>`
      
         **modifier**\ : :js:data:`KeyModifiers <wv.KeyModifiers>` = KeyModifiers.None
      
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.setMomentumLossPerSecond

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | setMomentumLossPerSecond(**amountLost**\ : *number*\ ): *void*
      
      Sets proportion of momentum lost per second if camera rotation momentum is enabled. At 0 no momentum is lost and the camera will orbit indefinitely. Above 1 the camera will stop orbiting within a second of release. Only values greater than or equal to 0 are accepted.
      
      **Parameters**
      
      
         **amountLost**\ : *number*
      
      
            Proportion of momentum lost per second
      
      
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.setOrbitFallbackMode

      .. rst-class:: sig-pretty-signature
      
         | setOrbitFallbackMode(**fallbackMode**\ : :js:data:`OrbitFallbackMode <wv.OrbitFallbackMode>`\ ): *void*
      
      Sets the fallback mode. This is used to specify whether to orbit around a set target, the model center, or camera target.
      
      **Parameters**
      
      
         **fallbackMode**\ : :js:data:`OrbitFallbackMode <wv.OrbitFallbackMode>`
      
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.setOrbitTarget

      .. rst-class:: sig-pretty-signature
      
         | setOrbitTarget(**orbitTarget**\ : :js:class:`Point3 <wv.Point3>`\ ): *void*
      
      Sets the orbit target for the orbit fallback mode OrbitTarget.
      
      **Parameters**
      
      
         **orbitTarget**\ : :js:class:`Point3 <wv.Point3>`
      
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.setPrimaryButton

      .. rst-class:: sig-pretty-signature
      
         | setPrimaryButton(**button**\ : :js:data:`Button <wv.Button>`\ ): *void*
      
      Sets the primary mouse button. When this button is pressed, we will orbit around the selected point on the model. If there is no selected point, the orbit fallback mode will be used for orbit.
      
      **Parameters**
      
      
         **button**\ : :js:data:`Button <wv.Button>`
      
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.stopAnimation

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | stopAnimation(): *void*
      
      **Returns**\ : *void*
      



.. js:method:: wv.Operators.Camera.CameraOrbitOperator.supportsAnimation

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | supportsAnimation(): *boolean*
      
      **Returns**\ : *boolean*
      




