.. role:: clio-readonly
   :class: clio-flag clio-flag-readonly


####
View
####

.. js:class:: View

   
   Index
   =====
   
   .. rubric:: Properties
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~View.domElements`
   * :js:data:`~View.floorplanManager`
   * :js:data:`~View.operatorManager`
   * :js:data:`~View.overlayManager`
   
   .. rubric:: Accessors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~View.axisTriad`
   * :js:func:`~View.id`
   * :js:func:`~View.inputMonitor`
   * :js:func:`~View.navCube`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :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.getHardEdgesEnabled`
   * :js:meth:`~View.getHardEdgeThreshold`
   * :js:meth:`~View.getHardEdgeThresholdRampWidth`
   * :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.getLightingEnabled`
   * :js:meth:`~View.getLightKeys`
   * :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.setHardEdgesEnabled`
   * :js:meth:`~View.setHardEdgeThreshold`
   * :js:meth:`~View.setHardEdgeThresholdRampWidth`
   * :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
==========

.. js:data:: View.domElements

   .. rst-class:: clio-flags
   
      :clio-readonly:`readonly`
   
   .. rst-class:: sig-pretty-signature
   
      | domElements: *DomElements*
   



.. js:data:: View.floorplanManager

   .. rst-class:: clio-flags
   
      :clio-readonly:`readonly`
   
   .. rst-class:: sig-pretty-signature
   
      | floorplanManager: :js:class:`FloorplanManager <Floorplan.FloorplanManager>`
   



.. js:data:: View.operatorManager

   .. rst-class:: clio-flags
   
      :clio-readonly:`readonly`
   
   .. rst-class:: sig-pretty-signature
   
      | operatorManager: :js:class:`~OperatorManager`
   



.. js:data:: View.overlayManager

   .. rst-class:: clio-flags
   
      :clio-readonly:`readonly`
   
   .. rst-class:: sig-pretty-signature
   
      | overlayManager: :js:class:`OverlayManager <Overlay.OverlayManager>`
   





Accessors
=========

.. js:method:: View.axisTriad

   .. rst-class:: sig-pretty-signature
   
      | *get* axisTriad(): :js:class:`~AxisTriad`
   
   **Returns**\ : :js:class:`~AxisTriad`
   



.. js:method:: View.id

   .. rst-class:: sig-pretty-signature
   
      | *get* id(): *number*
   
   **Returns**\ : *number*
   



.. js:method:: View.inputMonitor

   .. rst-class:: sig-pretty-signature
   
      | *get* inputMonitor(): *InputMonitor*
   
   **Returns**\ : *InputMonitor*
   



.. js:method:: View.navCube

   .. rst-class:: sig-pretty-signature
   
      | *get* navCube(): :js:class:`~NavCube`
   
   **Returns**\ : :js:class:`~NavCube`
   





Methods
=======

.. js:method:: View.addLight

   .. rst-class:: sig-pretty-signature
   
      | addLight(**light**\ : :js:class:`~Light`\ ): *Promise*
   
   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]]
   
   **Parameters**
   
      **light**\ : :js:class:`~Light`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.advanceIncrementalSelection

   .. rst-class:: sig-pretty-signature
   
      | advanceIncrementalSelection(**handle**\ : :js:class:`IncrementalSelectionId <Selection.IncrementalSelectionId>`\ ): *Promise*
   
   Returns the next batch of geometry selected by the supplied selection context.
   
   **Parameters**
   
      **handle**\ : :js:class:`IncrementalSelectionId <Selection.IncrementalSelectionId>`
   
         The handle to an active area selection context.
   
   
   
   **Returns**\ : *Promise*
   
      Returns selected items. If the resulting list is null then there are no more items to select.
   
   



.. js:method:: View.beginConvexPolyhedronSelection

   .. rst-class:: sig-pretty-signature
   
      | beginConvexPolyhedronSelection(**volumePlanes**\ : :js:class:`~Plane`\ [], **heuristicOrigin**\ : :js:class:`~Point3`\ , **config**\ : :js:class:`~IncrementalPickConfig`\ ): *Promise*
   
   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.
   
   **Parameters**
   
      **volumePlanes**\ : :js:class:`~Plane`\ []
   
         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.
   
   
      **heuristicOrigin**\ : :js:class:`~Point3`
   
         A point used to compute distances against for prioritizing returned results. This is typically (but not necessarily) the center of the volume.
   
   
      **config**\ : :js:class:`~IncrementalPickConfig`
   
         The configuration object used for this selection operation.
   
   
   
   **Returns**\ : *Promise*
   
      The handle for the selection context.
   
   



.. js:method:: View.beginRayDrillSelection

   .. rst-class:: sig-pretty-signature
   
      | beginRayDrillSelection(**rayCssOrigin**\ : :js:class:`~Point2`\ , **rayCssBoxRadius**\ : *number*\ , **config**\ : :js:class:`~IncrementalPickConfig`\ ): *Promise*
   
   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.
   
   **Parameters**
   
      **rayCssOrigin**\ : :js:class:`~Point2`
   
         The coordinate in CSS pixel space for the selection ray's origin.
   
   
      **rayCssBoxRadius**\ : *number*
   
         The radius around the ray in CSS pixel space used for line and point selection proximity.
   
   
      **config**\ : :js:class:`~IncrementalPickConfig`
   
         The configuration object used for this selection operation.
   
   
   
   **Returns**\ : *Promise*
   
      The handle for the selection context.
   
   



.. js:method:: View.beginScreenSelectByArea

   .. rst-class:: sig-pretty-signature
   
      | beginScreenSelectByArea(**areaCssMin**\ : :js:class:`~Point2`\ , **areaCssMax**\ : :js:class:`~Point2`\ , **config**\ : :js:class:`~IncrementalPickConfig`\ ): *Promise*
   
   Creates a new and active selection context for the provided selection window.
   
   **Parameters**
   
      **areaCssMin**\ : :js:class:`~Point2`
   
         The minimum coodinate in CSS pixel space for the selection window.
   
   
      **areaCssMax**\ : :js:class:`~Point2`
   
         The maximum coodinate in CSS pixel space for the selection window.
   
   
      **config**\ : :js:class:`~IncrementalPickConfig`
   
         The configuration object used for this selection operation.
   
   
   
   **Returns**\ : *Promise*
   
      The handle for the selection context.
   
   



.. js:method:: View.beginSphereSelection

   .. rst-class:: sig-pretty-signature
   
      | beginSphereSelection(**sphereCenter**\ : :js:class:`~Point3`\ , **sphereRadius**\ : *number*\ , **config**\ : :js:class:`~IncrementalPickConfig`\ ): *Promise*
   
   Creates a new and active selection context for the provided selection sphere.
   
   **Parameters**
   
      **sphereCenter**\ : :js:class:`~Point3`
   
         The center of the selection sphere.
   
   
      **sphereRadius**\ : *number*
   
         The radius of the selection sphere.
   
   
      **config**\ : :js:class:`~IncrementalPickConfig`
   
         The configuration object used for this selection operation.
   
   
   
   **Returns**\ : *Promise*
   
      The handle for the selection context.
   
   



.. js:method:: View.centerCameraOnNode

   .. rst-class:: sig-pretty-signature
   
      | centerCameraOnNode(**nodeId**\ : *number*\ , **duration**\ : *number*\ ?, **camera**\ : :js:class:`~Camera`\ ?): *Promise*
   
   Centers the camera on a specified node id.
   
   **Parameters**
   
      **nodeId**\ : *number*
   
      **duration**\ : *number* = 0
   
         the number of milliseconds to transition to the new camera.
   
   
      **camera**\ : :js:class:`~Camera` = ...
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.clearLights

   .. rst-class:: sig-pretty-signature
   
      | clearLights(): *void*
   
   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]]
   
   **Returns**\ : *void*
   



.. js:method:: View.compositePickFromPoint

   .. rst-class:: sig-pretty-signature
   
      | compositePickFromPoint(**point**\ : :js:class:`~Point2`\ , **config**\ : :js:class:`~PickConfig`\ ): *Promise*
   
   Performs a composite picking operation.  This operation will return all candidate Node entities according to the PickConfig.
   
   **Parameters**
   
      **point**\ : :js:class:`~Point2`
   
         Canvas position to pick from.
   
   
      **config**\ : :js:class:`~PickConfig`
   
         The configuration object used for this picking operation.
   
   
   
   **Returns**\ : *Promise*
   
      An object containing the result of the picking operation.
   
   



.. js:method:: View.endComparison

   .. rst-class:: sig-pretty-signature
   
      | endComparison(): *void*
   
   Disables a visual comparison of two sets of nodes enabled by [[startComparison]].
   
   **Returns**\ : *void*
   



.. js:method:: View.endIncrementalSelection

   .. rst-class:: sig-pretty-signature
   
      | endIncrementalSelection(**handle**\ : :js:class:`IncrementalSelectionId <Selection.IncrementalSelectionId>`\ ): *Promise*
   
   Deactivates and destroys the provided selection context.
   
   **Parameters**
   
      **handle**\ : :js:class:`IncrementalSelectionId <Selection.IncrementalSelectionId>`
   
         The selection context to destroy.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.fitBounding

   .. rst-class:: sig-pretty-signature
   
      | fitBounding(**bounding**\ : :js:class:`~Box`\ , **duration**\ : *number*\ ?, **camera**\ : :js:class:`~Camera`\ ?): *Promise*
   
   Fits the camera to the bounding box.
   
   **Parameters**
   
      **bounding**\ : :js:class:`~Box`
   
         bounding box to fit the camera.
   
   
      **duration**\ : *number* = DefaultTransitionDuration
   
         Time in milliseconds for the camera transition to the new camera view.
   
   
      **camera**\ : :js:class:`~Camera` = ...
   
   
   **Returns**\ : *Promise*
   
      A promise that will be resolved once the transition is complete.
   
   



.. js:method:: View.fitNodes

   .. rst-class:: sig-pretty-signature
   
      | fitNodes(**ids**\ : *number*\ [], **duration**\ : *number*\ ?): *Promise*
   
   Fits the camera to the bounding box containing the node ids.
   
   **Parameters**
   
      **ids**\ : *number*\ []
   
      **duration**\ : *number* = DefaultTransitionDuration
   
         Time in milliseconds for the camera transition to the new camera view.
   
   
   
   **Returns**\ : *Promise*
   
      A promise that will be resolved once the transition is complete.
   
   



.. js:method:: View.fitWorld

   .. rst-class:: sig-pretty-signature
   
      | fitWorld(**duration**\ : *number*\ ?, **camera**\ : :js:class:`~Camera`\ ): *Promise*
   
   Fits the view to the model bounding box.
   
   **Parameters**
   
      **duration**\ : *number* = 0
   
         the number of milliseconds to transition to the new camera.
   
   
      **camera**\ : :js:class:`~Camera`
   
   
   **Returns**\ : *Promise*
   
      A promise that will be resolved once the transition is complete.
   
   



.. js:method:: View.getAmbientLightColor

   .. rst-class:: sig-pretty-signature
   
      | getAmbientLightColor(): :js:class:`~Color`
   
   Gets the color of the ambient light applied to the scene.
   
   See also [[setAmbientLightColor]].
   
   **Returns**\ : :js:class:`~Color`
   



.. js:method:: View.getAmbientOcclusionEnabled

   .. rst-class:: sig-pretty-signature
   
      | getAmbientOcclusionEnabled(): *boolean*
   
   **Returns**\ : *boolean*
   
      boolean value indicating whether ambient occlusion is enabled
   
   



.. js:method:: View.getAmbientOcclusionRadius

   .. rst-class:: sig-pretty-signature
   
      | getAmbientOcclusionRadius(): *number*
   
   **Returns**\ : *number*
   
      the ambient occlusion radius
   
   



.. js:method:: View.getAntiAliasingMode

   .. rst-class:: sig-pretty-signature
   
      | getAntiAliasingMode(): :js:data:`~AntiAliasingMode`
   
   Gets the anti-aliasing mode for the scene. The Default value is AntiAliasingMode.SMAA
   
   **Returns**\ : :js:data:`~AntiAliasingMode`
   
      the current anti-aliasing mode.
   
   



.. js:method:: View.getAxisTriad

   .. rst-class:: sig-pretty-signature
   
      | getAxisTriad(): :js:class:`~AxisTriad`
   
   **Returns**\ : :js:class:`~AxisTriad`
   



.. js:method:: View.getBackfacesVisible

   .. rst-class:: sig-pretty-signature
   
      | getBackfacesVisible(): *boolean*
   
   Gets whether backfaces are being rendered in the scene.
   
   **Returns**\ : *boolean*
   
      Boolean value indicating whether backfaces are being rendered in the scene.
   
   



.. js:method:: View.getBackgroundColor

   .. rst-class:: sig-pretty-signature
   
      | getBackgroundColor(): :js:class:`~VerticalGradient`
   
   Returns the background colors of the canvas.
   
   **Returns**\ : :js:class:`~VerticalGradient`
   
      the canvas background colors.
   
   



.. js:method:: View.getBloomEnabled

   .. rst-class:: sig-pretty-signature
   
      | getBloomEnabled(): *boolean*
   
   Returns whether bloom is enabled.
   
   See [[setBloomEnabled]].
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getBloomIntensityScale

   .. rst-class:: sig-pretty-signature
   
      | getBloomIntensityScale(): *number*
   
   Gets the intensity of the bloom effect.
   
   See [[setBloomIntensityScale]].
   
   **Returns**\ : *number*
   



.. js:method:: View.getBloomLayers

   .. rst-class:: sig-pretty-signature
   
      | getBloomLayers(): :js:class:`~BloomLayerInfo`\ []
   
   Returns an array of objects describing each layer in the bloom effect.
   
   See [[setBloomLayers]].
   
   **Returns**\ : :js:class:`~BloomLayerInfo`\ []
   



.. js:method:: View.getBloomThreshold

   .. rst-class:: sig-pretty-signature
   
      | getBloomThreshold(): *number*
   
   Returns the minimum luminance value a pixel must have for it to contribute to bloom.
   
   See [[setBloomThreshold]], [[getBloomThresholdRampWidth]].
   
   **Returns**\ : *number*
   



.. js:method:: View.getBloomThresholdRampWidth

   .. rst-class:: sig-pretty-signature
   
      | getBloomThresholdRampWidth(): *number*
   
   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]].
   
   **Returns**\ : *number*
   



.. js:method:: View.getBoundingCalculationIgnoresInvisible

   .. rst-class:: sig-pretty-signature
   
      | getBoundingCalculationIgnoresInvisible(): *boolean*
   
   **Returns**\ : *boolean*
   
      whether or not bounding calculations by this View object ignores invisible geometry.
   
   



.. js:method:: View.getCamera

   .. rst-class:: sig-pretty-signature
   
      | getCamera(): :js:class:`~Camera`
   
   Gets the current camera
   
   **Returns**\ : :js:class:`~Camera`
   
      the current camera
   
   



.. js:method:: View.getCanvasSize

   .. rst-class:: sig-pretty-signature
   
      | getCanvasSize(): :js:class:`~Point2`
   
   Returns the size of the viewer canvas.
   
   **Returns**\ : :js:class:`~Point2`
   
      the current size of the viewer canvas.
   
   



.. js:method:: View.getDrawMode

   .. rst-class:: sig-pretty-signature
   
      | getDrawMode(): :js:data:`~DrawMode`
   
   **Returns**\ : :js:data:`~DrawMode`
   
      The current draw mode
   
   



.. js:method:: View.getDrawStrategy

   .. rst-class:: sig-pretty-signature
   
      | getDrawStrategy(): :js:data:`~DrawStrategy`
   
   Gets the draw strategy.
   
   **Returns**\ : :js:data:`~DrawStrategy`
   
      The current draw strategy.
   
   



.. js:method:: View.getEyeDomeLightingBlurEdgeDistance

   .. rst-class:: sig-pretty-signature
   
      | getEyeDomeLightingBlurEdgeDistance(): *Promise*
   
   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.
   
   **Returns**\ : *Promise*
   



.. js:method:: View.getEyeDomeLightingBlurInterval

   .. rst-class:: sig-pretty-signature
   
      | getEyeDomeLightingBlurInterval(): *Promise*
   
   Returns the distance in pixels between samples taken by the blur filter used in eye-dome lighting for point clouds.
   
   **Returns**\ : *Promise*
   



.. js:method:: View.getEyeDomeLightingBlurSamples

   .. rst-class:: sig-pretty-signature
   
      | getEyeDomeLightingBlurSamples(): *Promise*
   
   Returns the diameter of the blur filter used in eye-dome lighting for point clouds. A value of 0 means that blurring is disabled.
   
   **Returns**\ : *Promise*
   



.. js:method:: View.getEyeDomeLightingEnabled

   .. rst-class:: sig-pretty-signature
   
      | getEyeDomeLightingEnabled(): *Promise*
   
   **Returns**\ : *Promise*
   
      boolean value indicating if eye-dome lighting is enabled or disabled.
   
   



.. js:method:: View.getEyeDomeLightingOpacity

   .. rst-class:: sig-pretty-signature
   
      | getEyeDomeLightingOpacity(): *Promise*
   
   Returns the opacity of the shading rendered by eye-dome lighting for point clouds. The value is in the range [0,1].
   
   **Returns**\ : *Promise*
   



.. js:method:: View.getEyeDomeLightingShadingEdgeDistance

   .. rst-class:: sig-pretty-signature
   
      | getEyeDomeLightingShadingEdgeDistance(): *Promise*
   
   Returns a value that controls the shading contrast in eye-dome lighting for point clouds. The value is a number of pixels.
   
   **Returns**\ : *Promise*
   



.. js:method:: View.getFaceVisibility

   .. rst-class:: sig-pretty-signature
   
      | getFaceVisibility(): *boolean*
   
   Gets the face visibility for the view.
   
   **Returns**\ : *boolean*
   
      whether faces are currently being drawn.
   
   



.. js:method:: View.getFullCameraMatrix

   .. rst-class:: sig-pretty-signature
   
      | getFullCameraMatrix(): :js:class:`~Matrix`
   
   This is equivalent to (projectionMatrix \* viewMatrix).
   
   **Returns**\ : :js:class:`~Matrix`
   
      The current full camera matrix.
   
   



.. js:method:: View.getGoochBaseColorProminence

   .. rst-class:: sig-pretty-signature
   
      | getGoochBaseColorProminence(): *number*
   
   Gets the prominence of the object's base color in Gooch shading.
   
   **Returns**\ : *number*
   



.. js:method:: View.getGoochBlue

   .. rst-class:: sig-pretty-signature
   
      | getGoochBlue(): *number*
   
   Gets the value to use as the blue tone in Gooch shading.
   
   **Returns**\ : *number*
   



.. js:method:: View.getGoochLuminanceShiftStrength

   .. rst-class:: sig-pretty-signature
   
      | getGoochLuminanceShiftStrength(): *number*
   
   Gets the strength of the luminance shift in Gooch shading.
   
   **Returns**\ : *number*
   



.. js:method:: View.getGoochYellow

   .. rst-class:: sig-pretty-signature
   
      | getGoochYellow(): *number*
   
   Gets the value to use as the yellow tone in Gooch shading.
   
   **Returns**\ : *number*
   



.. js:method:: View.getGroundPlane

   .. rst-class:: sig-pretty-signature
   
      | getGroundPlane(): :js:class:`~GroundPlane`
   
   Returns information about the invisible ground plane onto which simple shadows and reflections are projected.
   
   See also:
   
   
   - [[setGroundPlane]]
   
   **Returns**\ : :js:class:`~GroundPlane`
   



.. js:method:: View.getHardEdgeColor

   .. rst-class:: sig-pretty-signature
   
      | getHardEdgeColor(): :js:class:`~Color`
   
   Returns the color of hard edges.
   
   See also:
   
   
   - [[setHardEdgeColor]]
   - [[setHardEdgesEnabled]]
   
   **Returns**\ : :js:class:`~Color`
   



.. js:method:: View.getHardEdgeOpacity

   .. rst-class:: sig-pretty-signature
   
      | getHardEdgeOpacity(): *number*
   
   Returns the opacity of hard edges.
   
   See also:
   
   
   - [[setHardEdgeOpacity]]
   - [[setHardEdgesEnabled]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getHardEdgesEnabled

   .. rst-class:: sig-pretty-signature
   
      | getHardEdgesEnabled(): *boolean*
   
   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]].
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getHardEdgeThreshold

   .. rst-class:: sig-pretty-signature
   
      | getHardEdgeThreshold(): *number*
   
   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]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getHardEdgeThresholdRampWidth

   .. rst-class:: sig-pretty-signature
   
      | getHardEdgeThresholdRampWidth(): *number*
   
   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]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getHiddenLineSettings

   .. rst-class:: sig-pretty-signature
   
      | getHiddenLineSettings(): *HiddenLineSettings*
   
   **Returns**\ : *HiddenLineSettings*
   
      a [[HiddenLineSettings]] object.
   
   



.. js:method:: View.getImageBasedLightingEnabled

   .. rst-class:: sig-pretty-signature
   
      | getImageBasedLightingEnabled(): *boolean*
   
   Returns whether image-based lighting is enabled for physically-based materials.
   
   See also:
   
   
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingIntensity]]
   - [[setImageBasedLightingOrientation]]
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getImageBasedLightingIntensity

   .. rst-class:: sig-pretty-signature
   
      | getImageBasedLightingIntensity(): *number*
   
   Returns the intensity (brightness) of image-based lighting applied to physically-based materials.
   
   The default value is 1.
   
   See also:
   
   
   - [[setImageBasedLightingIntensity]]
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingOrientation]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getImageBasedLightingOrientation

   .. rst-class:: sig-pretty-signature
   
      | getImageBasedLightingOrientation(): :js:class:`~ImageBasedLightingOrientation`
   
   Returns the orientation of the image-based lighting environment applied to physically-based materials.
   
   See also:
   
   
   - [[setImageBasedLightingOrientation]]
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingIntensity]]
   
   **Returns**\ : :js:class:`~ImageBasedLightingOrientation`
   



.. js:method:: View.getInteractiveDrawLimitIncreaseEnabled

   .. rst-class:: sig-pretty-signature
   
      | getInteractiveDrawLimitIncreaseEnabled(): *Promise*
   
   Gets whether or not the viewer will periodically attempt to increase the amount drawn during interaction.
   
   **Returns**\ : *Promise*
   
      boolean value indicating whether this feature is enabled or not
   
   



.. js:method:: View.getLight

   .. rst-class:: sig-pretty-signature
   
      | getLight(**key**\ : :js:data:`LightKey <Sc.LightKey.Invalid>`\ ): *Promise*
   
   Get a Light given its key if it exists.
   
   **Parameters**
   
      **key**\ : :js:data:`LightKey <Sc.LightKey.Invalid>`
   
         The key of the light to get.
   
   
   
   **Returns**\ : *Promise*
   
      A Light given its key if it exists.
   
   



.. js:method:: View.getLightingEnabled

   .. rst-class:: sig-pretty-signature
   
      | getLightingEnabled(): *boolean*
   
   Returns whether lighting is enabled.
   
   See also [[setLightingEnabled]].
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getLightKeys

   .. rst-class:: sig-pretty-signature
   
      | getLightKeys(): *Promise*
   
   Get the list of light keys in the scene.
   
   **Returns**\ : *Promise*
   
      The list of light keys in the scene.
   
   



.. js:method:: View.getLineJitterEnabled

   .. rst-class:: sig-pretty-signature
   
      | getLineJitterEnabled(): *boolean*
   
   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]]
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getLineJitterFrequency

   .. rst-class:: sig-pretty-signature
   
      | getLineJitterFrequency(): *number*
   
   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]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getLineJitterInstanceCount

   .. rst-class:: sig-pretty-signature
   
      | getLineJitterInstanceCount(): *number*
   
   Returns the number of times lines are drawn when line jitter is enabled. The default value is 4.
   
   See also:
   
   
   - [[getLineJitterEnabled]]
   - [[setLineJitterInstanceCount]]
   - [[getLineJitterRadius]]
   - [[getLineJitterFrequency]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getLineJitterRadius

   .. rst-class:: sig-pretty-signature
   
      | getLineJitterRadius(): *number*
   
   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]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getLineVisibility

   .. rst-class:: sig-pretty-signature
   
      | getLineVisibility(): *boolean*
   
   Gets the line visibility for the view.
   
   **Returns**\ : *boolean*
   
      whether lines are currently being drawn.
   
   



.. js:method:: View.getMassageExtremeCameras

   .. rst-class:: sig-pretty-signature
   
      | getMassageExtremeCameras(): *boolean*
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getNavCube

   .. rst-class:: sig-pretty-signature
   
      | getNavCube(): :js:class:`~NavCube`
   
   **Returns**\ : :js:class:`~NavCube`
   



.. js:method:: View.getPointShape

   .. rst-class:: sig-pretty-signature
   
      | getPointShape(): *Promise*
   
   Gets the PointShape. See [[PointShape]]
   
   **Returns**\ : *Promise*
   



.. js:method:: View.getPointSize

   .. rst-class:: sig-pretty-signature
   
      | getPointSize(): *Promise*
   
   Gets the diameter of rendered points. See [[PointSizeUnit]].
   
   **Returns**\ : *Promise*
   



.. js:method:: View.getProjectionMatrix

   .. rst-class:: sig-pretty-signature
   
      | getProjectionMatrix(): :js:class:`~Matrix`
   
   Gets the projection matrix.
   
   **Returns**\ : :js:class:`~Matrix`
   
      The current projection matrix.
   
   



.. js:method:: View.getProjectionMode

   .. rst-class:: sig-pretty-signature
   
      | getProjectionMode(): :js:data:`~Projection`
   
   Gets the projection mode.
   
   **Returns**\ : :js:data:`~Projection`
   
      The current projection mode.
   
   



.. js:method:: View.getSilhouetteColor

   .. rst-class:: sig-pretty-signature
   
      | getSilhouetteColor(): :js:class:`~Color`
   
   Returns the color of silhouette edges.
   
   See also:
   
   
   - [[setSilhouetteColor]]
   - [[setSilhouetteEnabled]]
   
   **Returns**\ : :js:class:`~Color`
   



.. js:method:: View.getSilhouetteEnabled

   .. rst-class:: sig-pretty-signature
   
      | getSilhouetteEnabled(): *boolean*
   
   Returns whether silhouette edges are enabled.
   
   Silhouette edges are always enabled in hidden line mode, regardless of the return value.
   
   See [[setSilhouetteEnabled]].
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getSilhouetteOpacity

   .. rst-class:: sig-pretty-signature
   
      | getSilhouetteOpacity(): *number*
   
   Returns the opacity of silhouette edges.
   
   See also:
   
   
   - [[setSilhouetteOpacity]]
   - [[setSilhouetteEnabled]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getSilhouetteThreshold

   .. rst-class:: sig-pretty-signature
   
      | getSilhouetteThreshold(): *number*
   
   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]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getSilhouetteThresholdRampWidth

   .. rst-class:: sig-pretty-signature
   
      | getSilhouetteThresholdRampWidth(): *number*
   
   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]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getSimpleReflectionAttenuation

   .. rst-class:: sig-pretty-signature
   
      | getSimpleReflectionAttenuation(): { farDistance: *number*\ , nearDistance: *number*\ , unit: :js:data:`~SimpleReflectionAttenuationUnit` }
   
   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**\ : { farDistance: *number*\ , nearDistance: *number*\ , unit: :js:data:`~SimpleReflectionAttenuationUnit` }
   
      An object with the following properties:
   
   



.. js:method:: View.getSimpleReflectionBlurInterval

   .. rst-class:: sig-pretty-signature
   
      | getSimpleReflectionBlurInterval(): [*number*\ , :js:data:`~BlurIntervalUnit`\ ]
   
   Returns the distance between samples taken by the blur filter used for simple reflections.
   
   See also:
   
   
   - [[setSimpleReflectionBlurInterval]]
   - [[setSimpleReflectionEnabled]]
   
   **Returns**\ : [*number*\ , :js:data:`~BlurIntervalUnit`\ ]
   



.. js:method:: View.getSimpleReflectionBlurSamples

   .. rst-class:: sig-pretty-signature
   
      | getSimpleReflectionBlurSamples(): *number*
   
   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]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getSimpleReflectionEnabled

   .. rst-class:: sig-pretty-signature
   
      | getSimpleReflectionEnabled(): *boolean*
   
   Returns whether simple reflections are enabled.
   
   See [[setSimpleReflectionEnabled]].
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getSimpleReflectionFadeAngle

   .. rst-class:: sig-pretty-signature
   
      | getSimpleReflectionFadeAngle(): *number*
   
   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]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getSimpleReflectionOpacity

   .. rst-class:: sig-pretty-signature
   
      | getSimpleReflectionOpacity(): *number*
   
   Returns the opacity of simple reflections.
   
   See also:
   
   
   - [[setSimpleReflectionOpacity]]
   - [[setSimpleReflectionEnabled]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getSimpleShadowBlurInterval

   .. rst-class:: sig-pretty-signature
   
      | getSimpleShadowBlurInterval(): *number*
   
   Returns the distance in pixels between samples taken by the blur filter used for simple shadows.
   
   See also:
   
   
   - [[setSimpleShadowBlurInterval]]
   - [[setSimpleShadowEnabled]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getSimpleShadowBlurSamples

   .. rst-class:: sig-pretty-signature
   
      | getSimpleShadowBlurSamples(): *number*
   
   Returns the diameter of the blur filter used for simple shadows.
   
   See also:
   
   
   - [[setSimpleShadowBlurSamples]]
   - [[setSimpleShadowEnabled]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getSimpleShadowColor

   .. rst-class:: sig-pretty-signature
   
      | getSimpleShadowColor(): :js:class:`~Color`
   
   Returns the color of simple shadows.
   
   See also:
   
   
   - [[setSimpleShadowColor]]
   - [[setSimpleShadowEnabled]]
   
   **Returns**\ : :js:class:`~Color`
   



.. js:method:: View.getSimpleShadowEnabled

   .. rst-class:: sig-pretty-signature
   
      | getSimpleShadowEnabled(): *boolean*
   
   Returns whether simple shadows are enabled.
   
   See [[setSimpleShadowEnabled]].
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getSimpleShadowInteractiveUpdateEnabled

   .. rst-class:: sig-pretty-signature
   
      | getSimpleShadowInteractiveUpdateEnabled(): *boolean*
   
   Returns whether simple shadows will be updated during user interaction.
   
   See also:
   
   
   - [[setSimpleShadowInteractiveUpdateEnabled]]
   - [[setSimpleShadowEnabled]]
   
   **Returns**\ : *boolean*
   



.. js:method:: View.getSimpleShadowOpacity

   .. rst-class:: sig-pretty-signature
   
      | getSimpleShadowOpacity(): *number*
   
   Returns the opacity of simple shadows.
   
   See also:
   
   
   - [[setSimpleShadowOpacity]]
   - [[setSimpleShadowEnabled]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getSimpleShadowResolution

   .. rst-class:: sig-pretty-signature
   
      | getSimpleShadowResolution(): *number*
   
   Returns the width and height in pixels of the texture image into which simple shadows are drawn.
   
   See also:
   
   
   - [[getSimpleShadowResolution]]
   - [[setSimpleShadowEnabled]]
   
   **Returns**\ : *number*
   



.. js:method:: View.getToonShadingBandCount

   .. rst-class:: sig-pretty-signature
   
      | getToonShadingBandCount(): *number*
   
   Gets the current number of discrete shading bands that will be used when toon shading is enabled.
   
   **Returns**\ : *number*
   



.. js:method:: View.getToonShadingSpecularFactor

   .. rst-class:: sig-pretty-signature
   
      | getToonShadingSpecularFactor(): *number*
   
   Gets the current toon shading specular scale factor.
   
   **Returns**\ : *number*
   



.. js:method:: View.getViewMatrix

   .. rst-class:: sig-pretty-signature
   
      | getViewMatrix(): :js:class:`~Matrix`
   
   Gets the view matrix.
   
   **Returns**\ : :js:class:`~Matrix`
   
      The current view matrix.
   
   



.. js:method:: View.getViewOrientationCamera

   .. rst-class:: sig-pretty-signature
   
      | getViewOrientationCamera(**orientation**\ : :js:data:`~ViewOrientation`\ , **bounding**\ : :js:class:`~Box`\ , **preserveModelUp**\ : *boolean*\ ?): *Promise*
   
   Returns a camera set to a ViewOrientation
   
   **Parameters**
   
      **orientation**\ : :js:data:`~ViewOrientation`
   
         The desired view orientation for the camera.
   
   
      **bounding**\ : :js:class:`~Box`
   
         Optional bounding to fit the camera about. If not supplied, the model bounding will be used.
   
   
      **preserveModelUp**\ : *boolean* = true
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.injectViewOrientationChangeEvent

   .. rst-class:: sig-pretty-signature
   
      | injectViewOrientationChangeEvent(): *void*
   
   hidden
   
   **Returns**\ : *void*
   



.. js:method:: View.isolateNodes

   .. rst-class:: sig-pretty-signature
   
      | isolateNodes(**nodeIds**\ : *number*\ [], **duration**\ : *number*\ ?, **fitNodes**\ : *boolean*\ ?, **initiallyHiddenStayHidden**\ : (*None* \| *boolean*\ )?): *Promise*
   
   Hides all nodes except those specified. Also fits the camera to those nodes' bounding box.
   
   **Parameters**
   
      **nodeIds**\ : *number*\ []
   
         An array of the node IDs to be isolated.
   
   
      **duration**\ : *number* = DefaultTransitionDuration
   
         Time in milliseconds for the camera transition to the new camera view.
   
   
      **fitNodes**\ : *boolean* = true
   
         If true, then the view is fitted around the isolated nodes.
   
   
      **initiallyHiddenStayHidden**\ : (*None* \| *boolean*\ ) = null
   
         Controls whether or not initially hidden geometries stay hidden. Default behavior is driven by [[setBehaviorInitiallyHidden]].
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.pickAllFromPoint

   .. rst-class:: sig-pretty-signature
   
      | pickAllFromPoint(**point**\ : :js:class:`~Point2`\ , **config**\ : :js:class:`~PickConfig`\ ): *Promise*
   
   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.
   
   **Parameters**
   
      **point**\ : :js:class:`~Point2`
   
         Canvas position to pick from.
   
   
      **config**\ : :js:class:`~PickConfig`
   
         The configuration object used for this picking operation.
   
   
   
   **Returns**\ : *Promise*
   
      An object containing the result of the picking operation.
   
   



.. js:method:: View.pickAllFromRay

   .. rst-class:: sig-pretty-signature
   
      | pickAllFromRay(**ray**\ : :js:class:`~Ray`\ , **config**\ : :js:class:`~PickConfig`\ ): *Promise*
   
   Performs a selection operation from the given world-space ray. All candidate entities are returned. This method does not trigger a selection event.
   
   **Parameters**
   
      **ray**\ : :js:class:`~Ray`
   
         The world-space ray to perform the selection with.
   
   
      **config**\ : :js:class:`~PickConfig`
   
         The configuration object used for this picking operation.
   
   
   
   **Returns**\ : *Promise*
   
      An object containing the result of the picking operation.
   
   



.. js:method:: View.pickFromPoint

   .. rst-class:: sig-pretty-signature
   
      | pickFromPoint(**point**\ : :js:class:`~Point2`\ , **config**\ : :js:class:`~PickConfig`\ ): *Promise*
   
   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.
   
   **Parameters**
   
      **point**\ : :js:class:`~Point2`
   
         Canvas position to pick from.
   
   
      **config**\ : :js:class:`~PickConfig`
   
         The configuration object used for this picking operation.
   
   
   
   **Returns**\ : *Promise*
   
      An object containing the result of the picking operation.
   
   



.. js:method:: View.pickFromRay

   .. rst-class:: sig-pretty-signature
   
      | pickFromRay(**ray**\ : :js:class:`~Ray`\ , **config**\ : :js:class:`~PickConfig`\ ): *Promise*
   
   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.
   
   **Parameters**
   
      **ray**\ : :js:class:`~Ray`
   
         The world-space ray to perform the selection with.
   
   
      **config**\ : :js:class:`~PickConfig`
   
         The configuration object used for this picking operation.
   
   
   
   **Returns**\ : *Promise*
   
      An object containing the result of the picking operation.
   
   



.. js:method:: View.pointToWindowPosition

   .. rst-class:: sig-pretty-signature
   
      | pointToWindowPosition(**pt**\ : :js:class:`~Point2`\ ): :js:class:`~Point2`
   
   Creates a normalized window position in the range of (-1, 1) for a given point in window space.
   
   **Parameters**
   
      **pt**\ : :js:class:`~Point2`
   
   
   **Returns**\ : :js:class:`~Point2`
   
      the normalized window position
   
   



.. js:method:: View.projectPoint

   .. rst-class:: sig-pretty-signature
   
      | projectPoint(**source**\ : :js:class:`~Point3`\ , **camera**\ : :js:class:`~Camera`\ ): :js:class:`~Point3`
   
   Projects a 3d world space point to a 3d screen space point.
   
   **Parameters**
   
      **source**\ : :js:class:`~Point3`
   
      **camera**\ : :js:class:`~Camera`
   
         if a camera is provided, its projection and view matrix will be used.
   
   
   
   **Returns**\ : :js:class:`~Point3`
   
      point projected into 3d screen space.
   
   



.. js:method:: View.raycastFromPoint

   .. rst-class:: sig-pretty-signature
   
      | raycastFromPoint(**point**\ : :js:class:`~Point2`\ ): (*None* \| :js:class:`~Ray`\ )
   
   Creates a ray based on a viewport position.
   
   **Parameters**
   
      **point**\ : :js:class:`~Point2`
   
         The (X, Y) viewport position.
   
   
   
   **Returns**\ : (*None* \| :js:class:`~Ray`\ )
   
      The ray if it was generated, otherwise null.
   
   



.. js:method:: View.redraw

   .. rst-class:: sig-pretty-signature
   
      | redraw(**callback**\ : () => *void*\ ): *void*
   
   Forces the a redraw of this view.
   
   **Parameters**
   
      **callback**\ : () => *void*
   
         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.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.removeLight

   .. rst-class:: sig-pretty-signature
   
      | removeLight(**key**\ : :js:data:`LightKey <Sc.LightKey.Invalid>`\ ): *void*
   
   removes a light from the scene. See [[Light]].
   
   See also:
   
   
   - [[addLight]]
   - [[clearLights]]
   - [[updateLight]]
   
   **Parameters**
   
      **key**\ : :js:data:`LightKey <Sc.LightKey.Invalid>`
   
   
   **Returns**\ : *void*
   



.. js:method:: View.resetCamera

   .. rst-class:: sig-pretty-signature
   
      | resetCamera(**duration**\ : *number*\ ?): *Promise*
   
   Resets the camera to the initial view of the model when first loaded.
   
   **Parameters**
   
      **duration**\ : *number* = DefaultTransitionDuration
   
         the amount of time in milliseconds that the camera transition between the current and initial view should take.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setAmbientLightColor

   .. rst-class:: sig-pretty-signature
   
      | setAmbientLightColor(**value**\ : :js:class:`~Color`\ ): *void*
   
   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]].
   
   **Parameters**
   
      **value**\ : :js:class:`~Color`
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setAmbientOcclusionEnabled

   .. rst-class:: sig-pretty-signature
   
      | setAmbientOcclusionEnabled(**enabled**\ : *boolean*\ ?): *Promise*
   
   Sets whether ambient occlusion is enabled
   
   **Parameters**
   
      **enabled**\ : *boolean* = true
   
         sets whether ambient occlusion will be enabled
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setAmbientOcclusionRadius

   .. rst-class:: sig-pretty-signature
   
      | setAmbientOcclusionRadius(**radius**\ : *number*\ ): *Promise*
   
   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.
   
   **Parameters**
   
      **radius**\ : *number*
   
         the ambient occlusion radius.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setAntiAliasingMode

   .. rst-class:: sig-pretty-signature
   
      | setAntiAliasingMode(**antiAliasingMode**\ : :js:data:`~AntiAliasingMode`\ ): *Promise*
   
   Sets the anti-aliasing mode for the scene.
   
   **Parameters**
   
      **antiAliasingMode**\ : :js:data:`~AntiAliasingMode`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setBackfacesVisible

   .. rst-class:: sig-pretty-signature
   
      | setBackfacesVisible(**visible**\ : *boolean*\ ): *Promise*
   
   Sets whether backfaces should be rendered in the scene.
   
   **Parameters**
   
      **visible**\ : *boolean*
   
         Boolean value indicating whether backfaces should be rendered.
   
   
   
   **Returns**\ : *Promise*
   
      Promise that is resolved when this operation has completed.
   
   



.. js:method:: View.setBackgroundColor

   .. rst-class:: sig-pretty-signature
   
      | setBackgroundColor(**top**\ : (*None* \| :js:class:`~Color`\ )?, **bottom**\ : (*None* \| :js:class:`~Color`\ )?): *Promise*
   
   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 :js:data:`~DrawMode.HiddenLine`\ , the background color is defined in pouet``HiddenLineSettings HiddenLineSettings``\ pouet. See pouet``HiddenLineSettings.setBackgroundColor HiddenLineSettings.setBackgroundColor``\ pouet.
   
   **Parameters**
   
      **top**\ : (*None* \| :js:class:`~Color`\ ) = null
   
         the top color for the the background gradient.
   
   
      **bottom**\ : (*None* \| :js:class:`~Color`\ ) = null
   
         the bottom color for the the background gradient.
   
   
   
   **Returns**\ : *Promise*
   
      a promise that resolves when the operation has completed.
   
   



.. js:method:: View.setBloomEnabled

   .. rst-class:: sig-pretty-signature
   
      | setBloomEnabled(**value**\ : *boolean*\ ?): *void*
   
   Sets whether bloom is enabled.
   
   See [[getBloomEnabled]].
   
   **Parameters**
   
      **value**\ : *boolean* = true
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setBloomIntensityScale

   .. rst-class:: sig-pretty-signature
   
      | setBloomIntensityScale(**value**\ : *number*\ ): *void*
   
   Sets the intensity of the bloom effect. This value is multiplied by the intensities of the individual layers set by [[setBloomLayers]].
   
   See [[getBloomIntensityScale]].
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setBloomLayers

   .. rst-class:: sig-pretty-signature
   
      | setBloomLayers(**layers**\ : :js:class:`~BloomLayerInfo`\ []): *void*
   
   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]].
   
   **Parameters**
   
      **layers**\ : :js:class:`~BloomLayerInfo`\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setBloomThreshold

   .. rst-class:: sig-pretty-signature
   
      | setBloomThreshold(**value**\ : *number*\ ): *void*
   
   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]].
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setBloomThresholdRampWidth

   .. rst-class:: sig-pretty-signature
   
      | setBloomThresholdRampWidth(**value**\ : *number*\ ): *void*
   
   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]].
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setBoundingCalculationIgnoresInvisible

   .. rst-class:: sig-pretty-signature
   
      | setBoundingCalculationIgnoresInvisible(**value**\ : *boolean*\ ): *void*
   
   Sets whether or not bounding calculations by this View object ignores invisible geometry.
   
   **Parameters**
   
      **value**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setCamera

   .. rst-class:: sig-pretty-signature
   
      | setCamera(**camera**\ : (*None* \| :js:class:`~Camera`\ ), **duration**\ : *number*\ ?): *boolean*
   
   Sets the current camera
   
   **Parameters**
   
      **camera**\ : (*None* \| :js:class:`~Camera`\ )
   
         the camera to set
   
   
      **duration**\ : *number* = 0
   
         camera transition time in milliseconds
   
   
   
   **Returns**\ : *boolean*
   



.. js:method:: View.setDisplayIncompleteFrames

   .. rst-class:: sig-pretty-signature
   
      | setDisplayIncompleteFrames(**value**\ : *boolean*\ ): *Promise*
   
   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.
   
   **Parameters**
   
      **value**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setDrawMode

   .. rst-class:: sig-pretty-signature
   
      | setDrawMode(**drawMode**\ : :js:data:`~DrawMode`\ ): *Promise*
   
   Sets the drawing mode for the scene.
   
   **Parameters**
   
      **drawMode**\ : :js:data:`~DrawMode`
   
         The drawing mode to set.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setEyeDomeLightingBlurEdgeDistance

   .. rst-class:: sig-pretty-signature
   
      | setEyeDomeLightingBlurEdgeDistance(**value**\ : *number*\ ): *Promise*
   
   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)
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setEyeDomeLightingBlurInterval

   .. rst-class:: sig-pretty-signature
   
      | setEyeDomeLightingBlurInterval(**value**\ : *number*\ ): *Promise*
   
   Sets the distance in pixels between samples taken by the blur filter used in eye-dome lighting for point clouds. (default: 1)
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setEyeDomeLightingBlurSamples

   .. rst-class:: sig-pretty-signature
   
      | setEyeDomeLightingBlurSamples(**value**\ : *number*\ ): *Promise*
   
   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)
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setEyeDomeLightingEnabled

   .. rst-class:: sig-pretty-signature
   
      | setEyeDomeLightingEnabled(**enabled**\ : *boolean*\ ?): *Promise*
   
   Enables or disables eye-dome lighting for point clouds. (default: disabled)
   
   **Parameters**
   
      **enabled**\ : *boolean* = true
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setEyeDomeLightingOpacity

   .. rst-class:: sig-pretty-signature
   
      | setEyeDomeLightingOpacity(**value**\ : *number*\ ): *Promise*
   
   Sets the opacity of the shading rendered by eye-dome lighting for point clouds. (default: 1)
   
   **Parameters**
   
      **value**\ : *number*
   
         A number in the range [0,1].
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setEyeDomeLightingShadingEdgeDistance

   .. rst-class:: sig-pretty-signature
   
      | setEyeDomeLightingShadingEdgeDistance(**value**\ : *number*\ ): *Promise*
   
   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)
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setFaceVisibility

   .. rst-class:: sig-pretty-signature
   
      | setFaceVisibility(**faceVisibility**\ : *boolean*\ ): *Promise*
   
   Sets the face visibility for the view.
   
   **Parameters**
   
      **faceVisibility**\ : *boolean*
   
         indicates whether to draw faces.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setGoochBaseColorProminence

   .. rst-class:: sig-pretty-signature
   
      | setGoochBaseColorProminence(**prominence**\ : *number*\ ): *void*
   
   Sets the prominence of the object's base color in Gooch shading.
   
   **Parameters**
   
      **prominence**\ : *number*
   
         this scalar value determines the amount of the object's base color is applied to the final shaded color.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setGoochBlue

   .. rst-class:: sig-pretty-signature
   
      | setGoochBlue(**blue**\ : *number*\ ): *void*
   
   Sets the value to use as the blue tone in Gooch shading.
   
   **Parameters**
   
      **blue**\ : *number*
   
         the blue tone.  This value should be in the range [0,1]
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setGoochLuminanceShiftStrength

   .. rst-class:: sig-pretty-signature
   
      | setGoochLuminanceShiftStrength(**shiftStrength**\ : *number*\ ): *void*
   
   Sets the strength of the luminance shift in Gooch shading.
   
   **Parameters**
   
      **shiftStrength**\ : *number*
   
         this scalar values determines the amount of luminance shift that is applied to the object's base color
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setGoochYellow

   .. rst-class:: sig-pretty-signature
   
      | setGoochYellow(**yellow**\ : *number*\ ): *void*
   
   Sets the value to use as the yellow tone in Gooch shading.
   
   **Parameters**
   
      **yellow**\ : *number*
   
         the yellow tone. This value should be in the range [0,1]
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setGroundPlane

   .. rst-class:: sig-pretty-signature
   
      | setGroundPlane(**plane**\ : :js:class:`~GroundPlane`\ ): *void*
   
   Defines the invisible ground plane onto which simple shadows and reflections are projected.
   
   See also:
   
   
   - [[getGroundPlane]]
   - [[setSimpleShadowEnabled]]
   - [[setSimpleReflectionEnabled]]
   
   **Parameters**
   
      **plane**\ : :js:class:`~GroundPlane`
   
         The plane to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setHardEdgeColor

   .. rst-class:: sig-pretty-signature
   
      | setHardEdgeColor(**value**\ : :js:class:`~Color`\ ): *void*
   
   Sets the color of hard edges.
   
   See also:
   
   
   - [[getHardEdgeColor]]
   - [[setHardEdgesEnabled]]
   
   **Parameters**
   
      **value**\ : :js:class:`~Color`
   
         The color to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setHardEdgeOpacity

   .. rst-class:: sig-pretty-signature
   
      | setHardEdgeOpacity(**value**\ : *number*\ ): *void*
   
   Sets the opacity of hard edges.
   
   See also:
   
   
   - [[getHardEdgeOpacity]]
   - [[setHardEdgesEnabled]]
   
   **Parameters**
   
      **value**\ : *number*
   
         The opacity to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setHardEdgesEnabled

   .. rst-class:: sig-pretty-signature
   
      | setHardEdgesEnabled(**value**\ : *boolean*\ ?): *void*
   
   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]]
   
   **Parameters**
   
      **value**\ : *boolean* = true
   
         Whether hard edges should be enabled.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setHardEdgeThreshold

   .. rst-class:: sig-pretty-signature
   
      | setHardEdgeThreshold(**degrees**\ : *number*\ ): *void*
   
   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]]
   
   **Parameters**
   
      **degrees**\ : *number*
   
         The threshold to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setHardEdgeThresholdRampWidth

   .. rst-class:: sig-pretty-signature
   
      | setHardEdgeThresholdRampWidth(**degrees**\ : *number*\ ): *void*
   
   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]]
   
   **Parameters**
   
      **degrees**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setImageBasedLightingEnabled

   .. rst-class:: sig-pretty-signature
   
      | setImageBasedLightingEnabled(**value**\ : *boolean*\ ): *void*
   
   Sets whether image-based lighting is enabled for physically-based materials.
   
   See also:
   
   
   - [[getImageBasedLightingEnabled]]
   - [[setImageBasedLightingIntensity]]
   - [[setImageBasedLightingOrientation]]
   
   **Parameters**
   
      **value**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setImageBasedLightingEnvironment

   .. rst-class:: sig-pretty-signature
   
      | setImageBasedLightingEnvironment(**data**\ : (*None* \| *Uint8Array*\ )): *void*
   
   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/
   
   
   ::
   
      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
   
   **Parameters**
   
      **data**\ : (*None* \| *Uint8Array*\ )
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setImageBasedLightingIntensity

   .. rst-class:: sig-pretty-signature
   
      | setImageBasedLightingIntensity(**value**\ : *number*\ ): *void*
   
   Sets the intensity (brightness) of image-based lighting applied to physically-based materials.
   
   The default value is 1.
   
   See also:
   
   
   - [[getImageBasedLightingIntensity]]
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingOrientation]]
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setImageBasedLightingOrientation

   .. rst-class:: sig-pretty-signature
   
      | setImageBasedLightingOrientation(**value**\ : :js:class:`~ImageBasedLightingOrientation`\ ): *void*
   
   Sets the orientation of the image-based lighting environment applied to physically-based materials.
   
   See also:
   
   
   - [[getImageBasedLightingOrientation]]
   - [[setImageBasedLightingEnabled]]
   - [[setImageBasedLightingIntensity]]
   
   **Parameters**
   
      **value**\ : :js:class:`~ImageBasedLightingOrientation`
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setInitialCamera

   .. rst-class:: sig-pretty-signature
   
      | setInitialCamera(**camera**\ : :js:class:`~Camera`\ ): *void*
   
   Sets the camera that will be used for the initial camera view.
   
   **Parameters**
   
      **camera**\ : :js:class:`~Camera`
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setInteractiveDrawDelay

   .. rst-class:: sig-pretty-signature
   
      | setInteractiveDrawDelay(**value**\ : *number*\ ): *Promise*
   
   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.
   
   **Parameters**
   
      **value**\ : *number*
   
         The delay in milliseconds
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setInteractiveDrawLimitIncreaseEnabled

   .. rst-class:: sig-pretty-signature
   
      | setInteractiveDrawLimitIncreaseEnabled(**enable**\ : *boolean*\ ): *void*
   
   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.
   
   **Parameters**
   
      **enable**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setLightingEnabled

   .. rst-class:: sig-pretty-signature
   
      | setLightingEnabled(**enabled**\ : *boolean*\ ?): *Promise*
   
   Sets whether lighting is enabled. When disabled, material colors are drawn at full intensity.
   
   See also [[InstanceModifier.DoNotLight]], [[clearLights]].
   
   **Parameters**
   
      **enabled**\ : *boolean* = true
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setLineJitterEnabled

   .. rst-class:: sig-pretty-signature
   
      | setLineJitterEnabled(**value**\ : *boolean*\ ?): *void*
   
   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]]
   
   **Parameters**
   
      **value**\ : *boolean* = true
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setLineJitterFrequency

   .. rst-class:: sig-pretty-signature
   
      | setLineJitterFrequency(**value**\ : *number*\ ): *void*
   
   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]]
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setLineJitterInstanceCount

   .. rst-class:: sig-pretty-signature
   
      | setLineJitterInstanceCount(**value**\ : *number*\ ): *void*
   
   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]]
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setLineJitterRadius

   .. rst-class:: sig-pretty-signature
   
      | setLineJitterRadius(**value**\ : *number*\ ): *void*
   
   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]]
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setLineVisibility

   .. rst-class:: sig-pretty-signature
   
      | setLineVisibility(**lineVisibility**\ : *boolean*\ ): *Promise*
   
   Sets the line visibility for the view.
   
   **Parameters**
   
      **lineVisibility**\ : *boolean*
   
         indicates whether to draw lines.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setMassageExtremeCameras

   .. rst-class:: sig-pretty-signature
   
      | setMassageExtremeCameras(**value**\ : *boolean*\ ): *void*
   
   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
   
   **Parameters**
   
      **value**\ : *boolean*
   
         Whether to modify cameras
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setMinimumFramerate

   .. rst-class:: sig-pretty-signature
   
      | setMinimumFramerate(**minimum**\ : *number*\ ): *void*
   
   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.
   
   **Parameters**
   
      **minimum**\ : *number*
   
         The minimum framerate to be maintained by this view.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setPointShape

   .. rst-class:: sig-pretty-signature
   
      | setPointShape(**shape**\ : :js:data:`~PointShape`\ ): *Promise*
   
   Controls the appearance of rendered points. (default: Square) See [[PointShape]].
   
   **Parameters**
   
      **shape**\ : :js:data:`~PointShape`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setPointSize

   .. rst-class:: sig-pretty-signature
   
      | setPointSize(**size**\ : *number*\ , **unit**\ : :js:data:`~PointSizeUnit`\ ): *Promise*
   
   Sets the diameter of rendered points. (default: 1, ScreenPixels) See [[PointSizeUnit]].
   
   **Parameters**
   
      **size**\ : *number*
   
      **unit**\ : :js:data:`~PointSizeUnit`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setPointVisibilityTest

   .. rst-class:: sig-pretty-signature
   
      | setPointVisibilityTest(**points**\ : :js:class:`~Point3`\ []): *void*
   
   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]].
   
   **Parameters**
   
      **points**\ : :js:class:`~Point3`\ []
   
         The points to test. An empty array will disable the test.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setProjectionMode

   .. rst-class:: sig-pretty-signature
   
      | setProjectionMode(**projectionMode**\ : :js:data:`~Projection`\ ): *void*
   
   Sets the projection mode.
   
   **Parameters**
   
      **projectionMode**\ : :js:data:`~Projection`
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSilhouetteColor

   .. rst-class:: sig-pretty-signature
   
      | setSilhouetteColor(**value**\ : :js:class:`~Color`\ ): *void*
   
   Sets the color of silhouette edges.
   
   See also:
   
   
   - [[getSilhouetteColor]]
   - [[setSilhouetteEnabled]]
   
   **Parameters**
   
      **value**\ : :js:class:`~Color`
   
         The color to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSilhouetteEnabled

   .. rst-class:: sig-pretty-signature
   
      | setSilhouetteEnabled(**value**\ : *boolean*\ ?): *void*
   
   Enables or disables silhouette edges.
   
   Silhouette edges are always enabled in hidden line mode.
   
   See also:
   
   
   - [[getSilhouetteEnabled]]
   - [[setSilhouetteColor]]
   - [[setSilhouetteOpacity]]
   - [[setSilhouetteThreshold]]
   - [[setSilhouetteThresholdRampWidth]]
   
   **Parameters**
   
      **value**\ : *boolean* = true
   
         Whether silhouette edges should be enabled.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSilhouetteOpacity

   .. rst-class:: sig-pretty-signature
   
      | setSilhouetteOpacity(**value**\ : *number*\ ): *void*
   
   Sets the opacity of silhouette edges.
   
   See also:
   
   
   - [[getSilhouetteOpacity]]
   - [[setSilhouetteEnabled]]
   
   **Parameters**
   
      **value**\ : *number*
   
         The opacity to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSilhouetteThreshold

   .. rst-class:: sig-pretty-signature
   
      | setSilhouetteThreshold(**value**\ : *number*\ ): *void*
   
   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]]
   
   **Parameters**
   
      **value**\ : *number*
   
         The threshold to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSilhouetteThresholdRampWidth

   .. rst-class:: sig-pretty-signature
   
      | setSilhouetteThresholdRampWidth(**value**\ : *number*\ ): *void*
   
   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]]
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleReflectionAttenuation

   .. rst-class:: sig-pretty-signature
   
      | setSimpleReflectionAttenuation(**nearDistance**\ : *number*\ , **farDistance**\ : *number*\ , **unit**\ : :js:data:`~SimpleReflectionAttenuationUnit`\ ?): *void*
   
   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]]
   
   **Parameters**
   
      **nearDistance**\ : *number*
   
         The distance from the ground plane at which objects begin to fade.
   
   
      **farDistance**\ : *number*
   
         The distance from the ground plane at which objects are completely faded.
   
   
      **unit**\ : :js:data:`~SimpleReflectionAttenuationUnit` = SimpleReflectionAttenuationUnit.World
   
         The unit in which ``nearDistance`` and ``farDistance`` are specified. If unspecified, [[SimpleReflectionAttenuationUnit.World]] will be used.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleReflectionBlurInterval

   .. rst-class:: sig-pretty-signature
   
      | setSimpleReflectionBlurInterval(**value**\ : *number*\ , **unit**\ : :js:data:`~BlurIntervalUnit`\ ?): *void*
   
   Sets the distance between samples taken by the blur filter used for simple reflections.
   
   See also:
   
   
   - [[getSimpleReflectionBlurInterval]]
   - [[setSimpleReflectionEnabled]]
   
   **Parameters**
   
      **value**\ : *number*
   
         The interval to set.
   
   
      **unit**\ : :js:data:`~BlurIntervalUnit` = BlurIntervalUnit.Pixels
   
         The unit in which the ``value`` argument is specified.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleReflectionBlurSamples

   .. rst-class:: sig-pretty-signature
   
      | setSimpleReflectionBlurSamples(**value**\ : *number*\ ): *void*
   
   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]]
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleReflectionEnabled

   .. rst-class:: sig-pretty-signature
   
      | setSimpleReflectionEnabled(**value**\ : *boolean*\ ?): *void*
   
   Enables or disables simple reflections projected onto an invisible ground plane.
   
   See also:
   
   
   - [[getSimpleReflectionEnabled]]
   - [[setSimpleReflectionOpacity]]
   - [[setSimpleReflectionBlurSamples]]
   - [[setSimpleReflectionBlurInterval]]
   - [[setSimpleReflectionFadeAngle]]
   
   **Parameters**
   
      **value**\ : *boolean* = true
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleReflectionFadeAngle

   .. rst-class:: sig-pretty-signature
   
      | setSimpleReflectionFadeAngle(**degrees**\ : *number*\ ): *void*
   
   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]]
   
   **Parameters**
   
      **degrees**\ : *number*
   
         The angle in degrees.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleReflectionOpacity

   .. rst-class:: sig-pretty-signature
   
      | setSimpleReflectionOpacity(**value**\ : *number*\ ): *void*
   
   Sets the opacity of simple reflections.
   
   See also:
   
   
   - [[getSimpleReflectionOpacity]]
   - [[setSimpleReflectionEnabled]]
   
   **Parameters**
   
      **value**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleShadowBlurInterval

   .. rst-class:: sig-pretty-signature
   
      | setSimpleShadowBlurInterval(**value**\ : *number*\ ): *void*
   
   Sets the distance in pixels between samples taken by the blur filter used for simple shadows.
   
   See also:
   
   
   - [[getSimpleShadowBlurInterval]]
   - [[setSimpleShadowEnabled]]
   
   **Parameters**
   
      **value**\ : *number*
   
         The interval to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleShadowBlurSamples

   .. rst-class:: sig-pretty-signature
   
      | setSimpleShadowBlurSamples(**value**\ : *number*\ ): *void*
   
   Sets the diameter of the blur filter used for simple shadows. Setting the value to ``0`` will disable blurring.
   
   See also:
   
   
   - [[getSimpleShadowBlurSamples]]
   - [[setSimpleShadowEnabled]]
   
   **Parameters**
   
      **value**\ : *number*
   
         The number of samples.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleShadowColor

   .. rst-class:: sig-pretty-signature
   
      | setSimpleShadowColor(**color**\ : :js:class:`~Color`\ ): *void*
   
   Sets the color of simple shadows.
   
   See also:
   
   
   - [[getSimpleShadowColor]]
   - [[setSimpleShadowEnabled]]
   
   **Parameters**
   
      **color**\ : :js:class:`~Color`
   
         The color to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleShadowEnabled

   .. rst-class:: sig-pretty-signature
   
      | setSimpleShadowEnabled(**value**\ : *boolean*\ ?): *void*
   
   Enables or disables a full-scene shadow projected onto an invisible ground plane.
   
   See also:
   
   
   - [[getSimpleShadowEnabled]]
   - [[setSimpleShadowColor]]
   - [[setSimpleShadowOpacity]]
   - [[setGroundPlane]]
   - [[setSimpleShadowResolution]]
   - [[setSimpleShadowInteractiveUpdateEnabled]]
   
   **Parameters**
   
      **value**\ : *boolean* = true
   
         Whether simple shadows should be enabled.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleShadowInteractiveUpdateEnabled

   .. rst-class:: sig-pretty-signature
   
      | setSimpleShadowInteractiveUpdateEnabled(**value**\ : *boolean*\ ?): *void*
   
   Enables or disables updates to simple shadows during user interaction.
   
   See also:
   
   
   - [[getSimpleShadowInteractiveUpdateEnabled]]
   - [[setSimpleShadowEnabled]]
   
   **Parameters**
   
      **value**\ : *boolean* = true
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleShadowOpacity

   .. rst-class:: sig-pretty-signature
   
      | setSimpleShadowOpacity(**opacity**\ : *number*\ ): *void*
   
   Sets the opacity of simple shadows.
   
   See also:
   
   
   - [[getSimpleShadowOpacity]]
   - [[setSimpleShadowEnabled]]
   
   **Parameters**
   
      **opacity**\ : *number*
   
         The opacity to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setSimpleShadowResolution

   .. rst-class:: sig-pretty-signature
   
      | setSimpleShadowResolution(**pixels**\ : *number*\ ): *void*
   
   Sets the width and height in pixels of the texture image into which simple shadows are drawn.
   
   See also:
   
   
   - [[getSimpleShadowResolution]]
   - [[setSimpleShadowEnabled]]
   
   **Parameters**
   
      **pixels**\ : *number*
   
         The resolution to set.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setStatisticsDisplayVisibility

   .. rst-class:: sig-pretty-signature
   
      | setStatisticsDisplayVisibility(**visibility**\ : *boolean*\ ): *Promise*
   
   Sets the display for the default statistic overlay.
   
   **Parameters**
   
      **visibility**\ : *boolean*
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setToonShadingBandCount

   .. rst-class:: sig-pretty-signature
   
      | setToonShadingBandCount(**bandCount**\ : *number*\ ): *void*
   
   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.
   
   **Parameters**
   
      **bandCount**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setToonShadingSpecularFactor

   .. rst-class:: sig-pretty-signature
   
      | setToonShadingSpecularFactor(**specularFactor**\ : *number*\ ): *void*
   
   Sets a scale factor which controls the size of specular highlights when toon shading is enabled.  The default value is 1.0.
   
   **Parameters**
   
      **specularFactor**\ : *number*
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setTransparencyMode

   .. rst-class:: sig-pretty-signature
   
      | setTransparencyMode(**mode**\ : :js:data:`~TransparencyMode`\ ): *void*
   
   Sets how transparent objects are blended.
   
   **Parameters**
   
      **mode**\ : :js:data:`~TransparencyMode`
   
   
   **Returns**\ : *void*
   



.. js:method:: View.setViewOrientation

   .. rst-class:: sig-pretty-signature
   
      | setViewOrientation(**orientation**\ : :js:data:`~ViewOrientation`\ , **duration**\ : *number*\ ?, **bounding**\ : :js:class:`~Box`\ , **preserveModelUp**\ : *boolean*\ ?): *Promise*
   
   Sets the view to a standard orientation.
   
   **Parameters**
   
      **orientation**\ : :js:data:`~ViewOrientation`
   
         The desired view orientation for the camera.
   
   
      **duration**\ : *number* = DefaultTransitionDuration
   
         The number of milliseconds used to transition to the new camera.
   
   
      **bounding**\ : :js:class:`~Box`
   
         Optional bounding to fit the camera about. If not supplied, the model bounding will be used.
   
   
      **preserveModelUp**\ : *boolean* = true
   
         Indicates whether the camera up will be set according to model up or current camera.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setXRayColor

   .. rst-class:: sig-pretty-signature
   
      | setXRayColor(**element**\ : :js:data:`~ElementType`\ , **color**\ : :js:class:`~Color`\ , **group**\ : :js:data:`~XRayGroup`\ ?): *Promise*
   
   Sets the color applied to nodes in x-ray mode. By default, the color is unset.
   
   See [[unsetXRayColor]].
   
   **Parameters**
   
      **element**\ : :js:data:`~ElementType`
   
         the type of geometry to apply the color to
   
   
      **color**\ : :js:class:`~Color`
   
         the color to apply
   
   
      **group**\ : :js:data:`~XRayGroup` = XRayGroup.Selected
   
         the category of nodes that will be affected. If unspecified, [[XRayGroup.Selected]] will be used.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setXRayOpacity

   .. rst-class:: sig-pretty-signature
   
      | setXRayOpacity(**opacity**\ : *number*\ , **element**\ : :js:data:`~ElementType`\ ): *Promise*
   
   Sets the opacity of unselected items in x-ray mode.
   
   **Parameters**
   
      **opacity**\ : *number*
   
         a number between 0 and 1
   
   
      **element**\ : :js:data:`~ElementType`
   
         the type of element to which the opacity will apply. If unspecified, the opacity will apply to all element types.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.setXRayTransparencyMode

   .. rst-class:: sig-pretty-signature
   
      | setXRayTransparencyMode(**mode**\ : :js:data:`~TransparencyMode`\ ): *Promise*
   
   Sets how transparent (unselected) objects are blended in x-ray mode.
   
   **Parameters**
   
      **mode**\ : :js:data:`~TransparencyMode`
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.startComparison

   .. rst-class:: sig-pretty-signature
   
      | startComparison(**nodeIdSet1**\ : *number*\ [], **nodeIdSet2**\ : *number*\ [], **config**\ : :js:class:`~ComparisonConfig`\ ): *void*
   
   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]].
   
   **Parameters**
   
      **nodeIdSet1**\ : *number*\ []
   
         the nodes to compare against ``nodeIdSet2``
   
   
      **nodeIdSet2**\ : *number*\ []
   
         the nodes to compare against ``nodeIdSet1``
   
   
      **config**\ : :js:class:`~ComparisonConfig`
   
         settings controlling the behavior of the comparison
   
   
   
   **Returns**\ : *void*
   



.. js:method:: View.testPointVisibility

   .. rst-class:: sig-pretty-signature
   
      | testPointVisibility(**points**\ : :js:class:`~Point3`\ []): *Promise*
   
   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.
   
   **Parameters**
   
      **points**\ : :js:class:`~Point3`\ []
   
         The points to test.
   
   
   
   **Returns**\ : *Promise*
   
      A list of indices of the visible points.
   
   



.. js:method:: View.unprojectPoint

   .. rst-class:: sig-pretty-signature
   
      | unprojectPoint(**point**\ : :js:class:`~Point2`\ , **z**\ : *number*\ ): (*None* \| :js:class:`~Point3`\ )
   
   Unprojects a 2d screen space point to a 3d world space point.
   
   **Parameters**
   
      **point**\ : :js:class:`~Point2`
   
         2d screen space
   
   
      **z**\ : *number*
   
         z value, default 0
   
   
   
   **Returns**\ : (*None* \| :js:class:`~Point3`\ )
   
      point world space point
   
   



.. js:method:: View.unsetDefaultCamera

   .. rst-class:: sig-pretty-signature
   
      | unsetDefaultCamera(): *void*
   
   Unsets the default camera. After this is called the next camera to be set will be the new default
   
   **Returns**\ : *void*
   



.. js:method:: View.unsetXRayColor

   .. rst-class:: sig-pretty-signature
   
      | unsetXRayColor(**element**\ : :js:data:`~ElementType`\ , **group**\ : :js:data:`~XRayGroup`\ ?): *Promise*
   
   Unsets the color applied to selected items in x-ray mode. Selected items will be displayed without overriding their colors.
   
   See [[setXRayColor]].
   
   **Parameters**
   
      **element**\ : :js:data:`~ElementType`
   
         the type of geometry affected by the change
   
   
      **group**\ : :js:data:`~XRayGroup` = XRayGroup.Selected
   
         the category of nodes that will be affected. If unspecified, [[XRayGroup.Selected]] will be used.
   
   
   
   **Returns**\ : *Promise*
   



.. js:method:: View.updateCamera

   .. rst-class:: sig-pretty-signature
   
      | updateCamera(**camera**\ : :js:class:`~Camera`\ ): :js:class:`~Camera`
   
   Updates camera properties individually. This method should be used to incrementally update camera properties individually.
   
   **Parameters**
   
      **camera**\ : :js:class:`~Camera`
   
         the camera to set.
   
   
   
   **Returns**\ : :js:class:`~Camera`
   
      updated camera object.
   
   



.. js:method:: View.updateLight

   .. rst-class:: sig-pretty-signature
   
      | updateLight(**key**\ : :js:data:`LightKey <Sc.LightKey.Invalid>`\ , **light**\ : :js:class:`~Light`\ ): *void*
   
   Updates a light in the scene. See [[Light]].
   
   See also:
   
   
   - [[addLight]]
   - [[clearLights]]
   - [[removeLight]]
   
   **Parameters**
   
      **key**\ : :js:data:`LightKey <Sc.LightKey.Invalid>`
   
      **light**\ : :js:class:`~Light`
   
   
   **Returns**\ : *void*
   





