.. role:: ts-api-decorator

####
View
####

.. container:: ts-api-section

   .. js:class:: View



.. container:: api-index-section

   .. rubric:: Properties

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

   * :js:attr:`~View.domElements`
   * :js:attr:`~View.floorplanManager`
   * :js:attr:`~View.operatorManager`
   * :js:attr:`~View.overlayManager`



.. container:: api-index-section

   .. rubric:: Accessors

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

   * :js:attr:`~View.axisTriad`
   * :js:attr:`~View.id`
   * :js:attr:`~View.inputMonitor`
   * :js:attr:`~View.navCube`



.. container:: api-index-section

   .. rubric:: Methods

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

   * :js:meth:`~View.addLight`
   * :js:meth:`~View.advanceIncrementalSelection`
   * :js:meth:`~View.beginConvexPolyhedronSelection`
   * :js:meth:`~View.beginRayDrillSelection`
   * :js:meth:`~View.beginScreenSelectByArea`
   * :js:meth:`~View.beginSphereSelection`
   * :js:meth:`~View.centerCameraOnNode`
   * :js:meth:`~View.clearLights`
   * :js:meth:`~View.compositePickFromPoint`
   * :js:meth:`~View.endComparison`
   * :js:meth:`~View.endIncrementalSelection`
   * :js:meth:`~View.fitBounding`
   * :js:meth:`~View.fitNodes`
   * :js:meth:`~View.fitWorld`
   * :js:meth:`~View.getAmbientLightColor`
   * :js:meth:`~View.getAmbientOcclusionEnabled`
   * :js:meth:`~View.getAmbientOcclusionRadius`
   * :js:meth:`~View.getAntiAliasingMode`
   * :js:meth:`~View.getAxisTriad`
   * :js:meth:`~View.getBackfacesVisible`
   * :js:meth:`~View.getBackgroundColor`
   * :js:meth:`~View.getBloomEnabled`
   * :js:meth:`~View.getBloomIntensityScale`
   * :js:meth:`~View.getBloomLayers`
   * :js:meth:`~View.getBloomThreshold`
   * :js:meth:`~View.getBloomThresholdRampWidth`
   * :js:meth:`~View.getBoundingCalculationIgnoresInvisible`
   * :js:meth:`~View.getCamera`
   * :js:meth:`~View.getCanvasSize`
   * :js:meth:`~View.getDrawMode`
   * :js:meth:`~View.getDrawStrategy`
   * :js:meth:`~View.getEyeDomeLightingBlurEdgeDistance`
   * :js:meth:`~View.getEyeDomeLightingBlurInterval`
   * :js:meth:`~View.getEyeDomeLightingBlurSamples`
   * :js:meth:`~View.getEyeDomeLightingEnabled`
   * :js:meth:`~View.getEyeDomeLightingOpacity`
   * :js:meth:`~View.getEyeDomeLightingShadingEdgeDistance`
   * :js:meth:`~View.getFaceVisibility`
   * :js:meth:`~View.getFullCameraMatrix`
   * :js:meth:`~View.getGoochBaseColorProminence`
   * :js:meth:`~View.getGoochBlue`
   * :js:meth:`~View.getGoochLuminanceShiftStrength`
   * :js:meth:`~View.getGoochYellow`
   * :js:meth:`~View.getGroundPlane`
   * :js:meth:`~View.getHardEdgeColor`
   * :js:meth:`~View.getHardEdgeOpacity`
   * :js:meth:`~View.getHardEdgeThreshold`
   * :js:meth:`~View.getHardEdgeThresholdRampWidth`
   * :js:meth:`~View.getHardEdgesEnabled`
   * :js:meth:`~View.getHiddenLineSettings`
   * :js:meth:`~View.getImageBasedLightingEnabled`
   * :js:meth:`~View.getImageBasedLightingIntensity`
   * :js:meth:`~View.getImageBasedLightingOrientation`
   * :js:meth:`~View.getInteractiveDrawLimitIncreaseEnabled`
   * :js:meth:`~View.getLight`
   * :js:meth:`~View.getLightKeys`
   * :js:meth:`~View.getLightingEnabled`
   * :js:meth:`~View.getLineJitterEnabled`
   * :js:meth:`~View.getLineJitterFrequency`
   * :js:meth:`~View.getLineJitterInstanceCount`
   * :js:meth:`~View.getLineJitterRadius`
   * :js:meth:`~View.getLineVisibility`
   * :js:meth:`~View.getMassageExtremeCameras`
   * :js:meth:`~View.getNavCube`
   * :js:meth:`~View.getPointShape`
   * :js:meth:`~View.getPointSize`
   * :js:meth:`~View.getProjectionMatrix`
   * :js:meth:`~View.getProjectionMode`
   * :js:meth:`~View.getSilhouetteColor`
   * :js:meth:`~View.getSilhouetteEnabled`
   * :js:meth:`~View.getSilhouetteOpacity`
   * :js:meth:`~View.getSilhouetteThreshold`
   * :js:meth:`~View.getSilhouetteThresholdRampWidth`
   * :js:meth:`~View.getSimpleReflectionAttenuation`
   * :js:meth:`~View.getSimpleReflectionBlurInterval`
   * :js:meth:`~View.getSimpleReflectionBlurSamples`
   * :js:meth:`~View.getSimpleReflectionEnabled`
   * :js:meth:`~View.getSimpleReflectionFadeAngle`
   * :js:meth:`~View.getSimpleReflectionOpacity`
   * :js:meth:`~View.getSimpleShadowBlurInterval`
   * :js:meth:`~View.getSimpleShadowBlurSamples`
   * :js:meth:`~View.getSimpleShadowColor`
   * :js:meth:`~View.getSimpleShadowEnabled`
   * :js:meth:`~View.getSimpleShadowInteractiveUpdateEnabled`
   * :js:meth:`~View.getSimpleShadowOpacity`
   * :js:meth:`~View.getSimpleShadowResolution`
   * :js:meth:`~View.getToonShadingBandCount`
   * :js:meth:`~View.getToonShadingSpecularFactor`
   * :js:meth:`~View.getViewMatrix`
   * :js:meth:`~View.getViewOrientationCamera`
   * :js:meth:`~View.injectViewOrientationChangeEvent`
   * :js:meth:`~View.isolateNodes`
   * :js:meth:`~View.pickAllFromPoint`
   * :js:meth:`~View.pickAllFromRay`
   * :js:meth:`~View.pickFromPoint`
   * :js:meth:`~View.pickFromRay`
   * :js:meth:`~View.pointToWindowPosition`
   * :js:meth:`~View.projectPoint`
   * :js:meth:`~View.raycastFromPoint`
   * :js:meth:`~View.redraw`
   * :js:meth:`~View.removeLight`
   * :js:meth:`~View.resetCamera`
   * :js:meth:`~View.setAmbientLightColor`
   * :js:meth:`~View.setAmbientOcclusionEnabled`
   * :js:meth:`~View.setAmbientOcclusionRadius`
   * :js:meth:`~View.setAntiAliasingMode`
   * :js:meth:`~View.setBackfacesVisible`
   * :js:meth:`~View.setBackgroundColor`
   * :js:meth:`~View.setBloomEnabled`
   * :js:meth:`~View.setBloomIntensityScale`
   * :js:meth:`~View.setBloomLayers`
   * :js:meth:`~View.setBloomThreshold`
   * :js:meth:`~View.setBloomThresholdRampWidth`
   * :js:meth:`~View.setBoundingCalculationIgnoresInvisible`
   * :js:meth:`~View.setCamera`
   * :js:meth:`~View.setDisplayIncompleteFrames`
   * :js:meth:`~View.setDrawMode`
   * :js:meth:`~View.setEyeDomeLightingBlurEdgeDistance`
   * :js:meth:`~View.setEyeDomeLightingBlurInterval`
   * :js:meth:`~View.setEyeDomeLightingBlurSamples`
   * :js:meth:`~View.setEyeDomeLightingEnabled`
   * :js:meth:`~View.setEyeDomeLightingOpacity`
   * :js:meth:`~View.setEyeDomeLightingShadingEdgeDistance`
   * :js:meth:`~View.setFaceVisibility`
   * :js:meth:`~View.setGoochBaseColorProminence`
   * :js:meth:`~View.setGoochBlue`
   * :js:meth:`~View.setGoochLuminanceShiftStrength`
   * :js:meth:`~View.setGoochYellow`
   * :js:meth:`~View.setGroundPlane`
   * :js:meth:`~View.setHardEdgeColor`
   * :js:meth:`~View.setHardEdgeOpacity`
   * :js:meth:`~View.setHardEdgeThreshold`
   * :js:meth:`~View.setHardEdgeThresholdRampWidth`
   * :js:meth:`~View.setHardEdgesEnabled`
   * :js:meth:`~View.setImageBasedLightingEnabled`
   * :js:meth:`~View.setImageBasedLightingEnvironment`
   * :js:meth:`~View.setImageBasedLightingIntensity`
   * :js:meth:`~View.setImageBasedLightingOrientation`
   * :js:meth:`~View.setInitialCamera`
   * :js:meth:`~View.setInteractiveDrawDelay`
   * :js:meth:`~View.setInteractiveDrawLimitIncreaseEnabled`
   * :js:meth:`~View.setLightingEnabled`
   * :js:meth:`~View.setLineJitterEnabled`
   * :js:meth:`~View.setLineJitterFrequency`
   * :js:meth:`~View.setLineJitterInstanceCount`
   * :js:meth:`~View.setLineJitterRadius`
   * :js:meth:`~View.setLineVisibility`
   * :js:meth:`~View.setMassageExtremeCameras`
   * :js:meth:`~View.setMinimumFramerate`
   * :js:meth:`~View.setPointShape`
   * :js:meth:`~View.setPointSize`
   * :js:meth:`~View.setPointVisibilityTest`
   * :js:meth:`~View.setProjectionMode`
   * :js:meth:`~View.setSilhouetteColor`
   * :js:meth:`~View.setSilhouetteEnabled`
   * :js:meth:`~View.setSilhouetteOpacity`
   * :js:meth:`~View.setSilhouetteThreshold`
   * :js:meth:`~View.setSilhouetteThresholdRampWidth`
   * :js:meth:`~View.setSimpleReflectionAttenuation`
   * :js:meth:`~View.setSimpleReflectionBlurInterval`
   * :js:meth:`~View.setSimpleReflectionBlurSamples`
   * :js:meth:`~View.setSimpleReflectionEnabled`
   * :js:meth:`~View.setSimpleReflectionFadeAngle`
   * :js:meth:`~View.setSimpleReflectionOpacity`
   * :js:meth:`~View.setSimpleShadowBlurInterval`
   * :js:meth:`~View.setSimpleShadowBlurSamples`
   * :js:meth:`~View.setSimpleShadowColor`
   * :js:meth:`~View.setSimpleShadowEnabled`
   * :js:meth:`~View.setSimpleShadowInteractiveUpdateEnabled`
   * :js:meth:`~View.setSimpleShadowOpacity`
   * :js:meth:`~View.setSimpleShadowResolution`
   * :js:meth:`~View.setStatisticsDisplayVisibility`
   * :js:meth:`~View.setToonShadingBandCount`
   * :js:meth:`~View.setToonShadingSpecularFactor`
   * :js:meth:`~View.setTransparencyMode`
   * :js:meth:`~View.setViewOrientation`
   * :js:meth:`~View.setXRayColor`
   * :js:meth:`~View.setXRayOpacity`
   * :js:meth:`~View.setXRayTransparencyMode`
   * :js:meth:`~View.startComparison`
   * :js:meth:`~View.testPointVisibility`
   * :js:meth:`~View.unprojectPoint`
   * :js:meth:`~View.unsetDefaultCamera`
   * :js:meth:`~View.unsetXRayColor`
   * :js:meth:`~View.updateCamera`
   * :js:meth:`~View.updateLight`





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

Properties
==========

.. container:: ts-api-section

   .. js:attribute:: View.domElements

      :type: DomElements





.. container:: ts-api-section

   .. js:attribute:: View.floorplanManager

      :type: FloorplanManager





.. container:: ts-api-section

   .. js:attribute:: View.operatorManager

      :type: OperatorManager





.. container:: ts-api-section

   .. js:attribute:: View.overlayManager

      :type: OverlayManager





Accessors
=========

.. container:: ts-api-section

   .. js:function:: axisTriad()
      :noindex:



      :rtype: AxisTriad



.. container:: ts-api-section

   .. js:function:: id()
      :noindex:



      :rtype: number



.. container:: ts-api-section

   .. js:function:: inputMonitor()
      :noindex:



      :rtype: InputMonitor



.. container:: ts-api-section

   .. js:function:: navCube()
      :noindex:



      :rtype: NavCube



Methods
=======

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

addLight
--------

.. js:method:: View.addLight( light)

   :param light: None
   :type light: Light


   Adds a light to the scene. The returned promise may be rejected if
   there are too many lights in the scene. See [[Light]].

   See also:
    - [[clearLights]]
    - [[removeLight]]
    - [[updateLight]]
    - [[setAmbientLightColor]]


   :rtype: Promise <LightKey>

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

advanceIncrementalSelection
---------------------------

.. js:method:: View.advanceIncrementalSelection( handle)

   :param handle: The handle to an active area selection context.
   :type handle: IncrementalSelectionId


   Returns the next batch of geometry selected by the supplied selection context.

   :returns: Returns selected items. If the resulting list is null then there are no more items to select.


   :rtype: Promise <null | [NodeSelectionItem]>

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

beginConvexPolyhedronSelection
------------------------------

.. js:method:: View.beginConvexPolyhedronSelection( volumePlanes, heuristicOrigin, config)

   :param volumePlanes: The planes used to define volume. A point p is inside the volume if and only if (plane.determineSide(p) == true) for all supplied planes.
   :type volumePlanes: [Plane]
   :param heuristicOrigin: A point used to compute distances against for prioritizing returned results. This is typically (but not necessarily) the center of the volume.
   :type heuristicOrigin: Point3
   :param config: The configuration object used for this selection operation.
   :type config: IncrementalPickConfig


   Creates a new and active selection context for the provided selection volume.
   The selection volume is a convex polyhedron defined by the bounded intersection of its half-spaces.

   :returns: The handle for the selection context.


   :rtype: Promise <IncrementalSelectionId>

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

beginRayDrillSelection
----------------------

.. js:method:: View.beginRayDrillSelection( rayCssOrigin, rayCssBoxRadius, config)

   :param rayCssOrigin: The coordinate in CSS pixel space for the selection ray's origin.
   :type rayCssOrigin: Point2
   :param rayCssBoxRadius: The radius around the ray in CSS pixel space used for line and point selection proximity.
   :type rayCssBoxRadius: number
   :param config: The configuration object used for this selection operation.
   :type config: IncrementalPickConfig


   Creates a new and active selection context for the provided selection ray.
   The ray is created at the supplied ray origin and is cast into the scene.
   Faces are selected if they lie along the ray.
   Lines and points are selected if they lie within the ray's box radius.

   Note: Somewhat confusingly ray drill selection is actually a selection by volume.
   The provided ray origin and radius are used to create a frustum to preform the selection.
   This has some consequences. For example, the ``SelectionResult``s returned by advancing a
   ray drill selection will not have selection positions, since they were not selected at
   a single point.

   :returns: The handle for the selection context.


   :rtype: Promise <IncrementalSelectionId>

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

beginScreenSelectByArea
-----------------------

.. js:method:: View.beginScreenSelectByArea( areaCssMin, areaCssMax, config)

   :param areaCssMin: The minimum coodinate in CSS pixel space for the selection window.
   :type areaCssMin: Point2
   :param areaCssMax: The maximum coodinate in CSS pixel space for the selection window.
   :type areaCssMax: Point2
   :param config: The configuration object used for this selection operation.
   :type config: IncrementalPickConfig


   Creates a new and active selection context for the provided selection window.

   :returns: The handle for the selection context.


   :rtype: Promise <IncrementalSelectionId>

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

beginSphereSelection
--------------------

.. js:method:: View.beginSphereSelection( sphereCenter, sphereRadius, config)

   :param sphereCenter: The center of the selection sphere.
   :type sphereCenter: Point3
   :param sphereRadius: The radius of the selection sphere.
   :type sphereRadius: number
   :param config: The configuration object used for this selection operation.
   :type config: IncrementalPickConfig


   Creates a new and active selection context for the provided selection sphere.

   :returns: The handle for the selection context.


   :rtype: Promise <IncrementalSelectionId>

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

centerCameraOnNode
------------------

.. js:method:: View.centerCameraOnNode( nodeId, duration, camera)

   :param nodeId: None
   :type nodeId: number
   :param duration: the number of milliseconds to transition to the new camera.
   :type duration: number
   :param camera: None
   :type camera: Camera


   Centers the camera on a specified node id.


   :rtype: Promise <void>

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

clearLights
-----------

.. js:method:: View.clearLights()



   Removes all lights from the scene. When there are no lights,
   material colors are drawn at full intensity. This has the same
   visual effect as calling ``setLightingEnabled(false)``.

   See also:
    - [[InstanceModifier.DoNotLight]]
    - [[setLightingEnabled]]


   :rtype: void

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

compositePickFromPoint
----------------------

.. js:method:: View.compositePickFromPoint( point, config)

   :param point: Canvas position to pick from.
   :type point: Point2
   :param config: The configuration object used for this picking operation.
   :type config: PickConfig


   Performs a composite picking operation.  This operation will return all candidate Node entities according to the PickConfig.

   :returns: An object containing the result of the picking operation.


   :rtype: Promise <CompositeSelectionItem>

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

endComparison
-------------

.. js:method:: View.endComparison()



   Disables a visual comparison of two sets of nodes enabled by
   [[startComparison]].


   :rtype: void

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

endIncrementalSelection
-----------------------

.. js:method:: View.endIncrementalSelection( handle)

   :param handle: The selection context to destroy.
   :type handle: IncrementalSelectionId


   Deactivates and destroys the provided selection context.


   :rtype: Promise <void>

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

fitBounding
-----------

.. js:method:: View.fitBounding( bounding, duration, camera)

   :param bounding: bounding box to fit the camera.
   :type bounding: Box
   :param duration: Time in milliseconds for the camera transition to the new camera view.
   :type duration: number
   :param camera: None
   :type camera: Camera


   Fits the camera to the bounding box.

   :returns: A promise that will be resolved once the transition is complete.


   :rtype: Promise <void>

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

fitNodes
--------

.. js:method:: View.fitNodes( ids, duration)

   :param ids: None
   :type ids: [number]
   :param duration: Time in milliseconds for the camera transition to the new camera view.
   :type duration: number


   Fits the camera to the bounding box containing the node ids.

   :returns: A promise that will be resolved once the transition is complete.


   :rtype: Promise <void>

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

fitWorld
--------

.. js:method:: View.fitWorld( duration[, camera])

   :param duration: the number of milliseconds to transition to the new camera.
   :type duration: number
   :param camera: :ts-api-decorator:`optional` None
   :type camera: Camera


   Fits the view to the model bounding box.

   :returns: A promise that will be resolved once the transition is complete.


   :rtype: Promise <void>

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

getAmbientLightColor
--------------------

.. js:method:: View.getAmbientLightColor()



   Gets the color of the ambient light applied to the scene.

   See also [[setAmbientLightColor]].


   :rtype: Color

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

getAmbientOcclusionEnabled
--------------------------

.. js:method:: View.getAmbientOcclusionEnabled()





   :returns: boolean value indicating whether ambient occlusion is enabled


   :rtype: boolean

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

getAmbientOcclusionRadius
-------------------------

.. js:method:: View.getAmbientOcclusionRadius()





   :returns: the ambient occlusion radius


   :rtype: number

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

getAntiAliasingMode
-------------------

.. js:method:: View.getAntiAliasingMode()



   Gets the anti-aliasing mode for the scene. The Default value is AntiAliasingMode.SMAA

   :returns: the current anti-aliasing mode.


   :rtype: AntiAliasingMode

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

getAxisTriad
------------

.. js:method:: View.getAxisTriad()



   :rtype: AxisTriad

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

getBackfacesVisible
-------------------

.. js:method:: View.getBackfacesVisible()



   Gets whether backfaces are being rendered in the scene.

   :returns: Boolean value indicating whether backfaces are being rendered in the scene.


   :rtype: boolean

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

getBackgroundColor
------------------

.. js:method:: View.getBackgroundColor()



   Returns the background colors of the canvas.

   :returns: the canvas background colors.


   :rtype: VerticalGradient

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

getBloomEnabled
---------------

.. js:method:: View.getBloomEnabled()



   Returns whether bloom is enabled.

   See [[setBloomEnabled]].


   :rtype: boolean

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

getBloomIntensityScale
----------------------

.. js:method:: View.getBloomIntensityScale()



   Gets the intensity of the bloom effect.

   See [[setBloomIntensityScale]].


   :rtype: number

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

getBloomLayers
--------------

.. js:method:: View.getBloomLayers()



   Returns an array of objects describing each layer in the bloom
   effect.

   See [[setBloomLayers]].


   :rtype: [BloomLayerInfo]

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

getBloomThreshold
-----------------

.. js:method:: View.getBloomThreshold()



   Returns the minimum luminance value a pixel must have for it to
   contribute to bloom.

   See [[setBloomThreshold]], [[getBloomThresholdRampWidth]].


   :rtype: number

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

getBloomThresholdRampWidth
--------------------------

.. js:method:: View.getBloomThresholdRampWidth()



   Returns how much greater than the threshold set by [[setBloomThreshold]]
   a pixel's luminance value must be before it contributes fully to
   the bloom effect.

   See [[setBloomThresholdRampWidth]].


   :rtype: number

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

getBoundingCalculationIgnoresInvisible
--------------------------------------

.. js:method:: View.getBoundingCalculationIgnoresInvisible()





   :returns: whether or not bounding calculations by this View object ignores invisible geometry.


   :rtype: boolean

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

getCamera
---------

.. js:method:: View.getCamera()



   Gets the current camera

   :returns: the current camera


   :rtype: Camera

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

getCanvasSize
-------------

.. js:method:: View.getCanvasSize()



   Returns the size of the viewer canvas.

   :returns: the current size of the viewer canvas.


   :rtype: Point2

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

getDrawMode
-----------

.. js:method:: View.getDrawMode()





   :returns: The current draw mode


   :rtype: DrawMode

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

getDrawStrategy
---------------

.. js:method:: View.getDrawStrategy()



   Gets the draw strategy.

   :returns: The current draw strategy.


   :rtype: DrawStrategy

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

getEyeDomeLightingBlurEdgeDistance
----------------------------------

.. js:method:: View.getEyeDomeLightingBlurEdgeDistance()



   Returns a value that controls the maximum Z-distance between samples taken by
   the blur filter used in eye-dome lighting for point clouds.
   The value is a proportion of the screen size.


   :rtype: Promise <number>

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

getEyeDomeLightingBlurInterval
------------------------------

.. js:method:: View.getEyeDomeLightingBlurInterval()



   Returns the distance in pixels between samples taken by the blur filter used in eye-dome lighting
   for point clouds.


   :rtype: Promise <number>

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

getEyeDomeLightingBlurSamples
-----------------------------

.. js:method:: View.getEyeDomeLightingBlurSamples()



   Returns the diameter of the blur filter used in eye-dome lighting for point clouds.
   A value of 0 means that blurring is disabled.


   :rtype: Promise <number>

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

getEyeDomeLightingEnabled
-------------------------

.. js:method:: View.getEyeDomeLightingEnabled()





   :returns: boolean value indicating if eye-dome lighting is enabled or disabled.


   :rtype: Promise <boolean>

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

getEyeDomeLightingOpacity
-------------------------

.. js:method:: View.getEyeDomeLightingOpacity()



   Returns the opacity of the shading rendered by eye-dome lighting for point clouds.
   The value is in the range [0,1].


   :rtype: Promise <number>

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

getEyeDomeLightingShadingEdgeDistance
-------------------------------------

.. js:method:: View.getEyeDomeLightingShadingEdgeDistance()



   Returns a value that controls the shading contrast in eye-dome lighting for point clouds.
   The value is a number of pixels.


   :rtype: Promise <number>

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

getFaceVisibility
-----------------

.. js:method:: View.getFaceVisibility()



   Gets the face visibility for the view.

   :returns: whether faces are currently being drawn.


   :rtype: boolean

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

getFullCameraMatrix
-------------------

.. js:method:: View.getFullCameraMatrix()



   This is equivalent to (projectionMatrix * viewMatrix).

   :returns: The current full camera matrix.


   :rtype: Matrix

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

getGoochBaseColorProminence
---------------------------

.. js:method:: View.getGoochBaseColorProminence()



   Gets the prominence of the object's base color in Gooch shading.


   :rtype: number

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

getGoochBlue
------------

.. js:method:: View.getGoochBlue()



   Gets the value to use as the blue tone in Gooch shading.


   :rtype: number

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

getGoochLuminanceShiftStrength
------------------------------

.. js:method:: View.getGoochLuminanceShiftStrength()



   Gets the strength of the luminance shift in Gooch shading.


   :rtype: number

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

getGoochYellow
--------------

.. js:method:: View.getGoochYellow()



   Gets the value to use as the yellow tone in Gooch shading.


   :rtype: number

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

getGroundPlane
--------------

.. js:method:: View.getGroundPlane()



   Returns information about the invisible ground plane onto which
   simple shadows and reflections are projected.

   See also:
    - [[setGroundPlane]]


   :rtype: GroundPlane

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

getHardEdgeColor
----------------

.. js:method:: View.getHardEdgeColor()



   Returns the color of hard edges.

   See also:
   - [[setHardEdgeColor]]
   - [[setHardEdgesEnabled]]


   :rtype: Color

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

getHardEdgeOpacity
------------------

.. js:method:: View.getHardEdgeOpacity()



   Returns the opacity of hard edges.

   See also:
   - [[setHardEdgeOpacity]]
   - [[setHardEdgesEnabled]]


   :rtype: number

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

getHardEdgeThreshold
--------------------

.. js:method:: View.getHardEdgeThreshold()



   Returns the angle threshold for hard edges. Edges will be drawn
   between two faces whose normals diverge beyond this angle.

   See also:
   - [[setHardEdgeThreshold]]
   - [[setHardEdgeThresholdRampWidth]]
   - [[setHardEdgesEnabled]]


   :rtype: number

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

getHardEdgeThresholdRampWidth
-----------------------------

.. js:method:: View.getHardEdgeThresholdRampWidth()



   Returns the value set by [[setHardEdgeThresholdRampWidth]].

   This value is added to the one set by [[setHardEdgeThreshold]] to
   create a secondary threshold. Angles greater than the secondary
   threshold will result in edges with full opacity, and angles between
   the two thresholds will result in edges with reduced opacity.

   A value of ``0`` means that all edges are drawn at full opacity.

   See also:
   - [[setHardEdgeThresholdRampWidth]]
   - [[setHardEdgesEnabled]]


   :rtype: number

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

getHardEdgesEnabled
-------------------

.. js:method:: View.getHardEdgesEnabled()



   Returns whether hard edges are enabled. Hard edges are edges between
   two faces whose normals diverge beyond a given angle.

   Hard edges are always enabled in hidden line mode, regardless of the
   return value.

   See [[setHardEdgesEnabled]].


   :rtype: boolean

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

getHiddenLineSettings
---------------------

.. js:method:: View.getHiddenLineSettings()





   :returns: a [[HiddenLineSettings]] object.


   :rtype: HiddenLineSettings

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

getImageBasedLightingEnabled
----------------------------

.. js:method:: View.getImageBasedLightingEnabled()



   Returns whether image-based lighting is enabled for physically-based
   materials.

   See also:
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingIntensity]]
   - [[setImageBasedLightingOrientation]]


   :rtype: boolean

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

getImageBasedLightingIntensity
------------------------------

.. js:method:: View.getImageBasedLightingIntensity()



   Returns the intensity (brightness) of image-based lighting applied to
   physically-based materials.

   The default value is 1.

   See also:
   - [[setImageBasedLightingIntensity]]
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingOrientation]]


   :rtype: number

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

getImageBasedLightingOrientation
--------------------------------

.. js:method:: View.getImageBasedLightingOrientation()



   Returns the orientation of the image-based lighting environment
   applied to physically-based materials.

   See also:
   - [[setImageBasedLightingOrientation]]
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingIntensity]]


   :rtype: ImageBasedLightingOrientation

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

getInteractiveDrawLimitIncreaseEnabled
--------------------------------------

.. js:method:: View.getInteractiveDrawLimitIncreaseEnabled()



   Gets whether or not the viewer will periodically attempt to increase the amount drawn during interaction.

   :returns: boolean value indicating whether this feature is enabled or not


   :rtype: Promise <boolean>

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

getLight
--------

.. js:method:: View.getLight( key)

   :param key: The key of the light to get.
   :type key: LightKey


   Get a Light given its key if it exists.

   :returns: A Light given its key if it exists.


   :rtype: Promise <undefined | Light>

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

getLightKeys
------------

.. js:method:: View.getLightKeys()



   Get the list of light keys in the scene.

   :returns: The list of light keys in the scene.


   :rtype: Promise <[LightKey]>

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

getLightingEnabled
------------------

.. js:method:: View.getLightingEnabled()



   Returns whether lighting is enabled.

   See also [[setLightingEnabled]].


   :rtype: boolean

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

getLineJitterEnabled
--------------------

.. js:method:: View.getLineJitterEnabled()



   Returns whether line jitter is enabled.

   Line jitter makes lines look 'sketchy' by drawing them multiple times
   with randomized offsets applied to the vertices.

   See also:
   - [[setLineJitterEnabled]]
   - [[getLineJitterInstanceCount]]
   - [[getLineJitterRadius]]
   - [[getLineJitterFrequency]]


   :rtype: boolean

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

getLineJitterFrequency
----------------------

.. js:method:: View.getLineJitterFrequency()



   Returns the frequency of the noise used to offset line vertices when
   line jitter is enabled. The default value is 5.

   See also:
   - [[getLineJitterEnabled]]
   - [[getLineJitterInstanceCount]]
   - [[getLineJitterRadius]]
   - [[setLineJitterFrequency]]


   :rtype: number

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

getLineJitterInstanceCount
--------------------------

.. js:method:: View.getLineJitterInstanceCount()



   Returns the number of times lines are drawn when line jitter is
   enabled. The default value is 4.

   See also:
   - [[getLineJitterEnabled]]
   - [[setLineJitterInstanceCount]]
   - [[getLineJitterRadius]]
   - [[getLineJitterFrequency]]


   :rtype: number

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

getLineJitterRadius
-------------------

.. js:method:: View.getLineJitterRadius()



   Returns the radius of the random offset applied to line vertices when
   line jitter is enabled. The default value is 0.005.

   The value is specified as a proportion of the canvas height, where 1
   means the full height of the canvas.

   See also:
   - [[getLineJitterEnabled]]
   - [[getLineJitterInstanceCount]]
   - [[setLineJitterRadius]]
   - [[getLineJitterFrequency]]


   :rtype: number

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

getLineVisibility
-----------------

.. js:method:: View.getLineVisibility()



   Gets the line visibility for the view.

   :returns: whether lines are currently being drawn.


   :rtype: boolean

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

getMassageExtremeCameras
------------------------

.. js:method:: View.getMassageExtremeCameras()



   :rtype: boolean

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

getNavCube
----------

.. js:method:: View.getNavCube()



   :rtype: NavCube

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

getPointShape
-------------

.. js:method:: View.getPointShape()



   Gets the PointShape. See [[PointShape]]


   :rtype: Promise <PointShape>

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

getPointSize
------------

.. js:method:: View.getPointSize()



   Gets the diameter of rendered points. See [[PointSizeUnit]].


   :rtype: Promise <(number, PointSizeUnit)>

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

getProjectionMatrix
-------------------

.. js:method:: View.getProjectionMatrix()



   Gets the projection matrix.

   :returns: The current projection matrix.


   :rtype: Matrix

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

getProjectionMode
-----------------

.. js:method:: View.getProjectionMode()



   Gets the projection mode.

   :returns: The current projection mode.


   :rtype: Projection

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

getSilhouetteColor
------------------

.. js:method:: View.getSilhouetteColor()



   Returns the color of silhouette edges.

   See also:
   - [[setSilhouetteColor]]
   - [[setSilhouetteEnabled]]


   :rtype: Color

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

getSilhouetteEnabled
--------------------

.. js:method:: View.getSilhouetteEnabled()



   Returns whether silhouette edges are enabled.

   Silhouette edges are always enabled in hidden line mode, regardless
   of the return value.

   See [[setSilhouetteEnabled]].


   :rtype: boolean

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

getSilhouetteOpacity
--------------------

.. js:method:: View.getSilhouetteOpacity()



   Returns the opacity of silhouette edges.

   See also:
   - [[setSilhouetteOpacity]]
   - [[setSilhouetteEnabled]]


   :rtype: number

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

getSilhouetteThreshold
----------------------

.. js:method:: View.getSilhouetteThreshold()



   Returns the distance threshold for silhouette edges. This value
   affects the minimum z-distance required between two pixels
   for an edge to be drawn. A smaller value will result in more edges
   being drawn on finer details.

   The value is a proportion of the canvas size and not a world-space
   distance.

   See also:
   - [[setSilhouetteThreshold]]
   - [[setSilhouetteThresholdRampWidth]]
   - [[setSilhouetteEnabled]]


   :rtype: number

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

getSilhouetteThresholdRampWidth
-------------------------------

.. js:method:: View.getSilhouetteThresholdRampWidth()



   Returns the value set by [[setSilhouetteThresholdRampWidth]].

   This value is added to the one set by [[setSilhouetteThreshold]]
   to create a secondary threshold. Distances greater than the
   secondary threshold will result in edges with full opacity, and
   distances between the two thresholds will result in edges with
   reduced opacity.

   A value of ``0`` means that all edges are drawn at full opacity.

   See also:
   - [[setSilhouetteThresholdRampWidth]]
   - [[setSilhouetteEnabled]]


   :rtype: number

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

getSimpleReflectionAttenuation
------------------------------

.. js:method:: View.getSimpleReflectionAttenuation()



   Returns properties that control how objects drawn in simple
   reflections fade as they move further from the ground plane.

   Attenuation begins at ``nearDistance`` and increases linearly
   such that the model is not visible in the reflection beyond
   ``farDistance``.

   Attenuation is disabled if ``farDistance`` is less than or equal to
   ``nearDistance``.

   See also:
    - [[setSimpleReflectionAttenuation]]
    - [[setSimpleReflectionEnabled]]

   :returns: An object with the following properties:


   :rtype: function

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

getSimpleReflectionBlurInterval
-------------------------------

.. js:method:: View.getSimpleReflectionBlurInterval()



   Returns the distance between samples taken by the blur filter used
   for simple reflections.

   See also:
    - [[setSimpleReflectionBlurInterval]]
    - [[setSimpleReflectionEnabled]]


   :rtype: (number, BlurIntervalUnit)

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

getSimpleReflectionBlurSamples
------------------------------

.. js:method:: View.getSimpleReflectionBlurSamples()



   Returns the diameter of the blur filter used for simple reflections.
   A value less than or equal to ``1`` means that blurring is disabled.

   See also:
   - [[setSimpleReflectionBlurSamples]]
   - [[setSimpleReflectionEnabled]]


   :rtype: number

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

getSimpleReflectionEnabled
--------------------------

.. js:method:: View.getSimpleReflectionEnabled()



   Returns whether simple reflections are enabled.

   See [[setSimpleReflectionEnabled]].


   :rtype: boolean

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

getSimpleReflectionFadeAngle
----------------------------

.. js:method:: View.getSimpleReflectionFadeAngle()



   Returns the angle, in degrees, between the view vector and the ground
   plane at which simple reflections begin to fade.

   A value to ``0`` means that the fading effect is disabled.

   Regardless of the value, simple reflections will not be drawn
   if the camera is below the ground plane.

   See also:
   - [[setSimpleReflectionFadeAngle]]
   - [[setSimpleReflectionEnabled]]


   :rtype: number

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

getSimpleReflectionOpacity
--------------------------

.. js:method:: View.getSimpleReflectionOpacity()



   Returns the opacity of simple reflections.

   See also:
    - [[setSimpleReflectionOpacity]]
    - [[setSimpleReflectionEnabled]]


   :rtype: number

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

getSimpleShadowBlurInterval
---------------------------

.. js:method:: View.getSimpleShadowBlurInterval()



   Returns the distance in pixels between samples taken by the blur
   filter used for simple shadows.

   See also:
    - [[setSimpleShadowBlurInterval]]
    - [[setSimpleShadowEnabled]]


   :rtype: number

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

getSimpleShadowBlurSamples
--------------------------

.. js:method:: View.getSimpleShadowBlurSamples()



   Returns the diameter of the blur filter used for simple shadows.

   See also:
    - [[setSimpleShadowBlurSamples]]
    - [[setSimpleShadowEnabled]]


   :rtype: number

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

getSimpleShadowColor
--------------------

.. js:method:: View.getSimpleShadowColor()



   Returns the color of simple shadows.

   See also:
    - [[setSimpleShadowColor]]
    - [[setSimpleShadowEnabled]]


   :rtype: Color

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

getSimpleShadowEnabled
----------------------

.. js:method:: View.getSimpleShadowEnabled()



   Returns whether simple shadows are enabled.

   See [[setSimpleShadowEnabled]].


   :rtype: boolean

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

getSimpleShadowInteractiveUpdateEnabled
---------------------------------------

.. js:method:: View.getSimpleShadowInteractiveUpdateEnabled()



   Returns whether simple shadows will be updated during user
   interaction.

   See also:
    - [[setSimpleShadowInteractiveUpdateEnabled]]
    - [[setSimpleShadowEnabled]]


   :rtype: boolean

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

getSimpleShadowOpacity
----------------------

.. js:method:: View.getSimpleShadowOpacity()



   Returns the opacity of simple shadows.

   See also:
    - [[setSimpleShadowOpacity]]
    - [[setSimpleShadowEnabled]]


   :rtype: number

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

getSimpleShadowResolution
-------------------------

.. js:method:: View.getSimpleShadowResolution()



   Returns the width and height in pixels of the texture image
   into which simple shadows are drawn.

   See also:
    - [[getSimpleShadowResolution]]
    - [[setSimpleShadowEnabled]]


   :rtype: number

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

getToonShadingBandCount
-----------------------

.. js:method:: View.getToonShadingBandCount()



   Gets the current number of discrete shading bands that will be used when toon shading is enabled.


   :rtype: number

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

getToonShadingSpecularFactor
----------------------------

.. js:method:: View.getToonShadingSpecularFactor()



   Gets the current toon shading specular scale factor.


   :rtype: number

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

getViewMatrix
-------------

.. js:method:: View.getViewMatrix()



   Gets the view matrix.

   :returns: The current view matrix.


   :rtype: Matrix

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

getViewOrientationCamera
------------------------

.. js:method:: View.getViewOrientationCamera( orientation[, bounding, preserveModelUp])

   :param orientation: The desired view orientation for the camera.
   :type orientation: ViewOrientation
   :param bounding: :ts-api-decorator:`optional` Optional bounding to fit the camera about. If not supplied, the model bounding will be used.
   :type bounding: Box
   :param preserveModelUp: None
   :type preserveModelUp: boolean


   Returns a camera set to a ViewOrientation


   :rtype: Promise <Camera>

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

injectViewOrientationChangeEvent
--------------------------------

.. js:method:: View.injectViewOrientationChangeEvent()



   hidden


   :rtype: void

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

isolateNodes
------------

.. js:method:: View.isolateNodes( nodeIds, duration, fitNodes, initiallyHiddenStayHidden)

   :param nodeIds: An array of the node IDs to be isolated.
   :type nodeIds: [number]
   :param duration: Time in milliseconds for the camera transition to the new camera view.
   :type duration: number
   :param fitNodes: If true, then the view is fitted around the isolated nodes.
   :type fitNodes: boolean
   :param initiallyHiddenStayHidden: Controls whether or not initially hidden geometries stay hidden. Default behavior is driven by [[setBehaviorInitiallyHidden]].
   :type initiallyHiddenStayHidden: null | boolean


   Hides all nodes except those specified. Also fits the camera to those nodes' bounding box.


   :rtype: Promise <void>

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

pickAllFromPoint
----------------

.. js:method:: View.pickAllFromPoint( point, config)

   :param point: Canvas position to pick from.
   :type point: Point2
   :param config: The configuration object used for this picking operation.
   :type config: PickConfig


   Performs a picking operation from the given position on the canvas. All candidate entities are returned.
   This method does not trigger a selection event.
   This method will reject if the point is outside the canvas area.

   :returns: An object containing the result of the picking operation.


   :rtype: Promise <[NodeEntitySelectionItem]>

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

pickAllFromRay
--------------

.. js:method:: View.pickAllFromRay( ray, config)

   :param ray: The world-space ray to perform the selection with.
   :type ray: Ray
   :param config: The configuration object used for this picking operation.
   :type config: PickConfig


   Performs a selection operation from the given world-space ray. All candidate entities are returned.
   This method does not trigger a selection event.

   :returns: An object containing the result of the picking operation.


   :rtype: Promise <[NodeEntitySelectionItem]>

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

pickFromPoint
-------------

.. js:method:: View.pickFromPoint( point, config)

   :param point: Canvas position to pick from.
   :type point: Point2
   :param config: The configuration object used for this picking operation.
   :type config: PickConfig


   Performs a picking operation from the given position on the canvas. The best candidate entity is be returned.
   This method does not trigger a selection event.
   This method will reject if the point is outside the canvas area.

   :returns: An object containing the result of the picking operation.


   :rtype: Promise <SelectionItem>

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

pickFromRay
-----------

.. js:method:: View.pickFromRay( ray, config)

   :param ray: The world-space ray to perform the selection with.
   :type ray: Ray
   :param config: The configuration object used for this picking operation.
   :type config: PickConfig


   Performs a selection operation from the given world-space ray. The best candidate entity is be returned.
   This method does not trigger a selection event.

   :returns: An object containing the result of the picking operation.


   :rtype: Promise <SelectionItem>

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

pointToWindowPosition
---------------------

.. js:method:: View.pointToWindowPosition( pt)

   :param pt: None
   :type pt: Point2


   Creates a normalized window position in the range of (-1, 1) for a given point in window space.

   :returns: the normalized window position


   :rtype: Point2

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

projectPoint
------------

.. js:method:: View.projectPoint( source[, camera])

   :param source: None
   :type source: Point3
   :param camera: :ts-api-decorator:`optional` if a camera is provided, its projection and view matrix will be used.
   :type camera: Camera


   Projects a 3d world space point to a 3d screen space point.

   :returns: point projected into 3d screen space.


   :rtype: Point3

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

raycastFromPoint
----------------

.. js:method:: View.raycastFromPoint( point)

   :param point: The (X, Y) viewport position.
   :type point: Point2


   Creates a ray based on a viewport position.

   :returns: The ray if it was generated, otherwise null.


   :rtype: null | Ray

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

redraw
------

.. js:method:: View.redraw([ callback])

   :param callback: :ts-api-decorator:`optional` A function to be called once the draw is complete. This is provided instead of a ``Promise`` to ensure the callback is called before the start of another redraw.
   :type callback: function


   Forces the a redraw of this view.


   :rtype: void




   .. js:function:: callback()
      :noindex:



      :rtype: void



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

removeLight
-----------

.. js:method:: View.removeLight( key)

   :param key: None
   :type key: LightKey


   removes a light from the scene. See [[Light]].

   See also:
    - [[addLight]]
    - [[clearLights]]
    - [[updateLight]]


   :rtype: void

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

resetCamera
-----------

.. js:method:: View.resetCamera( duration)

   :param duration: the amount of time in milliseconds that the camera transition between the current and initial view should take.
   :type duration: number


   Resets the camera to the initial view of the model when first loaded.


   :rtype: Promise <void>

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

setAmbientLightColor
--------------------

.. js:method:: View.setAmbientLightColor( value)

   :param value: None
   :type value: Color


   Sets the color of the ambient light applied to the scene.
   This is a constant source of light that affects every point
   in the scene in the same way regardless of position
   or surface normal.

   See also [[getAmbientLightColor]].


   :rtype: void

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

setAmbientOcclusionEnabled
--------------------------

.. js:method:: View.setAmbientOcclusionEnabled( enabled)

   :param enabled: sets whether ambient occlusion will be enabled
   :type enabled: boolean


   Sets whether ambient occlusion is enabled


   :rtype: Promise <void>

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

setAmbientOcclusionRadius
-------------------------

.. js:method:: View.setAmbientOcclusionRadius( radius)

   :param radius: the ambient occlusion radius.
   :type radius: number


   Sets the ambient occlusion radius. This value represents the maximum screen-proportional distance between two points such that one will cast a shadow on the other.


   :rtype: Promise <void>

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

setAntiAliasingMode
-------------------

.. js:method:: View.setAntiAliasingMode( antiAliasingMode)

   :param antiAliasingMode: None
   :type antiAliasingMode: AntiAliasingMode


   Sets the anti-aliasing mode for the scene.


   :rtype: Promise <void>

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

setBackfacesVisible
-------------------

.. js:method:: View.setBackfacesVisible( visible)

   :param visible: Boolean value indicating whether backfaces should be rendered.
   :type visible: boolean


   Sets whether backfaces should be rendered in the scene.

   :returns: Promise that is resolved when this operation has completed.


   :rtype: Promise <void>

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

setBackgroundColor
------------------

.. js:method:: View.setBackgroundColor( top, bottom)

   :param top: the top color for the the background gradient.
   :type top: null | Color
   :param bottom: the bottom color for the the background gradient.
   :type bottom: null | Color


   Sets the viewer background color to a gradient interpolating from the top to bottom color.
   For a solid color, the top and bottom color should have the same values.
   Background Transparency is only available with client-side rendering.
   To re-enable a transparent background, pass null to the parameters of this function.

   When draw mode is set to ``DrawMode.HiddenLine``, the background color is defined in ``HiddenLineSettings HiddenLineSettings``.
   See ``HiddenLineSettings.setBackgroundColor HiddenLineSettings.setBackgroundColor``.

   :returns: a promise that resolves when the operation has completed.


   :rtype: Promise <void>

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

setBloomEnabled
---------------

.. js:method:: View.setBloomEnabled( value)

   :param value: None
   :type value: boolean


   Sets whether bloom is enabled.

   See [[getBloomEnabled]].


   :rtype: void

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

setBloomIntensityScale
----------------------

.. js:method:: View.setBloomIntensityScale( value)

   :param value: None
   :type value: number


   Sets the intensity of the bloom effect. This value is multiplied
   by the intensities of the individual layers set by [[setBloomLayers]].

   See [[getBloomIntensityScale]].


   :rtype: void

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

setBloomLayers
--------------

.. js:method:: View.setBloomLayers( layers)

   :param layers: None
   :type layers: [BloomLayerInfo]


   Sets the number of layers in the bloom effect and the layers'
   attributes.

   The bloom effect is achieved by applying a luminance filter to the
   source image, then progressively downsampling, blurring, and adding
   the results together. The result of each downsample/blur operation is
   fed into the next, which is executed at half the resolution of the
   previous. The number of stages and the behavior of each stage
   are controlled by this function.

   See [[BloomLayerInfo]], [[getBloomLayers]].


   :rtype: void

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

setBloomThreshold
-----------------

.. js:method:: View.setBloomThreshold( value)

   :param value: None
   :type value: number


   Sets the minimum luminance value a pixel must have for it to
   contribute to bloom. The value should be in the range ``[0,1]``.

   See [[getBloomThreshold]], [[setBloomThresholdRampWidth]].


   :rtype: void

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

setBloomThresholdRampWidth
--------------------------

.. js:method:: View.setBloomThresholdRampWidth( value)

   :param value: None
   :type value: number


   Sets how much greater than the threshold set by [[setBloomThreshold]]
   a pixel's luminance value must be before it contributes fully to
   the bloom effect.

   If the pixel's luminance value does not exceed
   the threshold by at least the amount set by this function,
   the pixel's contribution will be diminished based on how close
   its luminance value is to the threshold.

   See [[getBloomThresholdRampWidth]].


   :rtype: void

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

setBoundingCalculationIgnoresInvisible
--------------------------------------

.. js:method:: View.setBoundingCalculationIgnoresInvisible( value)

   :param value: None
   :type value: boolean


   Sets whether or not bounding calculations by this View object ignores invisible geometry.


   :rtype: void

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

setCamera
---------

.. js:method:: View.setCamera( camera, duration)

   :param camera: the camera to set
   :type camera: null | Camera
   :param duration: camera transition time in milliseconds
   :type duration: number


   Sets the current camera


   :rtype: boolean

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

setDisplayIncompleteFrames
--------------------------

.. js:method:: View.setDisplayIncompleteFrames( value)

   :param value: None
   :type value: boolean


   Sets whether intermediate frames of an incremental draw will be displayed. (default: true)

   If false, the image will only be displayed once completely drawn, except immediately
   after certain operations, such as setting the camera. To disable these exceptions,
   call [[setInteractiveDrawDelay]] with a value of 0.


   :rtype: Promise <void>

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

setDrawMode
-----------

.. js:method:: View.setDrawMode( drawMode)

   :param drawMode: The drawing mode to set.
   :type drawMode: DrawMode


   Sets the drawing mode for the scene.


   :rtype: Promise <void>

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

setEyeDomeLightingBlurEdgeDistance
----------------------------------

.. js:method:: View.setEyeDomeLightingBlurEdgeDistance( value)

   :param value: None
   :type value: number


   Controls the maximum Z-distance between samples taken by the blur filter used in eye-dome
   lighting for point clouds. The value is taken as a proportion of the screen size.
   Decreasing the value will result in sharper edges, and increasing the value will result
   in softer edges. (default: .03)


   :rtype: Promise <void>

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

setEyeDomeLightingBlurInterval
------------------------------

.. js:method:: View.setEyeDomeLightingBlurInterval( value)

   :param value: None
   :type value: number


   Sets the distance in pixels between samples taken by the blur filter used in eye-dome lighting
   for point clouds. (default: 1)


   :rtype: Promise <void>

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

setEyeDomeLightingBlurSamples
-----------------------------

.. js:method:: View.setEyeDomeLightingBlurSamples( value)

   :param value: None
   :type value: number


   Sets the diameter of the blur filter used in eye-dome lighting for point clouds.
   Setting the value to 0 will disable blurring. (default: 7)


   :rtype: Promise <void>

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

setEyeDomeLightingEnabled
-------------------------

.. js:method:: View.setEyeDomeLightingEnabled( enabled)

   :param enabled: None
   :type enabled: boolean


   Enables or disables eye-dome lighting for point clouds. (default: disabled)


   :rtype: Promise <void>

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

setEyeDomeLightingOpacity
-------------------------

.. js:method:: View.setEyeDomeLightingOpacity( value)

   :param value: A number in the range [0,1].
   :type value: number


   Sets the opacity of the shading rendered by eye-dome lighting for point clouds. (default: 1)


   :rtype: Promise <void>

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

setEyeDomeLightingShadingEdgeDistance
-------------------------------------

.. js:method:: View.setEyeDomeLightingShadingEdgeDistance( value)

   :param value: None
   :type value: number


   Controls the shading contrast in eye-dome lighting for point clouds. The value is taken
   as a number of pixels. Increasing the value will result in overall lighter shading, and
   decreasing the value will result in overall darker shading. (default: 2)


   :rtype: Promise <void>

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

setFaceVisibility
-----------------

.. js:method:: View.setFaceVisibility( faceVisibility)

   :param faceVisibility: indicates whether to draw faces.
   :type faceVisibility: boolean


   Sets the face visibility for the view.


   :rtype: Promise <void>

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

setGoochBaseColorProminence
---------------------------

.. js:method:: View.setGoochBaseColorProminence( prominence)

   :param prominence: this scalar value determines the amount of the object's base color is applied to the final shaded color.
   :type prominence: number


   Sets the prominence of the object's base color in Gooch shading.


   :rtype: void

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

setGoochBlue
------------

.. js:method:: View.setGoochBlue( blue)

   :param blue: the blue tone.  This value should be in the range [0,1]
   :type blue: number


   Sets the value to use as the blue tone in Gooch shading.


   :rtype: void

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

setGoochLuminanceShiftStrength
------------------------------

.. js:method:: View.setGoochLuminanceShiftStrength( shiftStrength)

   :param shiftStrength: this scalar values determines the amount of luminance shift that is applied to the object's base color
   :type shiftStrength: number


   Sets the strength of the luminance shift in Gooch shading.


   :rtype: void

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

setGoochYellow
--------------

.. js:method:: View.setGoochYellow( yellow)

   :param yellow: the yellow tone. This value should be in the range [0,1]
   :type yellow: number


   Sets the value to use as the yellow tone in Gooch shading.


   :rtype: void

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

setGroundPlane
--------------

.. js:method:: View.setGroundPlane( plane)

   :param plane: The plane to set.
   :type plane: GroundPlane


   Defines the invisible ground plane onto which simple shadows
   and reflections are projected.

   See also:
    - [[getGroundPlane]]
    - [[setSimpleShadowEnabled]]
    - [[setSimpleReflectionEnabled]]


   :rtype: void

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

setHardEdgeColor
----------------

.. js:method:: View.setHardEdgeColor( value)

   :param value: The color to set.
   :type value: Color


   Sets the color of hard edges.

   See also:
   - [[getHardEdgeColor]]
   - [[setHardEdgesEnabled]]


   :rtype: void

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

setHardEdgeOpacity
------------------

.. js:method:: View.setHardEdgeOpacity( value)

   :param value: The opacity to set.
   :type value: number


   Sets the opacity of hard edges.

   See also:
   - [[getHardEdgeOpacity]]
   - [[setHardEdgesEnabled]]


   :rtype: void

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

setHardEdgeThreshold
--------------------

.. js:method:: View.setHardEdgeThreshold( degrees)

   :param degrees: The threshold to set.
   :type degrees: number


   Sets the angle threshold for hard edges. Edges will be drawn between
   two faces whose normals diverge beyond this angle.

   See also:
   - [[getHardEdgeThreshold]]
   - [[setHardEdgeThresholdRampWidth]]
   - [[setHardEdgesEnabled]]


   :rtype: void

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

setHardEdgeThresholdRampWidth
-----------------------------

.. js:method:: View.setHardEdgeThresholdRampWidth( degrees)

   :param degrees: None
   :type degrees: number


   Controls how quickly edges fade as the angle between adjacent faces
   decreases.

   This value is added to the one set by [[setHardEdgeThreshold]] to
   create a secondary threshold. Angles greater than the secondary
   threshold will result in edges with full opacity, and angles between
   the two thresholds will result in edges with reduced opacity.

   Setting this value to ``0`` will cause all edges to be drawn at full
   opacity.

   See also:
   - [[getHardEdgeThresholdRampWidth]]
   - [[setHardEdgesEnabled]]


   :rtype: void

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

setHardEdgesEnabled
-------------------

.. js:method:: View.setHardEdgesEnabled( value)

   :param value: Whether hard edges should be enabled.
   :type value: boolean


   Enables or disables hard edges. Hard edges are edges between two
   faces whose normals diverge beyond a given angle.

   Hard edges are always enabled in hidden line mode.

   See also:
   - [[getHardEdgesEnabled]]
   - [[setHardEdgeColor]]
   - [[setHardEdgeOpacity]]
   - [[setHardEdgeThreshold]]
   - [[setHardEdgeThresholdRampWidth]]


   :rtype: void

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

setImageBasedLightingEnabled
----------------------------

.. js:method:: View.setImageBasedLightingEnabled( value)

   :param value: None
   :type value: boolean


   Sets whether image-based lighting is enabled for physically-based
   materials.

   See also:
   - [[getImageBasedLightingEnabled]]
   - [[setImageBasedLightingIntensity]]
   - [[setImageBasedLightingOrientation]]


   :rtype: void

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

setImageBasedLightingEnvironment
--------------------------------

.. js:method:: View.setImageBasedLightingEnvironment( data)

   :param data: None
   :type data: null | Uint8Array


   Sets the environment image used by image-based lighting applied to
   physically-based materials.

   Passing ``null`` will cause the default environment image to be used.

   The image should be a cube map in KTX2 format with a space-separated
   list of spherical harmonics coefficients stored under the "sh"
   metadata key.

   A compatible image can be created from an equirectangular source
   image (such as those found at [HDRI Haven](https://hdrihaven.com))
   with the following process:

   - cmgen: https://github.com/google/filament
   - ktx2ktx2, ktx2sc: https://github.com/KhronosGroup/KTX-Software/


   .. code-block::


      cmgen -x out --format=ktx --size=256 in.hdr
      ktx2ktx2 -o uncompressed.ktx2 out/out_ibl.ktx
      ktxsc --zcmp 20 -o out.ktx2 uncompressed.ktx2



   :rtype: void

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

setImageBasedLightingIntensity
------------------------------

.. js:method:: View.setImageBasedLightingIntensity( value)

   :param value: None
   :type value: number


   Sets the intensity (brightness) of image-based lighting applied to
   physically-based materials.

   The default value is 1.

   See also:
   - [[getImageBasedLightingIntensity]]
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingOrientation]]


   :rtype: void

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

setImageBasedLightingOrientation
--------------------------------

.. js:method:: View.setImageBasedLightingOrientation( value)

   :param value: None
   :type value: ImageBasedLightingOrientation


   Sets the orientation of the image-based lighting environment applied
   to physically-based materials.

   See also:
   - [[getImageBasedLightingOrientation]]
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingIntensity]]


   :rtype: void

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

setInitialCamera
----------------

.. js:method:: View.setInitialCamera( camera)

   :param camera: None
   :type camera: Camera


   Sets the camera that will be used for the initial camera view.


   :rtype: void

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

setInteractiveDrawDelay
-----------------------

.. js:method:: View.setInteractiveDrawDelay( value)

   :param value: The delay in milliseconds
   :type value: number


   Sets how long after certain operations, such as setting the camera, to wait before
   starting a redraw. This delay exists in order to prevent flicker during continuous
   interaction. The initial value is 200ms.


   :rtype: Promise <void>

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

setInteractiveDrawLimitIncreaseEnabled
--------------------------------------

.. js:method:: View.setInteractiveDrawLimitIncreaseEnabled( enable)

   :param enable: None
   :type enable: boolean


   Sets whether or not the viewer will periodically attempt to increase the amount drawn during interaction.
   Setting this to ``false`` may improve periodic framerate dips caused by such adjustments.


   :rtype: void

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

setLightingEnabled
------------------

.. js:method:: View.setLightingEnabled( enabled)

   :param enabled: None
   :type enabled: boolean


   Sets whether lighting is enabled. When disabled, material colors
   are drawn at full intensity.

   See also [[InstanceModifier.DoNotLight]], [[clearLights]].


   :rtype: Promise <void>

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

setLineJitterEnabled
--------------------

.. js:method:: View.setLineJitterEnabled( value)

   :param value: None
   :type value: boolean


   Sets whether line jitter is enabled.

   Line jitter makes lines look 'sketchy' by drawing them multiple times
   with randomized offsets applied to the vertices.

   See also:
   - [[getLineJitterEnabled]]
   - [[setLineJitterInstanceCount]]
   - [[setLineJitterRadius]]
   - [[setLineJitterFrequency]]


   :rtype: void

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

setLineJitterFrequency
----------------------

.. js:method:: View.setLineJitterFrequency( value)

   :param value: None
   :type value: number


   Sets the frequency of the noise used to offset line vertices when
   line jitter is enabled. The default value is 5.

   Decreasing this value causes lines to appear smoother, while
   increasing it causes lines to look more noisy.

   See also:
   - [[setLineJitterEnabled]]
   - [[setLineJitterInstanceCount]]
   - [[setLineJitterRadius]]
   - [[getLineJitterFrequency]]


   :rtype: void

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

setLineJitterInstanceCount
--------------------------

.. js:method:: View.setLineJitterInstanceCount( value)

   :param value: None
   :type value: number


   Sets the number of times lines are drawn when line jitter is enabled.
   The default value is 4.

   Increasing this number can make the lines look more 'sketchy.'

   See also:
   - [[setLineJitterEnabled]]
   - [[getLineJitterInstanceCount]]
   - [[setLineJitterRadius]]
   - [[setLineJitterFrequency]]


   :rtype: void

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

setLineJitterRadius
-------------------

.. js:method:: View.setLineJitterRadius( value)

   :param value: None
   :type value: number


   Sets the radius of the random offset applied to line vertices when
   line jitter is enabled. The default value is 0.005.

   The value is specified as a proportion of the canvas height, where 1
   means the full height of the canvas.

   See also:
   - [[setLineJitterEnabled]]
   - [[setLineJitterInstanceCount]]
   - [[getLineJitterRadius]]
   - [[setLineJitterFrequency]]


   :rtype: void

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

setLineVisibility
-----------------

.. js:method:: View.setLineVisibility( lineVisibility)

   :param lineVisibility: indicates whether to draw lines.
   :type lineVisibility: boolean


   Sets the line visibility for the view.


   :rtype: Promise <void>

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

setMassageExtremeCameras
------------------------

.. js:method:: View.setMassageExtremeCameras( value)

   :param value: Whether to modify cameras
   :type value: boolean


   Sets whether to change cad view cameras with extreme values to functionally identical cameras with
   better behavior. This should be disabled if it is important that cameras have their authored values
   Default: true


   :rtype: void

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

setMinimumFramerate
-------------------

.. js:method:: View.setMinimumFramerate( minimum)

   :param minimum: The minimum framerate to be maintained by this view.
   :type minimum: number


   Sets a minimum frame rate that will be maintained by this views.
   The view will use various culling techniques in order to maintain the value passed in.

   Passing ``0`` will cause the entire scene to be drawn for every frame.


   :rtype: void

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

setPointShape
-------------

.. js:method:: View.setPointShape( shape)

   :param shape: None
   :type shape: PointShape


   Controls the appearance of rendered points. (default: Square) See [[PointShape]].


   :rtype: Promise <void>

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

setPointSize
------------

.. js:method:: View.setPointSize( size, unit)

   :param size: None
   :type size: number
   :param unit: None
   :type unit: PointSizeUnit


   Sets the diameter of rendered points. (default: 1, ScreenPixels) See [[PointSizeUnit]].


   :rtype: Promise <void>

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

setPointVisibilityTest
----------------------

.. js:method:: View.setPointVisibilityTest( points)

   :param points: The points to test. An empty array will disable the test.
   :type points: [Point3]


   Sets a list of points whose visibility will be tested every time a
   frame is drawn by comparing them to the frame's depth buffer. Points
   that are partially obscured by transparent objects are considered
   visible.

   The results are passed to the [[CallbackMap.frameDrawn]] callback so
   that UI elements may be updated in sync with rendering.

   See also [[testPointVisibility]].


   :rtype: void

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

setProjectionMode
-----------------

.. js:method:: View.setProjectionMode( projectionMode)

   :param projectionMode: None
   :type projectionMode: Projection


   Sets the projection mode.


   :rtype: void

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

setSilhouetteColor
------------------

.. js:method:: View.setSilhouetteColor( value)

   :param value: The color to set.
   :type value: Color


   Sets the color of silhouette edges.

   See also:
   - [[getSilhouetteColor]]
   - [[setSilhouetteEnabled]]


   :rtype: void

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

setSilhouetteEnabled
--------------------

.. js:method:: View.setSilhouetteEnabled( value)

   :param value: Whether silhouette edges should be enabled.
   :type value: boolean


   Enables or disables silhouette edges.

   Silhouette edges are always enabled in hidden line mode.

   See also:
   - [[getSilhouetteEnabled]]
   - [[setSilhouetteColor]]
   - [[setSilhouetteOpacity]]
   - [[setSilhouetteThreshold]]
   - [[setSilhouetteThresholdRampWidth]]


   :rtype: void

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

setSilhouetteOpacity
--------------------

.. js:method:: View.setSilhouetteOpacity( value)

   :param value: The opacity to set.
   :type value: number


   Sets the opacity of silhouette edges.

   See also:
   - [[getSilhouetteOpacity]]
   - [[setSilhouetteEnabled]]


   :rtype: void

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

setSilhouetteThreshold
----------------------

.. js:method:: View.setSilhouetteThreshold( value)

   :param value: The threshold to set.
   :type value: number


   Sets the distance threshold for silhouette edges. This value
   affects the minimum z-distance required between two pixels
   for an edge to be drawn. A smaller value will result in more edges
   being drawn on finer details.

   The value is a proportion of the canvas size and not a world-space
   distance.

   See also:
   - [[getSilhouetteThreshold]]
   - [[setSilhouetteThresholdRampWidth]]
   - [[setSilhouetteEnabled]]


   :rtype: void

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

setSilhouetteThresholdRampWidth
-------------------------------

.. js:method:: View.setSilhouetteThresholdRampWidth( value)

   :param value: None
   :type value: number


   Controls how quickly edges fade as z-distance between pixels
   decreases.

   This value is added to the one set by [[setSilhouetteThreshold]]
   to create a secondary threshold. Distances greater than the
   secondary threshold will result in edges with full opacity, and
   distances between the two thresholds will result in edges with
   reduced opacity.

   Setting this value to ``0`` will cause all edges to be drawn
   at full opacity.

   See also:
   - [[getSilhouetteThresholdRampWidth]]
   - [[setSilhouetteEnabled]]


   :rtype: void

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

setSimpleReflectionAttenuation
------------------------------

.. js:method:: View.setSimpleReflectionAttenuation( nearDistance, farDistance, unit)

   :param nearDistance: The distance from the ground plane at which objects begin to fade.
   :type nearDistance: number
   :param farDistance: The distance from the ground plane at which objects are completely faded.
   :type farDistance: number
   :param unit: The unit in which ``nearDistance`` and ``farDistance`` are specified. If unspecified, [[SimpleReflectionAttenuationUnit.World]] will be used.
   :type unit: SimpleReflectionAttenuationUnit


   Controls how objects drawn in simple reflections fade as they
   move further from the ground plane.

   Attenuation begins at ``nearDistance`` and increases linearly
   such that the model is not visible in the reflection beyond
   ``farDistance``.

   Attenuation is disabled if ``farDistance`` is less than or equal to
   ``nearDistance``.

   See also:
    - [[getSimpleReflectionAttenuation]]
    - [[setSimpleReflectionEnabled]]


   :rtype: void

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

setSimpleReflectionBlurInterval
-------------------------------

.. js:method:: View.setSimpleReflectionBlurInterval( value, unit)

   :param value: The interval to set.
   :type value: number
   :param unit: The unit in which the ``value`` argument is specified.
   :type unit: BlurIntervalUnit


   Sets the distance between samples taken by the blur filter used for
   simple reflections.

   See also:
    - [[getSimpleReflectionBlurInterval]]
    - [[setSimpleReflectionEnabled]]


   :rtype: void

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

setSimpleReflectionBlurSamples
------------------------------

.. js:method:: View.setSimpleReflectionBlurSamples( value)

   :param value: None
   :type value: number


   Sets the diameter of the blur filter used for simple reflections.
   Setting the value less than or equal to ``1`` will disable blurring.

   See also:
   - [[getSimpleReflectionBlurSamples]]
   - [[setSimpleReflectionEnabled]]


   :rtype: void

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

setSimpleReflectionEnabled
--------------------------

.. js:method:: View.setSimpleReflectionEnabled( value)

   :param value: None
   :type value: boolean


   Enables or disables simple reflections projected onto an
   invisible ground plane.

   See also:
   - [[getSimpleReflectionEnabled]]
   - [[setSimpleReflectionOpacity]]
   - [[setSimpleReflectionBlurSamples]]
   - [[setSimpleReflectionBlurInterval]]
   - [[setSimpleReflectionFadeAngle]]


   :rtype: void

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

setSimpleReflectionFadeAngle
----------------------------

.. js:method:: View.setSimpleReflectionFadeAngle( degrees)

   :param degrees: The angle in degrees.
   :type degrees: number


   Sets the angle, in degrees, between the view vector and the ground
   plane at which simple reflections begin to fade.

   Settings the value to ``0`` will disable the fading effect.

   Regardless of the value, simple reflections will not be drawn
   if the camera is below the ground plane.

   See also:
   - [[getSimpleReflectionFadeAngle]]
   - [[setSimpleReflectionEnabled]]


   :rtype: void

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

setSimpleReflectionOpacity
--------------------------

.. js:method:: View.setSimpleReflectionOpacity( value)

   :param value: None
   :type value: number


   Sets the opacity of simple reflections.

   See also:
    - [[getSimpleReflectionOpacity]]
    - [[setSimpleReflectionEnabled]]


   :rtype: void

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

setSimpleShadowBlurInterval
---------------------------

.. js:method:: View.setSimpleShadowBlurInterval( value)

   :param value: The interval to set.
   :type value: number


   Sets the distance in pixels between samples taken by the blur filter
   used for simple shadows.

   See also:
    - [[getSimpleShadowBlurInterval]]
    - [[setSimpleShadowEnabled]]


   :rtype: void

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

setSimpleShadowBlurSamples
--------------------------

.. js:method:: View.setSimpleShadowBlurSamples( value)

   :param value: The number of samples.
   :type value: number


   Sets the diameter of the blur filter used for simple shadows.
   Setting the value to ``0`` will disable blurring.

   See also:
    - [[getSimpleShadowBlurSamples]]
    - [[setSimpleShadowEnabled]]


   :rtype: void

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

setSimpleShadowColor
--------------------

.. js:method:: View.setSimpleShadowColor( color)

   :param color: The color to set.
   :type color: Color


   Sets the color of simple shadows.

   See also:
    - [[getSimpleShadowColor]]
    - [[setSimpleShadowEnabled]]


   :rtype: void

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

setSimpleShadowEnabled
----------------------

.. js:method:: View.setSimpleShadowEnabled( value)

   :param value: Whether simple shadows should be enabled.
   :type value: boolean


   Enables or disables a full-scene shadow projected onto an
   invisible ground plane.

   See also:
    - [[getSimpleShadowEnabled]]
    - [[setSimpleShadowColor]]
    - [[setSimpleShadowOpacity]]
    - [[setGroundPlane]]
    - [[setSimpleShadowResolution]]
    - [[setSimpleShadowInteractiveUpdateEnabled]]


   :rtype: void

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

setSimpleShadowInteractiveUpdateEnabled
---------------------------------------

.. js:method:: View.setSimpleShadowInteractiveUpdateEnabled( value)

   :param value: None
   :type value: boolean


   Enables or disables updates to simple shadows during user
   interaction.

   See also:
    - [[getSimpleShadowInteractiveUpdateEnabled]]
    - [[setSimpleShadowEnabled]]


   :rtype: void

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

setSimpleShadowOpacity
----------------------

.. js:method:: View.setSimpleShadowOpacity( opacity)

   :param opacity: The opacity to set.
   :type opacity: number


   Sets the opacity of simple shadows.

   See also:
    - [[getSimpleShadowOpacity]]
    - [[setSimpleShadowEnabled]]


   :rtype: void

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

setSimpleShadowResolution
-------------------------

.. js:method:: View.setSimpleShadowResolution( pixels)

   :param pixels: The resolution to set.
   :type pixels: number


   Sets the width and height in pixels of the texture image into which
   simple shadows are drawn.

   See also:
    - [[getSimpleShadowResolution]]
    - [[setSimpleShadowEnabled]]


   :rtype: void

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

setStatisticsDisplayVisibility
------------------------------

.. js:method:: View.setStatisticsDisplayVisibility( visibility)

   :param visibility: None
   :type visibility: boolean


   Sets the display for the default statistic overlay.


   :rtype: Promise <void>

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

setToonShadingBandCount
-----------------------

.. js:method:: View.setToonShadingBandCount( bandCount)

   :param bandCount: None
   :type bandCount: number


   Sets the number of discrete shading bands that will be used when toon shading is enabled.  Each band represents a shade between dark and light which will control the final color of the pixel based on its light intensity.  The default band count is 3.


   :rtype: void

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

setToonShadingSpecularFactor
----------------------------

.. js:method:: View.setToonShadingSpecularFactor( specularFactor)

   :param specularFactor: None
   :type specularFactor: number


   Sets a scale factor which controls the size of specular highlights when toon shading is enabled.  The default value is 1.0.


   :rtype: void

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

setTransparencyMode
-------------------

.. js:method:: View.setTransparencyMode( mode)

   :param mode: None
   :type mode: TransparencyMode


   Sets how transparent objects are blended.


   :rtype: void

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

setViewOrientation
------------------

.. js:method:: View.setViewOrientation( orientation, duration[, bounding, preserveModelUp])

   :param orientation: The desired view orientation for the camera.
   :type orientation: ViewOrientation
   :param duration: The number of milliseconds used to transition to the new camera.
   :type duration: number
   :param bounding: :ts-api-decorator:`optional` Optional bounding to fit the camera about. If not supplied, the model bounding will be used.
   :type bounding: Box
   :param preserveModelUp: Indicates whether the camera up will be set according to model up or current camera.
   :type preserveModelUp: boolean


   Sets the view to a standard orientation.


   :rtype: Promise <void>

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

setXRayColor
------------

.. js:method:: View.setXRayColor( element, color, group)

   :param element: the type of geometry to apply the color to
   :type element: ElementType
   :param color: the color to apply
   :type color: Color
   :param group: the category of nodes that will be affected. If unspecified, [[XRayGroup.Selected]] will be used.
   :type group: XRayGroup


   Sets the color applied to nodes in x-ray mode.
   By default, the color is unset.

   See [[unsetXRayColor]].


   :rtype: Promise <void>

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

setXRayOpacity
--------------

.. js:method:: View.setXRayOpacity( opacity[, element])

   :param opacity: a number between 0 and 1
   :type opacity: number
   :param element: :ts-api-decorator:`optional` the type of element to which the opacity will apply. If unspecified, the opacity will apply to all element types.
   :type element: ElementType


   Sets the opacity of unselected items in x-ray mode.


   :rtype: Promise <void>

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

setXRayTransparencyMode
-----------------------

.. js:method:: View.setXRayTransparencyMode( mode)

   :param mode: None
   :type mode: TransparencyMode


   Sets how transparent (unselected) objects are blended in x-ray mode.


   :rtype: Promise <void>

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

startComparison
---------------

.. js:method:: View.startComparison( nodeIdSet1, nodeIdSet2[, config])

   :param nodeIdSet1: the nodes to compare against ``nodeIdSet2``
   :type nodeIdSet1: [number]
   :param nodeIdSet2: the nodes to compare against ``nodeIdSet1``
   :type nodeIdSet2: [number]
   :param config: :ts-api-decorator:`optional` settings controlling the behavior of the comparison
   :type config: ComparisonConfig


   Enables a visual comparison of two sets of nodes. The nodes specified
   by ``nodeIdSet1`` are filled with one color, the nodes specified by
   ``nodeIdSet2`` with another color, and overlapping areas are filled
   with a third color.

   See [[endComparison]].


   :rtype: void

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

testPointVisibility
-------------------

.. js:method:: View.testPointVisibility( points)

   :param points: The points to test.
   :type points: [Point3]


   Tests whether the given points are visible by comparing them to
   the depth buffer of the most-recently-drawn frame. Points that
   are partially obscured by transparent objects are considered visible.

   If the test is to be run every time a frame is drawn,
   [[setPointVisibilityTest]] should be used instead for proper
   synchronization.

   :returns: A list of indices of the visible points.


   :rtype: Promise <[number]>

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

unprojectPoint
--------------

.. js:method:: View.unprojectPoint( point, z)

   :param point: 2d screen space
   :type point: Point2
   :param z: z value, default 0
   :type z: number


   Unprojects a 2d screen space point to a 3d world space point.

   :returns: point world space point


   :rtype: null | Point3

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

unsetDefaultCamera
------------------

.. js:method:: View.unsetDefaultCamera()



   Unsets the default camera. After this is called the next camera to be set will be the new default


   :rtype: void

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

unsetXRayColor
--------------

.. js:method:: View.unsetXRayColor( element, group)

   :param element: the type of geometry affected by the change
   :type element: ElementType
   :param group: the category of nodes that will be affected. If unspecified, [[XRayGroup.Selected]] will be used.
   :type group: XRayGroup


   Unsets the color applied to selected items in x-ray mode.
   Selected items will be displayed without overriding their colors.

   See [[setXRayColor]].


   :rtype: Promise <void>

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

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

.. js:method:: View.updateCamera( camera)

   :param camera: the camera to set.
   :type camera: Camera


   Updates camera properties individually. This method should be used to incrementally update camera properties individually.

   :returns: updated camera object.


   :rtype: Camera

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

updateLight
-----------

.. js:method:: View.updateLight( key, light)

   :param key: None
   :type key: LightKey
   :param light: None
   :type light: Light


   Updates a light in the scene. See [[Light]].

   See also:
    - [[addLight]]
    - [[clearLights]]
    - [[removeLight]]


   :rtype: void

