.. role:: clio-static
   :class: clio-flag clio-flag-static


############
BCFViewpoint
############

.. js:class:: Bcf.BCFViewpoint

   
   Index
   =====
   
   .. rubric:: Constructors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~Bcf.BCFViewpoint.constructor`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~Bcf.BCFViewpoint.activate`
   * :js:meth:`~Bcf.BCFViewpoint.export`
   * :js:meth:`~Bcf.BCFViewpoint.getCamera`
   * :js:meth:`~Bcf.BCFViewpoint.getClippingPlanes`
   * :js:meth:`~Bcf.BCFViewpoint.getColors`
   * :js:meth:`~Bcf.BCFViewpoint.getColorsToNodes`
   * :js:meth:`~Bcf.BCFViewpoint.getFilename`
   * :js:meth:`~Bcf.BCFViewpoint.getLines`
   * :js:meth:`~Bcf.BCFViewpoint.getSelection`
   * :js:meth:`~Bcf.BCFViewpoint.getSelectionNodes`
   * :js:meth:`~Bcf.BCFViewpoint.getViewpointGuid`
   * :js:meth:`~Bcf.BCFViewpoint.getVisibilityExceptionNodes`
   * :js:meth:`~Bcf.BCFViewpoint.getVisibilityExceptions`
   * :js:meth:`~Bcf.BCFViewpoint.setCamera`
   * :js:meth:`~Bcf.BCFViewpoint.setClippingPlanes`
   * :js:meth:`~Bcf.BCFViewpoint.setColorNodes`
   * :js:meth:`~Bcf.BCFViewpoint.setColors`
   * :js:meth:`~Bcf.BCFViewpoint.setDefaultVisibility`
   * :js:meth:`~Bcf.BCFViewpoint.setLines`
   * :js:meth:`~Bcf.BCFViewpoint.setSelection`
   * :js:meth:`~Bcf.BCFViewpoint.setSelectionNodes`
   * :js:meth:`~Bcf.BCFViewpoint.setVisibilityExceptionNodes`
   * :js:meth:`~Bcf.BCFViewpoint.setVisibilityExceptions`
   * :js:meth:`~static Bcf.BCFViewpoint.createViewpoint`
   
   




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

.. js:method:: Bcf.BCFViewpoint.constructor

   .. rst-class:: sig-pretty-signature
   
      | BCFViewpoint(**filename**\ : *string*\ , **document**\ : (*None* \| *Document*\ ), **version**\ : :js:data:`BCFVersion <Bcf.BCFVersion>`\ , **modelBounding**\ : :js:class:`~Box`\ , **modelUnits**\ : *number*\ , **viewer**\ : :js:class:`~IWebViewer`\ ): :js:class:`BCFViewpoint <Bcf.BCFViewpoint>`
   
   **Parameters**
   
      **filename**\ : *string*
   
      **document**\ : (*None* \| *Document*\ )
   
      **version**\ : :js:data:`BCFVersion <Bcf.BCFVersion>`
   
      **modelBounding**\ : :js:class:`~Box`
   
      **modelUnits**\ : *number*
   
      **viewer**\ : :js:class:`~IWebViewer`
   
   
   **Returns**\ : :js:class:`BCFViewpoint <Bcf.BCFViewpoint>`
   





Methods
=======

.. js:method:: Bcf.BCFViewpoint.activate

   .. rst-class:: sig-pretty-signature
   
      | activate(): *Promise*
   
   Activates viewpoint. Sets the camera, visibility, cutting planes, colors, and markup.
   
   **Returns**\ : *Promise*
   



.. js:method:: Bcf.BCFViewpoint.export

   .. rst-class:: sig-pretty-signature
   
      | export(): *XMLDocument*
   
   **Returns**\ : *XMLDocument*
   
      XML document containing the viewpoint data.
   
   



.. js:method:: Bcf.BCFViewpoint.getCamera

   .. rst-class:: sig-pretty-signature
   
      | getCamera(): (*None* \| :js:class:`~Camera`\ )
   
   Gets the viewpoint camera, or null if none is set.
   
   **Returns**\ : (*None* \| :js:class:`~Camera`\ )
   



.. js:method:: Bcf.BCFViewpoint.getClippingPlanes

   .. rst-class:: sig-pretty-signature
   
      | getClippingPlanes(): [:js:class:`~Point3`\ , :js:class:`~Point3`\ ][]
   
   Gets the clipping planes.
   
   **Returns**\ : [:js:class:`~Point3`\ , :js:class:`~Point3`\ ][]
   
      Array containing position and direction pairs.
   
   



.. js:method:: Bcf.BCFViewpoint.getColors

   .. rst-class:: sig-pretty-signature
   
      | getColors(): *Map*
   
   **Returns**\ : *Map*
   
      Map correlating color to components.
   
   



.. js:method:: Bcf.BCFViewpoint.getColorsToNodes

   .. rst-class:: sig-pretty-signature
   
      | getColorsToNodes(): *Map*
   
   **Returns**\ : *Map*
   
      Map correlating color to nodes.
   
   



.. js:method:: Bcf.BCFViewpoint.getFilename

   .. rst-class:: sig-pretty-signature
   
      | getFilename(): *string*
   
   Gets the viewpoint filename.
   
   **Returns**\ : *string*
   



.. js:method:: Bcf.BCFViewpoint.getLines

   .. rst-class:: sig-pretty-signature
   
      | getLines(): [:js:class:`~Point3`\ , :js:class:`~Point3`\ ][]
   
   Gets markup lines.
   
   **Returns**\ : [:js:class:`~Point3`\ , :js:class:`~Point3`\ ][]
   
      Array containing start point and end point line pairs.
   
   



.. js:method:: Bcf.BCFViewpoint.getSelection

   .. rst-class:: sig-pretty-signature
   
      | getSelection(): *string*\ []
   
   Gets a list of generic IDs that are in the selection set.
   
   **Returns**\ : *string*\ []
   



.. js:method:: Bcf.BCFViewpoint.getSelectionNodes

   .. rst-class:: sig-pretty-signature
   
      | getSelectionNodes(): *number*\ []
   
   Gets a list of node IDs that are in the selection set.
   
   **Returns**\ : *number*\ []
   



.. js:method:: Bcf.BCFViewpoint.getViewpointGuid

   .. rst-class:: sig-pretty-signature
   
      | getViewpointGuid(): (*None* \| *string*\ )
   
   Gets the GUID associated with the viewpoint.
   
   **Returns**\ : (*None* \| *string*\ )
   



.. js:method:: Bcf.BCFViewpoint.getVisibilityExceptionNodes

   .. rst-class:: sig-pretty-signature
   
      | getVisibilityExceptionNodes(): *number*\ []
   
   Gets the visibility exception node ids.
   
   **Returns**\ : *number*\ []
   
      Array of NodeIds corresponding to components.
   
   



.. js:method:: Bcf.BCFViewpoint.getVisibilityExceptions

   .. rst-class:: sig-pretty-signature
   
      | getVisibilityExceptions(): *string*\ []
   
   Gets the visibility exception generic ids.
   
   **Returns**\ : *string*\ []
   
      Array of GenericIds corresponding to components.
   
   



.. js:method:: Bcf.BCFViewpoint.setCamera

   .. rst-class:: sig-pretty-signature
   
      | setCamera(**camera**\ : :js:class:`~Camera`\ ): *void*
   
   Sets the viewpoint camera.
   
   **Parameters**
   
      **camera**\ : :js:class:`~Camera`
   
   
   **Returns**\ : *void*
   



.. js:method:: Bcf.BCFViewpoint.setClippingPlanes

   .. rst-class:: sig-pretty-signature
   
      | setClippingPlanes(**planes**\ : [:js:class:`~Point3`\ , :js:class:`~Point3`\ ][]): *void*
   
   Sets the clipping planes.
   
   **Parameters**
   
      **planes**\ : [:js:class:`~Point3`\ , :js:class:`~Point3`\ ][]
   
         array containing position and direction pairs.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: Bcf.BCFViewpoint.setColorNodes

   .. rst-class:: sig-pretty-signature
   
      | setColorNodes(**colorNodeMap**\ : *Map*\ ): *void*
   
   Sets the colors.
   
   **Parameters**
   
      **colorNodeMap**\ : *Map*
   
         Map correlating color to BfcNodes.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: Bcf.BCFViewpoint.setColors

   .. rst-class:: sig-pretty-signature
   
      | setColors(**colorGenericIdMap**\ : *Map*\ ): *void*
   
   Sets the colors.
   
   **Parameters**
   
      **colorGenericIdMap**\ : *Map*
   
         Map correlating color to GenericIds.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: Bcf.BCFViewpoint.setDefaultVisibility

   .. rst-class:: sig-pretty-signature
   
      | setDefaultVisibility(**defaultVisibility**\ : *boolean*\ ): *void*
   
   Sets the default visibility. If true, visibility exceptions are hidden. If false, visibility exceptions are shown.
   
   **Parameters**
   
      **defaultVisibility**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: Bcf.BCFViewpoint.setLines

   .. rst-class:: sig-pretty-signature
   
      | setLines(**lines**\ : [:js:class:`~Point3`\ , :js:class:`~Point3`\ ][]): *void*
   
   Sets the markup lines.
   
   **Parameters**
   
      **lines**\ : [:js:class:`~Point3`\ , :js:class:`~Point3`\ ][]
   
         array of start point and end point line pairs.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: Bcf.BCFViewpoint.setSelection

   .. rst-class:: sig-pretty-signature
   
      | setSelection(**selection**\ : *string*\ []): *void*
   
   Sets a list of items to be added to the selection set.
   
   **Parameters**
   
      **selection**\ : *string*\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: Bcf.BCFViewpoint.setSelectionNodes

   .. rst-class:: sig-pretty-signature
   
      | setSelectionNodes(**selection**\ : :js:class:`BcfNode <Bcf.BcfNode>`\ []): *void*
   
   Sets a list of items to be added to the selection set.
   
   **Parameters**
   
      **selection**\ : :js:class:`BcfNode <Bcf.BcfNode>`\ []
   
   
   **Returns**\ : *void*
   



.. js:method:: Bcf.BCFViewpoint.setVisibilityExceptionNodes

   .. rst-class:: sig-pretty-signature
   
      | setVisibilityExceptionNodes(**visibilityExceptions**\ : :js:class:`BcfNode <Bcf.BcfNode>`\ []): *void*
   
   Sets the visibility exceptions. These nodes will be shown or hidden based on the default visibility setting.
   
   **Parameters**
   
      **visibilityExceptions**\ : :js:class:`BcfNode <Bcf.BcfNode>`\ []
   
         Array of BcfNodes corresponding to components.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: Bcf.BCFViewpoint.setVisibilityExceptions

   .. rst-class:: sig-pretty-signature
   
      | setVisibilityExceptions(**visibilityExceptions**\ : *string*\ []): *void*
   
   Sets the visibility exceptions. These nodes will be shown or hidden based on the default visibility setting.
   
   **Parameters**
   
      **visibilityExceptions**\ : *string*\ []
   
         Array of GenericIds corresponding to components.
   
   
   
   **Returns**\ : *void*
   



.. js:method:: static Bcf.BCFViewpoint.createViewpoint

   .. rst-class:: clio-flags
   
      :clio-static:`static`
   
   .. rst-class:: sig-pretty-signature
   
      | createViewpoint(**viewer**\ : :js:class:`~IWebViewer`\ , **viewpointFilename**\ : *string*\ , **markupView**\ : (*None* \| :js:class:`MarkupView <Markup.MarkupView>`\ )?): *Promise*
   
   **Parameters**
   
      **viewer**\ : :js:class:`~IWebViewer`
   
      **viewpointFilename**\ : *string*
   
      **markupView**\ : (*None* \| :js:class:`MarkupView <Markup.MarkupView>`\ ) = null
   
   
   **Returns**\ : *Promise*
   





