.. role:: ts-api-decorator

##########################
CameraKeyboardWalkOperator
##########################

.. js:module:: Operators.Camera
   :noindex:

.. container:: ts-api-section

   .. js:class:: CameraKeyboardWalkOperator



.. container:: api-index-section

   .. rubric:: Methods

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

   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.addKeyMapping`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.addMapping`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.clearKeyMappings`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.clearMapping`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.disableBimMode`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.enableBimMode`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getBimDoorConfig`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getBimFloorConfig`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getBimModeEnabled`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getBimWallConfig`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getElevationSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getKeyMapping`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getMajorAxis`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getMouseLookEnabled`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getMouseLookSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getRotationSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getTilt`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getViewAngle`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getWalkActive`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getWalkSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.getZoomSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.isBimModeEnabled`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.resetDefaultWalkSpeeds`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.rotateLeft`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.rotateRight`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setBimDoorConfig`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setBimFloorConfig`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setBimWallConfig`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setElevationSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setMapping`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setMouseLookEnabled`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setMouseLookSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setRotationSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setTilt`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setViewAngle`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setWalkSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.setZoomSpeed`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.tiltDown`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.tiltUp`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.toggleBimMode`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkBackward`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkBackwardWithCollision`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkDown`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkForward`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkForwardWithCollision`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkLeft`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkLeftWithCollision`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkRight`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkRightWithCollision`
   * :js:meth:`~Operators.Camera.CameraKeyboardWalkOperator.walkUp`





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

Methods
=======

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

addKeyMapping
-------------

.. js:method:: CameraKeyboardWalkOperator.addKeyMapping( key, walkDirection)

   :param key: None
   :type key: KeyCode
   :param walkDirection: None
   :type walkDirection: WalkDirection


   Adds a key mapping for a walk direction.


   :rtype: void

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

addMapping
----------

.. js:method:: CameraKeyboardWalkOperator.addMapping( button, modifier)

   :param button: None
   :type button: Button
   :param modifier: None
   :type modifier: KeyModifiers


   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.


   :rtype: void

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

clearKeyMappings
----------------

.. js:method:: CameraKeyboardWalkOperator.clearKeyMappings()



   Clears all key mappings.


   :rtype: void

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

clearMapping
------------

.. js:method:: CameraKeyboardWalkOperator.clearMapping()



   Clears any button and key modifier mappings for the operator.


   :rtype: void

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

disableBimMode
--------------

.. js:method:: CameraKeyboardWalkOperator.disableBimMode()



   Disables BIM mode, which includes collision detection


   :rtype: Promise <void>

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

enableBimMode
-------------

.. js:method:: CameraKeyboardWalkOperator.enableBimMode()



   Enables BIM mode, which includes collision detection


   :rtype: Promise <void>

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

getBimDoorConfig
----------------

.. js:method:: CameraKeyboardWalkOperator.getBimDoorConfig()



   Gets the door distance config used by BIM mode.
   See also: [[enableBimMode]].


   :rtype: DoorConfig

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

getBimFloorConfig
-----------------

.. js:method:: CameraKeyboardWalkOperator.getBimFloorConfig()



   Gets the floor distance config used by BIM mode.
   See also: [[enableBimMode]].


   :rtype: FloorConfig

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

getBimModeEnabled
-----------------

.. js:method:: CameraKeyboardWalkOperator.getBimModeEnabled()



   Returns true if BIM mode is currently active


   :rtype: boolean

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

getBimWallConfig
----------------

.. js:method:: CameraKeyboardWalkOperator.getBimWallConfig()



   Gets the wall distance config used by BIM mode.
   See also: [[enableBimMode]].


   :rtype: WallConfig

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

getElevationSpeed
-----------------

.. js:method:: CameraKeyboardWalkOperator.getElevationSpeed()



   Gets the elevation speed for moving the camera up and down.


   :rtype: number

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

getKeyMapping
-------------

.. js:method:: CameraKeyboardWalkOperator.getKeyMapping()



   Gets the walk direction key mapping.


   :rtype: Map <KeyCode, WalkDirection>

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

getMajorAxis
------------

.. js:method:: CameraKeyboardWalkOperator.getMajorAxis()



   Get major axis


   :rtype: Axis

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

getMouseLookEnabled
-------------------

.. js:method:: CameraKeyboardWalkOperator.getMouseLookEnabled()



   Gets whether the mouse look is enabled. If enabled, mouse move events will not continue down the operator stack.


   :rtype: boolean

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

getMouseLookSpeed
-----------------

.. js:method:: CameraKeyboardWalkOperator.getMouseLookSpeed()



   Gets the mouse look speed.


   :rtype: number

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

getRotationSpeed
----------------

.. js:method:: CameraKeyboardWalkOperator.getRotationSpeed()



   Gets the rotation speed for tilt and rotate.


   :rtype: number

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

getTilt
-------

.. js:method:: CameraKeyboardWalkOperator.getTilt()



   Gets the tilt value.


   :rtype: number

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

getViewAngle
------------

.. js:method:: CameraKeyboardWalkOperator.getViewAngle()



   Gets the view angle.


   :rtype: number

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

getWalkActive
-------------

.. js:method:: CameraKeyboardWalkOperator.getWalkActive()



   Returns true if walking is currently active


   :rtype: boolean

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

getWalkSpeed
------------

.. js:method:: CameraKeyboardWalkOperator.getWalkSpeed()



   Gets the walkSpeed for walking forward, backwards, left, and right.


   :rtype: number

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

getZoomSpeed
------------

.. js:method:: CameraKeyboardWalkOperator.getZoomSpeed()



   Gets the speed used when walking with the mouse scroll wheel.


   :rtype: number

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

isBimModeEnabled
----------------

.. js:method:: CameraKeyboardWalkOperator.isBimModeEnabled()



   :rtype: boolean

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

resetDefaultWalkSpeeds
----------------------

.. js:method:: CameraKeyboardWalkOperator.resetDefaultWalkSpeeds()



   Sets the walk, rotate, and mouse look speeds to the default values.


   :rtype: Promise <void>

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

rotateLeft
----------

.. js:method:: CameraKeyboardWalkOperator.rotateLeft( degrees)

   :param degrees: None
   :type degrees: number


   :rtype: void

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

rotateRight
-----------

.. js:method:: CameraKeyboardWalkOperator.rotateRight( degrees)

   :param degrees: None
   :type degrees: number


   :rtype: void

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

setBimDoorConfig
----------------

.. js:method:: CameraKeyboardWalkOperator.setBimDoorConfig( doorConfig)

   :param doorConfig: None
   :type doorConfig: DoorConfig


   Sets the door distance config used by BIM mode.


   :rtype: void

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

setBimFloorConfig
-----------------

.. js:method:: CameraKeyboardWalkOperator.setBimFloorConfig( floorConfig)

   :param floorConfig: None
   :type floorConfig: FloorConfig


   Sets the floor distance config used by BIM mode.
   See also: [[enableBimMode]].


   :rtype: void

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

setBimWallConfig
----------------

.. js:method:: CameraKeyboardWalkOperator.setBimWallConfig( wallConfig)

   :param wallConfig: None
   :type wallConfig: WallConfig


   Sets the wall distance config used by BIM mode.
   See also: [[enableBimMode]].


   :rtype: void

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

setElevationSpeed
-----------------

.. js:method:: CameraKeyboardWalkOperator.setElevationSpeed( elevationSpeed)

   :param elevationSpeed: The camera will move by elevationSpeed per second.
   :type elevationSpeed: number


   Sets the elevation speed for moving the camera up and down.


   :rtype: void

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

setMapping
----------

.. js:method:: CameraKeyboardWalkOperator.setMapping( button, modifier)

   :param button: None
   :type button: Button
   :param modifier: None
   :type modifier: KeyModifiers


   Sets the button and key modifier mapping for the operator.


   :rtype: void

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

setMouseLookEnabled
-------------------

.. js:method:: CameraKeyboardWalkOperator.setMouseLookEnabled( mouseLookEnabled)

   :param mouseLookEnabled: None
   :type mouseLookEnabled: boolean


   Sets whether the mouse look is enabled. If enabled, mouse move events will not continue down the operator stack.


   :rtype: void

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

setMouseLookSpeed
-----------------

.. js:method:: CameraKeyboardWalkOperator.setMouseLookSpeed( mouseLookSpeed)

   :param mouseLookSpeed: None
   :type mouseLookSpeed: number


   Sets the speed for mouse look.


   :rtype: void

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

setRotationSpeed
----------------

.. js:method:: CameraKeyboardWalkOperator.setRotationSpeed( rotationSpeed)

   :param rotationSpeed: The camera will rotate by rotationSpeed degrees per second.
   :type rotationSpeed: number


   Sets the rotation speed for tilt and rotate.


   :rtype: void

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

setTilt
-------

.. js:method:: CameraKeyboardWalkOperator.setTilt( tilt)

   :param tilt: None
   :type tilt: number


   Sets the tilt value. Values must be between -45 and 45 degrees.


   :rtype: void

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

setViewAngle
------------

.. js:method:: CameraKeyboardWalkOperator.setViewAngle( degrees)

   :param degrees: None
   :type degrees: number


   Sets the view angle. Values must be between 30 and 150 degrees.


   :rtype: void

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

setWalkSpeed
------------

.. js:method:: CameraKeyboardWalkOperator.setWalkSpeed( walkSpeed)

   :param walkSpeed: The camera will move by walkSpeed per second.
   :type walkSpeed: number


   Sets the walkSpeed for walking forward, backwards, left, and right.


   :rtype: void

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

setZoomSpeed
------------

.. js:method:: CameraKeyboardWalkOperator.setZoomSpeed( zoomSpeed)

   :param zoomSpeed: distance for walking with the mouse scroll wheel.
   :type zoomSpeed: number


   Sets the speed to walk when using the mouse scroll wheel.


   :rtype: void

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

tiltDown
--------

.. js:method:: CameraKeyboardWalkOperator.tiltDown( degrees)

   :param degrees: None
   :type degrees: number


   :rtype: void

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

tiltUp
------

.. js:method:: CameraKeyboardWalkOperator.tiltUp( degrees)

   :param degrees: None
   :type degrees: number


   :rtype: void

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

toggleBimMode
-------------

.. js:method:: CameraKeyboardWalkOperator.toggleBimMode()



   Toggles BIM mode, deactivating it if it's activated and activating it if it's deactivated


   :rtype: Promise <void>

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

walkBackward
------------

.. js:method:: CameraKeyboardWalkOperator.walkBackward( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: void

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

walkBackwardWithCollision
-------------------------

.. js:method:: CameraKeyboardWalkOperator.walkBackwardWithCollision( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: Promise <void>

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

walkDown
--------

.. js:method:: CameraKeyboardWalkOperator.walkDown( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: void

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

walkForward
-----------

.. js:method:: CameraKeyboardWalkOperator.walkForward( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: void

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

walkForwardWithCollision
------------------------

.. js:method:: CameraKeyboardWalkOperator.walkForwardWithCollision( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: Promise <void>

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

walkLeft
--------

.. js:method:: CameraKeyboardWalkOperator.walkLeft( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: void

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

walkLeftWithCollision
---------------------

.. js:method:: CameraKeyboardWalkOperator.walkLeftWithCollision( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: Promise <void>

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

walkRight
---------

.. js:method:: CameraKeyboardWalkOperator.walkRight( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: void

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

walkRightWithCollision
----------------------

.. js:method:: CameraKeyboardWalkOperator.walkRightWithCollision( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: Promise <void>

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

walkUp
------

.. js:method:: CameraKeyboardWalkOperator.walkUp( walkDistance)

   :param walkDistance: None
   :type walkDistance: number


   :rtype: void

