.. role:: clio-const
   :class: clio-flag clio-flag-const


##########################
@ts3d-hoops/web-viewer API
##########################

.. describe:: @ts3d-hoops/web-viewer API

   @ts3d-hoops/web-viewer
   
   Embeddable 2D/3D viewer for the web. This package exposes the HOOPS Visualize Web Viewer as a modern TypeScript/ESM library.
   
   
   - Render large CAD models (as StreamCache files) locally or from a server
   - Interact with camera, selection, markup, cutting planes, measurements, floorplan overlay, etc.
   - First-class TypeScript typings included
   
   Installation
   
   .. code-block:: bash
   
      npm install @ts3d-hoops/web-viewer
   
   The viewer requires a WebAssembly engine binary named ``engine.esm.wasm`` at runtime. If you use a bundler (Vite, Webpack, etc.), place this file where it can be served publicly and, if needed, set ``enginePath`` in the constructor options.
   
   By default the file is provided by the engine package. A common approach is to copy it to your public folder:
   
   
   - Copy from: ``node_modules/@ts3d-hoops/sc-engine/dist/engine.esm.wasm``
   - Serve at: ``/engine.esm.wasm``
   - Pass: ``enginePath: '/engine.esm.wasm'``
   
   This can be achieved by your bundler, here is an example using vite:
   
   .. code-block:: typescript
   
      import { defineConfig } from 'vite';
      import { viteStaticCopy } from 'vite-plugin-static-copy';
      
      // https://vitejs.dev/config/
      export default defineConfig({
        plugins: [
          viteStaticCopy({
            targets: [
              {
                src: '../@ts3d-hoops/sc-engine/engine.esm.wasm',
                dest: '/',
              },
            ],
          }),
        ],
      });
   
   
      Tip: If you prefer not to manage ``engine.esm.wasm``\ , use the monolith package ``@ts3d-hoops/web-viewer-monolith`` (see below).
   
   
   Quick start (ES Modules)
   
   HTML
   
   .. code-block:: html
   
      <div id="viewerContainer" tabindex="0" style="width:100%;height:100vh"></div>
   
   TypeScript/JavaScript
   
   .. code-block:: ts
   
      import WebViewer from '@ts3d-hoops/web-viewer';
      
      const container = document.getElementById('viewerContainer');
      if (!container) throw new Error('Missing #viewerContainer');
      
      const viewer = new WebViewer({
        container, // or: containerId: 'viewerContainer'
        endpointUri: 'models/microengine.scs',
        enginePath: '/engine.esm.wasm', // omit when using the monolith package
      });
      
      viewer.setCallbacks({
        sceneReady: () => console.log('Scene ready'),
        firstModelLoaded: () => console.log('Model loaded'),
      });
      
      viewer.start();
      window.addEventListener('resize', () => viewer.resizeCanvas());
   
   Loading from memory (no URL)
   
   .. code-block:: ts
   
      // ArrayBuffer or Uint8Array containing a .scs file
      const buffer = await fetch('/models/microengine.scs').then((r) => r.arrayBuffer());
      
      const viewer = new WebViewer({
        container: document.getElementById('viewerContainer')!,
        buffer: new Uint8Array(buffer),
        enginePath: '/engine.esm.wasm',
      });
      
      viewer.start();
   
   Using the Monolith (no wasm file to host)
   
   If your setup struggles with serving ``engine.esm.wasm``\ , install the monolith variant. It embeds the engine directly in the JS bundle.
   
   .. code-block:: bash
   
      npm install @ts3d-hoops/web-viewer-monolith
   
   Add this import before constructing the viewer:
   
   .. code-block:: ts
   
      import '@ts3d-hoops/web-viewer-monolith';
   
   You can then omit ``enginePath`` in the viewer options.
   
   
      Note: The monolith increases bundle size because it inlines the engine, but avoids extra network requests.
   
   
   IIFE/UMD usage
   
   If you prefer script tags instead of ESM:
   
   
   - IIFE: include ``hoops-web-viewer.iife.js`` and use ``new Communicator.WebViewer({...})``
   - UMD: include ``hoops-web-viewer.umd.js`` via a loader (e.g., RequireJS) and use ``Communicator.WebViewer``
   
   TypeScript
   
   Type definitions are bundled. Import types and namespaces directly:
   
   .. code-block:: ts
   
      import WebViewer, { core, Operators, Selection, Event } from '@ts3d-hoops/web-viewer';
   
   Common options
   
   
   - ``container`` or ``containerId``\ : Mount target for the canvas and UI elements
   - ``endpointUri``\ : URL of an ``.scs`` file to load
   - ``buffer``\ : SCS data as ``Uint8Array``\ /``ArrayBuffer`` (alternative to ``endpointUri``\ )
   - ``enginePath``\ : Public path to ``engine.esm.wasm`` (not needed with monolith)
   - Other settings such as renderer type, streaming mode, default camera, etc. are available via the viewer config.
   
   Basic interactions
   
   .. code-block:: ts
   
      // Select, measure, cutting planes, etc. are available via managers and operators
      viewer.operatorManager; // interact with input operators
      viewer.model; // access model tree and geometry queries
      viewer.view; // camera, overlays (NavCube, AxisTriad), floorplan
      
      // Listen to events
      viewer.setCallbacks({
        selectionArray: (events) => console.log('Selection events:', events),
        modelSwitched: () => console.log('Model switched'),
      });
   
   Serving the engine (wasm) correctly
   
   Ensure your server serves ``engine.esm.wasm`` with MIME type ``application/wasm``\ . Most frameworks handle this automatically when the file is in the public/static directory.
   
   Support
   
   
   - Issues: please include browser, OS, and reproduction steps/code.
   - For commercial support, contact Tech Soft 3D.
   
   
   Index
   =====
   
   .. rubric:: Variables
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~wv.DefaultTransitionDuration`
   * :js:data:`~wv.EmptyModelName`
   * :js:data:`~wv.InvalidNodeId`
   * :js:data:`~wv.NoOverrideDrawMode`
   * :js:data:`~wv.Ohm`
   * :js:data:`~wv.Subscript1`
   * :js:data:`~wv.Subscript2`
   * :js:data:`~wv.Subscript3`
   * :js:data:`~wv.SubscriptNeg`
   
   .. rubric:: References
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~wv.BimMask`
   * :js:data:`~wv.Milliseconds`
   * :js:data:`~wv.OverlayId`
   * :js:data:`~wv.OverlayIndex`
   * :js:data:`~wv.ScModelName`
   * :js:data:`~wv.ScsBuffer`
   * :js:data:`~wv.TextureFlags`
   * :js:data:`~wv.ViewKey`
   
   



.. rst-class:: kind-group kind-namespaces

.. rubric:: Namespaces
   :class: kind-group-title


.. rst-class:: api-xref-list


* :js:mod:`~wv.Animation`
* :js:mod:`~wv.Bcf`
* :js:mod:`~wv.Bim`
* :js:mod:`~wv.core`
* :js:mod:`~wv.Event`
* :js:mod:`~wv.Floorplan`
* :js:mod:`~wv.Markup`
* :js:mod:`~wv.Operators`
* :js:mod:`~wv.Overlay`
* :js:mod:`~wv.Sc`
* :js:mod:`~wv.Selection`
* :js:mod:`~wv.Util`

.. rst-class:: kind-group kind-enumerations

.. rubric:: Enumerations
   :class: kind-group-title


.. rst-class:: api-xref-list


* :js:data:`~wv.AntiAliasingMode`
* :js:data:`~wv.AttributeType`
* :js:data:`~wv.Axis`
* :js:data:`~wv.BasicUnit`
* :js:data:`~wv.BlurIntervalUnit`
* :js:data:`~wv.BoundingPreviewMode`
* :js:data:`~wv.BranchVisibility`
* :js:data:`~wv.BuiltinOverlayIndex`
* :js:data:`~wv.Button`
* :js:data:`~wv.Buttons`
* :js:data:`~wv.CullingVectorSpace`
* :js:data:`~wv.DepthRange`
* :js:data:`~wv.DrawMode`
* :js:data:`~wv.DrawStrategy`
* :js:data:`~wv.ElementType`
* :js:data:`~wv.EventType`
* :js:data:`~wv.FaceWinding`
* :js:data:`~wv.FileType`
* :js:data:`~wv.FilterId`
* :js:data:`~wv.FloorplanOrientation`
* :js:data:`~wv.HandleEventType`
* :js:data:`~wv.HandleType`
* :js:data:`~wv.ImageFormat`
* :js:data:`~wv.InfoType`
* :js:data:`~wv.InstanceModifier`
* :js:data:`~wv.KeyCode`
* :js:data:`~wv.KeyInputType`
* :js:data:`~wv.KeyModifiers`
* :js:data:`~wv.LayerId`
* :js:data:`~wv.LinePatternLengthUnit`
* :js:data:`~wv.MeshInstanceCreationFlags`
* :js:data:`~wv.MouseInputType`
* :js:data:`~wv.NodeSource`
* :js:data:`~wv.NodeType`
* :js:data:`~wv.OperatorId`
* :js:data:`~wv.OrbitFallbackMode`
* :js:data:`~wv.OverlayAnchor`
* :js:data:`~wv.OverlayUnit`
* :js:data:`~wv.PmiSubType`
* :js:data:`~wv.PmiTopoRef`
* :js:data:`~wv.PmiType`
* :js:data:`~wv.PointShape`
* :js:data:`~wv.PointSizeUnit`
* :js:data:`~wv.Projection`
* :js:data:`~wv.RelationshipType`
* :js:data:`~wv.RendererType`
* :js:data:`~wv.ScreenConfiguration`
* :js:data:`~wv.SelectionHighlightMode`
* :js:data:`~wv.SelectionMask`
* :js:data:`~wv.SelectionMode`
* :js:data:`~wv.SelectionType`
* :js:data:`~wv.SimpleReflectionAttenuationUnit`
* :js:data:`~wv.SnapshotLayer`
* :js:data:`~wv.StreamingMode`
* :js:data:`~wv.TextureModifier`
* :js:data:`~wv.TextureParameterization`
* :js:data:`~wv.TextureTiling`
* :js:data:`~wv.TouchInputType`
* :js:data:`~wv.TransparencyMode`
* :js:data:`~wv.TreeWalkMode`
* :js:data:`~wv.ViewOrientation`
* :js:data:`~wv.WalkDirection`
* :js:data:`~wv.WalkMode`
* :js:data:`~wv.XRayGroup`

.. rst-class:: kind-group kind-classes

.. rubric:: Classes
   :class: kind-group-title


.. rst-class:: api-xref-list


* :js:class:`~wv.AssemblyDataParseError`
* :js:class:`~wv.AxisTriad`
* :js:class:`~wv.Box`
* :js:class:`~wv.Camera`
* :js:class:`~wv.Color`
* :js:class:`~wv.CommunicatorError`
* :js:class:`~wv.CuttingManager`
* :js:class:`~wv.CuttingPlane`
* :js:class:`~wv.CuttingSection`
* :js:class:`~wv.DirectionalLight`
* :js:class:`~wv.ExplodeManager`
* :js:class:`~wv.FaceFaceDistanceItem`
* :js:class:`~wv.FaceMeshData`
* :js:class:`~wv.FilteredNodes`
* :js:class:`~wv.IncrementalPickConfig`
* :js:class:`~wv.InternalLogicError`
* :js:class:`~wv.InvalidIndexError`
* :js:class:`~wv.InvalidNodeIdError`
* :js:class:`~wv.InvalidNodeTypeError`
* :js:class:`~wv.Light`
* :js:class:`~wv.LineManager`
* :js:class:`~wv.LoadCancelledError`
* :js:class:`~wv.LoadError`
* :js:class:`~wv.LoadSubtreeConfig`
* :js:class:`~wv.MarkupManager`
* :js:class:`~wv.MarkupTypeManager`
* :js:class:`~wv.Matrix`
* :js:class:`~wv.MeasureManager`
* :js:class:`~wv.MeshData`
* :js:class:`~wv.MeshInstanceData`
* :js:class:`~wv.MissingModelError`
* :js:class:`~wv.Model`
* :js:class:`~wv.NavCube`
* :js:class:`~wv.OperatorManager`
* :js:class:`~wv.ParseError`
* :js:class:`~wv.PickConfig`
* :js:class:`~wv.PickOutsideCanvasError`
* :js:class:`~wv.Plane`
* :js:class:`~wv.Point2`
* :js:class:`~wv.Point3`
* :js:class:`~wv.Point4`
* :js:class:`~wv.PointLight`
* :js:class:`~wv.PointMeshData`
* :js:class:`~wv.PolylineMeshData`
* :js:class:`~wv.Ray`
* :js:class:`~wv.RefOnTopoItem`
* :js:class:`~wv.SelectionInvalidatedError`
* :js:class:`~wv.SheetManager`
* :js:class:`~wv.SnapshotConfig`
* :js:class:`~wv.SubentityAttributes`
* :js:class:`~wv.SvgConfig`
* :js:class:`~wv.VerticalGradient`
* :js:class:`~wv.View`
* :js:class:`~wv.ViewAxes`
* :js:class:`~wv.VisibilityState`
* :js:class:`~wv.WebViewer`
* :js:class:`~wv.XmlParseError`

.. rst-class:: kind-group kind-interfaces

.. rubric:: Interfaces
   :class: kind-group-title


.. rst-class:: api-xref-list


* :js:class:`~wv.Attribute`
* :js:class:`~wv.BloomLayerInfo`
* :js:class:`~wv.CallbackMap`
* :js:class:`~wv.ComparisonConfig`
* :js:class:`~wv.CullingVector`
* :js:class:`~wv.CuttingPlaneData`
* :js:class:`~wv.FaceFaceDistanceObject`
* :js:class:`~wv.GetNodesBoundingConfig`
* :js:class:`~wv.GroundPlane`
* :js:class:`~wv.IAssemblyTree`
* :js:class:`~wv.IBox`
* :js:class:`~wv.ICallbackManager`
* :js:class:`~wv.IColor`
* :js:class:`~wv.ICuttingManager`
* :js:class:`~wv.ICuttingSection`
* :js:class:`~wv.IdBooleanMap`
* :js:class:`~wv.IdColorMap`
* :js:class:`~wv.IdNumberMap`
* :js:class:`~wv.IdStringMap`
* :js:class:`~wv.ImageBasedLightingOrientation`
* :js:class:`~wv.ImageOptions`
* :js:class:`~wv.IMaterial`
* :js:class:`~wv.IModel`
* :js:class:`~wv.IModelStructure`
* :js:class:`~wv.IPoint2`
* :js:class:`~wv.IPoint3`
* :js:class:`~wv.IPoint4`
* :js:class:`~wv.IRay`
* :js:class:`~wv.IScEngine`
* :js:class:`~wv.IView`
* :js:class:`~wv.IWebViewer`
* :js:class:`~wv.MarkupData`
* :js:class:`~wv.MeshDataCopy`
* :js:class:`~wv.MeshDataCopyElement`
* :js:class:`~wv.MeshDataCopyElementGroup`
* :js:class:`~wv.MeshDataCopyIterator`
* :js:class:`~wv.MeshDataCopyVertex`
* :js:class:`~wv.MetallicRoughnessValue`
* :js:class:`~wv.ObjectConstructor`
* :js:class:`~wv.RelationshipInfo`
* :js:class:`~wv.SimpleReflectionAttenuation`
* :js:class:`~wv.StringStringMap`
* :js:class:`~wv.TextureOptions`
* :js:class:`~wv.UnitElement`
* :js:class:`~wv.ViewConfig`
* :js:class:`~wv.WebViewerConfig`

.. rst-class:: kind-group kind-type-aliases

.. rubric:: Type Aliases
   :class: kind-group-title


.. rst-class:: api-xref-list


* :js:data:`~wv.BimId`
* :js:data:`~wv.BodyId`
* :js:data:`~wv.BuiltInOperatorId`
* :js:data:`~wv.CadViewId`
* :js:data:`~wv.Degrees`
* :js:data:`~wv.ExchangeId`
* :js:data:`~wv.ExternalModelName`
* :js:data:`~wv.FilterName`
* :js:data:`~wv.GenericId`
* :js:data:`~wv.GenericType`
* :js:data:`~wv.HtmlId`
* :js:data:`~wv.ImageId`
* :js:data:`~wv.LayerName`
* :js:data:`~wv.LightKey`
* :js:data:`~wv.LinePattern`
* :js:data:`~wv.MassageModelNameFunc`
* :js:data:`~wv.MaterialParam`
* :js:data:`~wv.Matrix12`
* :js:data:`~wv.Matrix16`
* :js:data:`~wv.Matrix9`
* :js:data:`~wv.MeshId`
* :js:data:`~wv.ModelNameToScsFileFunc`
* :js:data:`~wv.NodeDrawMode`
* :js:data:`~wv.NodeId`
* :js:data:`~wv.NodeIdOffset`
* :js:data:`~wv.PartId`
* :js:data:`~wv.Pixels`
* :js:data:`~wv.PmiId`
* :js:data:`~wv.Radians`
* :js:data:`~wv.Rgbas`
* :js:data:`~wv.ScsUri`
* :js:data:`~wv.SheetId`
* :js:data:`~wv.UserDataIndex`
* :js:data:`~wv.Uuid`
* :js:data:`~wv.Uvs`
* :js:data:`~wv.Vector3`
* :js:data:`~wv.Vector3s`
* :js:data:`~wv.Vector4`
* :js:data:`~wv.Vector4s`
* :js:data:`~wv.XmlFilename`
* :js:data:`~wv.XRayTransparencyMode`

.. rst-class:: kind-group kind-variables

.. rubric:: Variables
   :class: kind-group-title


.. js:data:: wv.DefaultTransitionDuration

      .. rst-class:: clio-flags
      
         :clio-const:`const`
      
      .. rst-class:: sig-pretty-signature
      
         | DefaultTransitionDuration: *400*
      
      The default duration in milliseconds of camera transitions.
      



.. js:data:: wv.EmptyModelName

      .. rst-class:: clio-flags
      
         :clio-const:`const`
      
      .. rst-class:: sig-pretty-signature
      
         | EmptyModelName: *"_empty"*
      



.. js:data:: wv.InvalidNodeId

      .. rst-class:: clio-flags
      
         :clio-const:`const`
      
      .. rst-class:: sig-pretty-signature
      
         | InvalidNodeId: :js:data:`NodeId <wv.NodeId>`
      



.. js:data:: wv.NoOverrideDrawMode

      .. rst-class:: clio-flags
      
         :clio-const:`const`
      
      .. rst-class:: sig-pretty-signature
      
         | NoOverrideDrawMode: *-1*
      
      No override draw mode, mode of the viewer is applied
      



.. js:data:: wv.Ohm

      .. rst-class:: clio-flags
      
         :clio-const:`const`
      
      .. rst-class:: sig-pretty-signature
      
         | Ohm: *"Ω"*
      



.. js:data:: wv.Subscript1

      .. rst-class:: clio-flags
      
         :clio-const:`const`
      
      .. rst-class:: sig-pretty-signature
      
         | Subscript1: *"¹"*
      



.. js:data:: wv.Subscript2

      .. rst-class:: clio-flags
      
         :clio-const:`const`
      
      .. rst-class:: sig-pretty-signature
      
         | Subscript2: *"²"*
      



.. js:data:: wv.Subscript3

      .. rst-class:: clio-flags
      
         :clio-const:`const`
      
      .. rst-class:: sig-pretty-signature
      
         | Subscript3: *"³"*
      



.. js:data:: wv.SubscriptNeg

      .. rst-class:: clio-flags
      
         :clio-const:`const`
      
      .. rst-class:: sig-pretty-signature
      
         | SubscriptNeg: *"⁻"*
      



.. rst-class:: kind-group kind-functions

.. rubric:: Functions
   :class: kind-group-title


.. rst-class:: api-xref-list


* :js:func:`~wv.closestPointFromPointToSegment`
* :js:func:`~wv.closestPointScalarFromPointToSegment`
* :js:func:`~wv.computeAngleBetweenVector`
* :js:func:`~wv.computeOffaxisRotation`
* :js:func:`~wv.computePointToLineDistance`
* :js:func:`~wv.createReferenceGeometryFromAxis`
* :js:func:`~wv.createReferenceGeometryFromFaceNormal`
* :js:func:`~wv.createUuid`
* :js:func:`~wv.degreesToRadians`
* :js:func:`~wv.distanceLineLine`
* :js:func:`~wv.formatWithUnit`
* :js:func:`~wv.generateArcPoints`
* :js:func:`~wv.generatePointsOnCircle`
* :js:func:`~wv.get3dBaseFromVector`
* :js:func:`~wv.getLongUnitString`
* :js:func:`~wv.getOrthogonalVector`
* :js:func:`~wv.intersect3d2Planes`
* :js:func:`~wv.intersectionPlaneLine`
* :js:func:`~wv.intersectionPlaneLine2`
* :js:func:`~wv.isIColor`
* :js:func:`~wv.isIPoint2`
* :js:func:`~wv.isIPoint3`
* :js:func:`~wv.isIPoint4`
* :js:func:`~wv.isPointInRect2d`
* :js:func:`~wv.isPointOnLineSegment`
* :js:func:`~wv.isPointOnLineSegment2d`
* :js:func:`~wv.lineLineIntersect`
* :js:func:`~wv.oneVectorCross`
* :js:func:`~wv.radiansToDegrees`
* :js:func:`~wv.sortVerticesCounterClockwise`

.. rst-class:: kind-group kind-references

.. rubric:: References
   :class: kind-group-title


.. js:data:: wv.BimMask

      .. rst-class:: sig-pretty-signature
      
         | BimMask -> :js:data:`wv.Sc.BimMask`
      



.. js:data:: wv.Milliseconds

      .. rst-class:: sig-pretty-signature
      
         | Milliseconds -> :js:data:`wv.Sc.Milliseconds`
      



.. js:data:: wv.OverlayId

      .. rst-class:: sig-pretty-signature
      
         | OverlayId -> :js:class:`wv.Sc.OverlayId`
      
      Type used to denote overlay indices.
      



.. js:data:: wv.OverlayIndex

      .. rst-class:: sig-pretty-signature
      
         | OverlayIndex -> :js:data:`wv.Sc.OverlayIndex`
      
      Type used to denote overlay indices.
      



.. js:data:: wv.ScModelName

      .. rst-class:: sig-pretty-signature
      
         | ScModelName -> :js:data:`wv.Sc.ScModelName`
      



.. js:data:: wv.ScsBuffer

      .. rst-class:: sig-pretty-signature
      
         | ScsBuffer -> :js:data:`wv.Sc.ScsBuffer`
      



.. js:data:: wv.TextureFlags

      .. rst-class:: sig-pretty-signature
      
         | TextureFlags -> :js:class:`wv.Sc.TextureFlags`
      



.. js:data:: wv.ViewKey

      .. rst-class:: sig-pretty-signature
      
         | ViewKey -> :js:data:`wv.Sc.ViewKey`
      



.. toctree::
   :maxdepth: 1
   :hidden:

   modules/Animation
   enums/AntiAliasingMode
   classes/AssemblyDataParseError
   interfaces/Attribute
   enums/AttributeType
   enums/Axis
   classes/AxisTriad
   enums/BasicUnit
   modules/Bcf
   modules/Bim
   types/BimId
   interfaces/BloomLayerInfo
   enums/BlurIntervalUnit
   types/BodyId
   enums/BoundingPreviewMode
   classes/Box
   enums/BranchVisibility
   types/BuiltInOperatorId
   enums/BuiltinOverlayIndex
   enums/Button
   enums/Buttons
   types/CadViewId
   interfaces/CallbackMap
   classes/Camera
   functions/closestPointFromPointToSegment
   functions/closestPointScalarFromPointToSegment
   classes/Color
   classes/CommunicatorError
   interfaces/ComparisonConfig
   functions/computeAngleBetweenVector
   functions/computeOffaxisRotation
   functions/computePointToLineDistance
   modules/core
   functions/createReferenceGeometryFromAxis
   functions/createReferenceGeometryFromFaceNormal
   functions/createUuid
   interfaces/CullingVector
   enums/CullingVectorSpace
   classes/CuttingManager
   classes/CuttingPlane
   interfaces/CuttingPlaneData
   classes/CuttingSection
   types/Degrees
   functions/degreesToRadians
   enums/DepthRange
   classes/DirectionalLight
   functions/distanceLineLine
   enums/DrawMode
   enums/DrawStrategy
   enums/ElementType
   modules/Event
   enums/EventType
   types/ExchangeId
   classes/ExplodeManager
   types/ExternalModelName
   classes/FaceFaceDistanceItem
   interfaces/FaceFaceDistanceObject
   classes/FaceMeshData
   enums/FaceWinding
   enums/FileType
   classes/FilteredNodes
   enums/FilterId
   types/FilterName
   modules/Floorplan
   enums/FloorplanOrientation
   functions/formatWithUnit
   functions/generateArcPoints
   functions/generatePointsOnCircle
   types/GenericId
   types/GenericType
   functions/get3dBaseFromVector
   functions/getLongUnitString
   interfaces/GetNodesBoundingConfig
   functions/getOrthogonalVector
   interfaces/GroundPlane
   enums/HandleEventType
   enums/HandleType
   types/HtmlId
   interfaces/IAssemblyTree
   interfaces/IBox
   interfaces/ICallbackManager
   interfaces/IColor
   interfaces/ICuttingManager
   interfaces/ICuttingSection
   interfaces/IdBooleanMap
   interfaces/IdColorMap
   interfaces/IdNumberMap
   interfaces/IdStringMap
   interfaces/ImageBasedLightingOrientation
   enums/ImageFormat
   types/ImageId
   interfaces/ImageOptions
   interfaces/IMaterial
   interfaces/IModel
   interfaces/IModelStructure
   classes/IncrementalPickConfig
   enums/InfoType
   enums/InstanceModifier
   classes/InternalLogicError
   functions/intersect3d2Planes
   functions/intersectionPlaneLine
   functions/intersectionPlaneLine2
   classes/InvalidIndexError
   classes/InvalidNodeIdError
   classes/InvalidNodeTypeError
   interfaces/IPoint2
   interfaces/IPoint3
   interfaces/IPoint4
   interfaces/IRay
   interfaces/IScEngine
   functions/isIColor
   functions/isIPoint2
   functions/isIPoint3
   functions/isIPoint4
   functions/isPointInRect2d
   functions/isPointOnLineSegment
   functions/isPointOnLineSegment2d
   interfaces/IView
   interfaces/IWebViewer
   enums/KeyCode
   enums/KeyInputType
   enums/KeyModifiers
   enums/LayerId
   types/LayerName
   classes/Light
   types/LightKey
   functions/lineLineIntersect
   classes/LineManager
   types/LinePattern
   enums/LinePatternLengthUnit
   classes/LoadCancelledError
   classes/LoadError
   classes/LoadSubtreeConfig
   modules/Markup
   interfaces/MarkupData
   classes/MarkupManager
   classes/MarkupTypeManager
   types/MassageModelNameFunc
   types/MaterialParam
   classes/Matrix
   types/Matrix12
   types/Matrix16
   types/Matrix9
   classes/MeasureManager
   classes/MeshData
   interfaces/MeshDataCopy
   interfaces/MeshDataCopyElement
   interfaces/MeshDataCopyElementGroup
   interfaces/MeshDataCopyIterator
   interfaces/MeshDataCopyVertex
   types/MeshId
   enums/MeshInstanceCreationFlags
   classes/MeshInstanceData
   interfaces/MetallicRoughnessValue
   classes/MissingModelError
   classes/Model
   types/ModelNameToScsFileFunc
   enums/MouseInputType
   classes/NavCube
   types/NodeDrawMode
   types/NodeId
   types/NodeIdOffset
   enums/NodeSource
   enums/NodeType
   interfaces/ObjectConstructor
   functions/oneVectorCross
   enums/OperatorId
   classes/OperatorManager
   modules/Operators
   enums/OrbitFallbackMode
   modules/Overlay
   enums/OverlayAnchor
   enums/OverlayUnit
   classes/ParseError
   types/PartId
   classes/PickConfig
   classes/PickOutsideCanvasError
   types/Pixels
   classes/Plane
   types/PmiId
   enums/PmiSubType
   enums/PmiTopoRef
   enums/PmiType
   classes/Point2
   classes/Point3
   classes/Point4
   classes/PointLight
   classes/PointMeshData
   enums/PointShape
   enums/PointSizeUnit
   classes/PolylineMeshData
   enums/Projection
   types/Radians
   functions/radiansToDegrees
   classes/Ray
   classes/RefOnTopoItem
   interfaces/RelationshipInfo
   enums/RelationshipType
   enums/RendererType
   types/Rgbas
   modules/Sc
   enums/ScreenConfiguration
   types/ScsUri
   modules/Selection
   enums/SelectionHighlightMode
   classes/SelectionInvalidatedError
   enums/SelectionMask
   enums/SelectionMode
   enums/SelectionType
   types/SheetId
   classes/SheetManager
   interfaces/SimpleReflectionAttenuation
   enums/SimpleReflectionAttenuationUnit
   classes/SnapshotConfig
   enums/SnapshotLayer
   functions/sortVerticesCounterClockwise
   enums/StreamingMode
   interfaces/StringStringMap
   classes/SubentityAttributes
   classes/SvgConfig
   enums/TextureModifier
   interfaces/TextureOptions
   enums/TextureParameterization
   enums/TextureTiling
   enums/TouchInputType
   enums/TransparencyMode
   enums/TreeWalkMode
   interfaces/UnitElement
   types/UserDataIndex
   modules/Util
   types/Uuid
   types/Uvs
   types/Vector3
   types/Vector3s
   types/Vector4
   types/Vector4s
   classes/VerticalGradient
   classes/View
   classes/ViewAxes
   interfaces/ViewConfig
   enums/ViewOrientation
   classes/VisibilityState
   enums/WalkDirection
   enums/WalkMode
   classes/WebViewer
   interfaces/WebViewerConfig
   types/XmlFilename
   classes/XmlParseError
   enums/XRayGroup
   types/XRayTransparencyMode


