
###############
FloorplanConfig
###############

.. js:class:: Floorplan.FloorplanConfig

   
   Index
   =====
   
   .. rubric:: Constructors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~Floorplan.FloorplanConfig.constructor`
   
   .. rubric:: Properties
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~Floorplan.FloorplanConfig.autoActivate`
   * :js:data:`~Floorplan.FloorplanConfig.avatarColor`
   * :js:data:`~Floorplan.FloorplanConfig.avatarOpacity`
   * :js:data:`~Floorplan.FloorplanConfig.avatarOutlineColor`
   * :js:data:`~Floorplan.FloorplanConfig.avatarScale`
   * :js:data:`~Floorplan.FloorplanConfig.backgroundColor`
   * :js:data:`~Floorplan.FloorplanConfig.backgroundOpacity`
   * :js:data:`~Floorplan.FloorplanConfig.borderColor`
   * :js:data:`~Floorplan.FloorplanConfig.borderOpacity`
   * :js:data:`~Floorplan.FloorplanConfig.customAvatar`
   * :js:data:`~Floorplan.FloorplanConfig.fixedAvatarScale`
   * :js:data:`~Floorplan.FloorplanConfig.floorplanOrientation`
   * :js:data:`~Floorplan.FloorplanConfig.overlayAnchor`
   * :js:data:`~Floorplan.FloorplanConfig.overlayFeetPerPixel`
   * :js:data:`~Floorplan.FloorplanConfig.overlayHeightUnit`
   * :js:data:`~Floorplan.FloorplanConfig.overlayOffset`
   * :js:data:`~Floorplan.FloorplanConfig.overlayOffsetXUnit`
   * :js:data:`~Floorplan.FloorplanConfig.overlayOffsetYUnit`
   * :js:data:`~Floorplan.FloorplanConfig.overlaySize`
   * :js:data:`~Floorplan.FloorplanConfig.overlayWidthUnit`
   * :js:data:`~Floorplan.FloorplanConfig.trackCameraEnabled`
   * :js:data:`~Floorplan.FloorplanConfig.zoomLevel`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~Floorplan.FloorplanConfig.copy`
   
   




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

.. js:method:: Floorplan.FloorplanConfig.constructor

   .. rst-class:: sig-pretty-signature
   
      | FloorplanConfig(): :js:class:`FloorplanConfig <Floorplan.FloorplanConfig>`
   
   **Returns**\ : :js:class:`FloorplanConfig <Floorplan.FloorplanConfig>`
   





Properties
==========

.. js:data:: Floorplan.FloorplanConfig.autoActivate

   .. rst-class:: sig-pretty-signature
   
      | autoActivate: :js:data:`FloorplanAutoActivation <Floorplan.FloorplanAutoActivation>`
   
   Determines the conditions under which the floorplan will be auto-activated. (default: [[FloorplanAutoActivation.BimWalk]])
   



.. js:data:: Floorplan.FloorplanConfig.avatarColor

   .. rst-class:: sig-pretty-signature
   
      | avatarColor: :js:class:`~Color`
   
   Determines the primary color of the avatar shown in the overlay. (default: ``Color(255,0,255)``\ )
   



.. js:data:: Floorplan.FloorplanConfig.avatarOpacity

   .. rst-class:: sig-pretty-signature
   
      | avatarOpacity: *number*
   
   Determines the opacity of the avatar. Valid values must be in the range ``[0, 1]``\ . (default: ``1.0``\ )
   



.. js:data:: Floorplan.FloorplanConfig.avatarOutlineColor

   .. rst-class:: sig-pretty-signature
   
      | avatarOutlineColor: :js:class:`~Color`
   
   Determines the outline color of the avatar shown in the overlay. (default: ``black``\ )
   



.. js:data:: Floorplan.FloorplanConfig.avatarScale

   .. rst-class:: sig-pretty-signature
   
      | avatarScale: *number*
   
   Determines the scale-factor of the avatar. Valid values must be in the range ``[0.1, 10]``\ . (default: ``1.0``\ )
   



.. js:data:: Floorplan.FloorplanConfig.backgroundColor

   .. rst-class:: sig-pretty-signature
   
      | backgroundColor: :js:class:`~Color`
   
   Determines the background color of the overlay window. (default: ``white``\ )
   



.. js:data:: Floorplan.FloorplanConfig.backgroundOpacity

   .. rst-class:: sig-pretty-signature
   
      | backgroundOpacity: *number*
   
   Determines the opacity of the overlay background. Valid values must be in the range ``[0, 1]``\ . (default: ``0.25``\ )
   



.. js:data:: Floorplan.FloorplanConfig.borderColor

   .. rst-class:: sig-pretty-signature
   
      | borderColor: :js:class:`~Color`
   
   Determines the color of the overlay window border. (default: ``black``\ )
   



.. js:data:: Floorplan.FloorplanConfig.borderOpacity

   .. rst-class:: sig-pretty-signature
   
      | borderOpacity: *number*
   
   Determines the opacity of the overlay window border. Valid values must be in the range ``[0, 1]``\ . (default: ``1.0``\ )
   



.. js:data:: Floorplan.FloorplanConfig.customAvatar

   .. rst-class:: sig-pretty-signature
   
      | customAvatar: (*None* \| *number*\ )
   
   Setting this to a valid [[NodeId]] will allow for a custom avatar. To use a custom avatar, consider the following:
   
   
   - The overlay always draws in orthographic mode with the camera pointing down the Z axis from + to -. The avatar geometry is therefore assumed to be defined in the X/Y plane, with forward pointing in the positive Y direction.
   - The avatar is scaled under the assumption that its units are in feet and the actual camera-eye will correspond to ``0,0,0`` within the avatar geometry.
   - The [[FloorplanManager]] will take ownership of the custom node. The caller should not try to delete it, ever.
   - The custom node will survive across model changes.
   - The custom node will survive across any calls to [[deactivate]].
   - Any previous custom avatar node will be deleted when a new custom avatar is set.
   - Setting this to ``null`` will restore the default avatar.
   - The avatar background and outline colors/opacities will *not* be applied to a custom avatar. The user must set these manually as needed for any custom avatar. The custom avatar [[NodeId]] will not change and can thus be maintained by the user for setting node properties as needed.
   
   (default: ``null``\ )
   



.. js:data:: Floorplan.FloorplanConfig.fixedAvatarScale

   .. rst-class:: sig-pretty-signature
   
      | fixedAvatarScale: *boolean*
   
   When this is ``false``\ , the avatar size will scale with the floorplan size. For large floorplans, the avatar may appear small. When this is ``true``\ , the avatar will be the same size for all floorplans. (default: ``true``\ )
   



.. js:data:: Floorplan.FloorplanConfig.floorplanOrientation

   .. rst-class:: sig-pretty-signature
   
      | floorplanOrientation: :js:data:`~FloorplanOrientation`
   
   Determines the drawing orientation of floorplan and avatar. (default: [[FloorplanOrientation.NorthUp]])
   



.. js:data:: Floorplan.FloorplanConfig.overlayAnchor

   .. rst-class:: sig-pretty-signature
   
      | overlayAnchor: :js:data:`~OverlayAnchor`
   
   The [[OverlayAnchor]] for the floorplan overlay window. See [[OverlayManager.setViewport]]. (default: [[OverlayAnchor.LowerRightCorner]])
   



.. js:data:: Floorplan.FloorplanConfig.overlayFeetPerPixel

   .. rst-class:: sig-pretty-signature
   
      | overlayFeetPerPixel: *number*
   
   Determines the scale of the floorplan within the overlay window in terms of feet-per-pixel. This value is combined with [[zoomLevel]] to determine the overall display scaling. The intent is for this value to stay fixed after being set initially, while [[zoomLevel]] is used to easily change the zoom-level of the overlay
   



.. js:data:: Floorplan.FloorplanConfig.overlayHeightUnit

   .. rst-class:: sig-pretty-signature
   
      | overlayHeightUnit: :js:data:`~OverlayUnit`
   
   The [[OverlayUnit]] type for the [[overlaySize]] height. (default: [[OverlayUnit.ProportionOfOtherDimension]])
   



.. js:data:: Floorplan.FloorplanConfig.overlayOffset

   .. rst-class:: sig-pretty-signature
   
      | overlayOffset: :js:class:`~Point2`
   
   The X/Y values used with [[OverlayManager.setViewport]]. (default: ``0, 0``\ )
   



.. js:data:: Floorplan.FloorplanConfig.overlayOffsetXUnit

   .. rst-class:: sig-pretty-signature
   
      | overlayOffsetXUnit: :js:data:`~OverlayUnit`
   
   The [[OverlayUnit]] type for the [[overlayOffset]] x coordinate. (default: [[OverlayUnit.Pixels]])
   



.. js:data:: Floorplan.FloorplanConfig.overlayOffsetYUnit

   .. rst-class:: sig-pretty-signature
   
      | overlayOffsetYUnit: :js:data:`~OverlayUnit`
   
   The [[OverlayUnit]] type for the [[overlayOffset]] y coordinate. (default: [[OverlayUnit.Pixels]])
   



.. js:data:: Floorplan.FloorplanConfig.overlaySize

   .. rst-class:: sig-pretty-signature
   
      | overlaySize: :js:class:`~Point2`
   
   Determines the size of the overlay. See [[OverlayManager.setViewport]] for an understanding of how the size and [[OverlayUnit]] values are used. (default: ``0.25, 1.0``\ )
   



.. js:data:: Floorplan.FloorplanConfig.overlayWidthUnit

   .. rst-class:: sig-pretty-signature
   
      | overlayWidthUnit: :js:data:`~OverlayUnit`
   
   The [[OverlayUnit]] type for the [[overlaySize]] width. (default: [[OverlayUnit.ProportionOfCanvas]])
   



.. js:data:: Floorplan.FloorplanConfig.trackCameraEnabled

   .. rst-class:: sig-pretty-signature
   
      | trackCameraEnabled: *boolean*
   
   Setting this to ``true`` will move the floorplan with the camera to keep the avatar centered. When this is ``false``\ , the floorplan will stay fixed in place, and the avatar will move.
   



.. js:data:: Floorplan.FloorplanConfig.zoomLevel

   .. rst-class:: sig-pretty-signature
   
      | zoomLevel: *number*
   
   Sets the zoom level for the floorplan display. A value of 1.0 is the standard view. Values greater will zoom-in, while smaller values will zoom-out. Valid values must be in the range ``[0.1, 10]``\ . (default: ``1.0``\ )
   





Methods
=======

.. js:method:: Floorplan.FloorplanConfig.copy

   .. rst-class:: sig-pretty-signature
   
      | copy(): :js:class:`FloorplanConfig <Floorplan.FloorplanConfig>`
   
   Per-floor information.
   
   **Returns**\ : :js:class:`FloorplanConfig <Floorplan.FloorplanConfig>`
   
      Copy of this configuration object.
   
   





