.. role:: ts-api-decorator

###########
CallbackMap
###########

.. container:: ts-api-section

   .. js:class:: CallbackMap

      Object which maps callback names to functions. Used by [[WebViewer.setCallbacks]].



.. container:: api-index-section

   .. rubric:: Properties

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

   * :js:attr:`~CallbackMap.XHRonerror`
   * :js:attr:`~CallbackMap.XHRonloadend`
   * :js:attr:`~CallbackMap.XHRonprogress`
   * :js:attr:`~CallbackMap.addCuttingSection`
   * :js:attr:`~CallbackMap.assemblyTreeReady`
   * :js:attr:`~CallbackMap.bcfLoaded`
   * :js:attr:`~CallbackMap.bcfRemoved`
   * :js:attr:`~CallbackMap.beginInteraction`
   * :js:attr:`~CallbackMap.cadViewCreated`
   * :js:attr:`~CallbackMap.camera`
   * :js:attr:`~CallbackMap.cappingIdle`
   * :js:attr:`~CallbackMap.configurationActivated`
   * :js:attr:`~CallbackMap.contextMenu`
   * :js:attr:`~CallbackMap.cuttingPlaneDrag`
   * :js:attr:`~CallbackMap.cuttingPlaneDragEnd`
   * :js:attr:`~CallbackMap.cuttingPlaneDragStart`
   * :js:attr:`~CallbackMap.cuttingSectionsLoaded`
   * :js:attr:`~CallbackMap.endInteraction`
   * :js:attr:`~CallbackMap.explode`
   * :js:attr:`~CallbackMap.firstModelLoaded`
   * :js:attr:`~CallbackMap.frameDrawn`
   * :js:attr:`~CallbackMap.handleEvent`
   * :js:attr:`~CallbackMap.handleEventEnd`
   * :js:attr:`~CallbackMap.handleEventStart`
   * :js:attr:`~CallbackMap.hwfParseComplete`
   * :js:attr:`~CallbackMap.incrementalSelectionBatchBegin`
   * :js:attr:`~CallbackMap.incrementalSelectionBatchEnd`
   * :js:attr:`~CallbackMap.incrementalSelectionEnd`
   * :js:attr:`~CallbackMap.info`
   * :js:attr:`~CallbackMap.lineCreated`
   * :js:attr:`~CallbackMap.lineDeleted`
   * :js:attr:`~CallbackMap.lineLoaded`
   * :js:attr:`~CallbackMap.measurementBegin`
   * :js:attr:`~CallbackMap.measurementCreated`
   * :js:attr:`~CallbackMap.measurementDeleted`
   * :js:attr:`~CallbackMap.measurementHidden`
   * :js:attr:`~CallbackMap.measurementLoaded`
   * :js:attr:`~CallbackMap.measurementShown`
   * :js:attr:`~CallbackMap.measurementValueSet`
   * :js:attr:`~CallbackMap.missingModel`
   * :js:attr:`~CallbackMap.modelLoadBegin`
   * :js:attr:`~CallbackMap.modelLoadFailure`
   * :js:attr:`~CallbackMap.modelStructureHeaderParsed`
   * :js:attr:`~CallbackMap.modelStructureReady`
   * :js:attr:`~CallbackMap.modelSwitchStart`
   * :js:attr:`~CallbackMap.modelSwitched`
   * :js:attr:`~CallbackMap.noteTextCreated`
   * :js:attr:`~CallbackMap.noteTextHidden`
   * :js:attr:`~CallbackMap.noteTextShown`
   * :js:attr:`~CallbackMap.overlayViewportSet`
   * :js:attr:`~CallbackMap.redlineCreated`
   * :js:attr:`~CallbackMap.redlineDeleted`
   * :js:attr:`~CallbackMap.redlineUpdated`
   * :js:attr:`~CallbackMap.removeCuttingSection`
   * :js:attr:`~CallbackMap.sceneReady`
   * :js:attr:`~CallbackMap.selectionArray`
   * :js:attr:`~CallbackMap.sheetActivated`
   * :js:attr:`~CallbackMap.sheetDeactivated`
   * :js:attr:`~CallbackMap.streamingActivated`
   * :js:attr:`~CallbackMap.streamingDeactivated`
   * :js:attr:`~CallbackMap.subtreeDeleted`
   * :js:attr:`~CallbackMap.subtreeLoaded`
   * :js:attr:`~CallbackMap.timeout`
   * :js:attr:`~CallbackMap.timeoutWarning`
   * :js:attr:`~CallbackMap.transitionBegin`
   * :js:attr:`~CallbackMap.transitionEnd`
   * :js:attr:`~CallbackMap.viewAxes`
   * :js:attr:`~CallbackMap.viewCreated`
   * :js:attr:`~CallbackMap.viewDeactivated`
   * :js:attr:`~CallbackMap.viewDeleted`
   * :js:attr:`~CallbackMap.viewLoaded`
   * :js:attr:`~CallbackMap.viewOrientation`
   * :js:attr:`~CallbackMap.visibilityChanged`
   * :js:attr:`~CallbackMap.walkOperatorActivated`
   * :js:attr:`~CallbackMap.walkOperatorDeactivated`
   * :js:attr:`~CallbackMap.webGlContextLost`
   * :js:attr:`~CallbackMap.websocketConnectionClosed`





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

Properties
==========

.. container:: ts-api-section

   .. js:attribute:: CallbackMap.XHRonerror

      :type: function :ts-api-decorator:`optional`

      Triggered during load progress of HTTP requests.

      Happens when an error occurs during the loading of a model via an HTTP request.
      For some errors (e.g. 404) make sure to check the status of XHRonloadend instead.


      .. js:function:: XHRonerror( errorEvent)
         :noindex:

         :param errorEvent: Describes the error.
         :type errorEvent: ErrorEvent


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.XHRonloadend

      :type: function :ts-api-decorator:`optional`

      Triggered when an HTTP request completes.

      A completed HTTP request does not necessarily indicate success.
      Make sure to check the return status.


      .. js:function:: XHRonloadend( progressEvent, status, uri)
         :noindex:

         :param progressEvent: Describes the progress of the completed load.
         :type progressEvent: ProgressEvent <EventTarget>
         :param status: The status of the request.
         :type status: number
         :param uri: The URI of the request.  See also: - https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
         :type uri: string


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.XHRonprogress

      :type: function :ts-api-decorator:`optional`

      Triggered during load progress of HTTP requests.

      Happens when loading a model via an HTTP request.


      .. js:function:: XHRonprogress( progressEvent)
         :noindex:

         :param progressEvent: Describes the progress of the load.
         :type progressEvent: ProgressEvent <EventTarget>


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.addCuttingSection

      :type: function :ts-api-decorator:`optional`

      Triggered when a cutting section is added to the scene.


      .. js:function:: addCuttingSection( cuttingSection)
         :noindex:

         :param cuttingSection: The cutting section added.
         :type cuttingSection: CuttingSection


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.assemblyTreeReady

      :type: function :ts-api-decorator:`optional`

      Triggered when methods on the [[Model]] class are allowed to be called.


      .. js:function:: assemblyTreeReady()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.bcfLoaded

      :type: function :ts-api-decorator:`optional`

      Triggered after a BCF file has been loaded.


      .. js:function:: bcfLoaded( id, filename)
         :noindex:

         :param id: index associated with the bcf file.
         :type id: number
         :param filename: associated with the bcf file.
         :type filename: string


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.bcfRemoved

      :type: function :ts-api-decorator:`optional`

      Triggered after a BCF file has been removed.


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

         :param id: None
         :type id: number


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.beginInteraction

      :type: function :ts-api-decorator:`optional`

      Triggered on the start of a mouse drag from any of the built-in Communicator operators.


      .. js:function:: beginInteraction( view)
         :noindex:

         :param view: View the interaction is taking place in.
         :type view: View


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.cadViewCreated

      :type: function :ts-api-decorator:`optional`

      Triggered when a CAD View is created.


      .. js:function:: cadViewCreated( cadViewId, cadViewName)
         :noindex:

         :param cadViewId: The [[CadViewId]] of the CAD View.
         :type cadViewId: number
         :param cadViewName: The name of the CAD View.
         :type cadViewName: string


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.camera

      :type: function :ts-api-decorator:`optional`

      Triggered when the camera changes.


      .. js:function:: camera( camera, view)
         :noindex:

         :param camera: The changed camera.
         :type camera: Camera
         :param view: The view the camera changed in.
         :type view: View


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.cappingIdle

      :type: function :ts-api-decorator:`optional`

      Triggered when capping geometry generation becomes idle or active.


      .. js:function:: cappingIdle( isIdle, cappedInstanceCount)
         :noindex:

         :param isIdle: ``true`` if becoming idle. ``false`` if becoming active.
         :type isIdle: boolean
         :param cappedInstanceCount: The number of geometry instances with capped faces.
         :type cappedInstanceCount: number


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.configurationActivated

      :type: function :ts-api-decorator:`optional`

      Triggered when a Configuration is activated.


      .. js:function:: configurationActivated( nodeId)
         :noindex:

         :param nodeId: The [[NodeId]] of the activated Configuration.
         :type nodeId: number


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.contextMenu

      :type: function :ts-api-decorator:`optional`

      Triggered when ``Ui.Context.ContextMenu`` menu is shown or hidden.

      By default, this function is called on right mouse-click events.


      .. js:function:: contextMenu( position, modifiers)
         :noindex:

         :param position: The window position of the mouse at the time of trigger.
         :type position: Point2
         :param modifiers: The active key modifiers at the time of trigger.
         :type modifiers: KeyModifiers


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.cuttingPlaneDrag

      :type: function :ts-api-decorator:`optional`

      Triggered when a cutting plane is dragged.


      .. js:function:: cuttingPlaneDrag( cuttingSection, planeIndex)
         :noindex:

         :param cuttingSection: The cutting section containing the cutting plane.
         :type cuttingSection: CuttingSection
         :param planeIndex: The index of the cutting plane in the cutting section.
         :type planeIndex: number


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.cuttingPlaneDragEnd

      :type: function :ts-api-decorator:`optional`

      Triggered when a cutting plane drag event stops.


      .. js:function:: cuttingPlaneDragEnd( cuttingSection, planeIndex)
         :noindex:

         :param cuttingSection: The cutting section containing the cutting plane.
         :type cuttingSection: CuttingSection
         :param planeIndex: The index of the cutting plane in the cutting section.
         :type planeIndex: number


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.cuttingPlaneDragStart

      :type: function :ts-api-decorator:`optional`

      Triggered when a cutting plane drag event starts.


      .. js:function:: cuttingPlaneDragStart( cuttingSection, planeIndex)
         :noindex:

         :param cuttingSection: The cutting section containing the cutting plane.
         :type cuttingSection: CuttingSection
         :param planeIndex: The index of the cutting plane in the cutting section.
         :type planeIndex: number


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.cuttingSectionsLoaded

      :type: function :ts-api-decorator:`optional`

      Triggered after a batch update to cutting sections, such as when
      deserializing from JSON data.

      This event may be triggered manually after modifying cutting sections
      to cause the UI state to be updated.


      .. js:function:: cuttingSectionsLoaded()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.endInteraction

      :type: function :ts-api-decorator:`optional`

      Triggered at the end of a mouse drag from any of the built-in Communicator operators
      or if [[Operator.stopInteraction]] gets called for a given operator.


      .. js:function:: endInteraction( view)
         :noindex:

         :param view: the View the interaction has ended in.
         :type view: View


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.explode

      :type: function :ts-api-decorator:`optional`

      Triggered when the expode magnitude of [[ExplodeManager]] changes.


      .. js:function:: explode( magnitude)
         :noindex:

         :param magnitude: The new explosion magnitude.
         :type magnitude: number


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.firstModelLoaded

      :type: function :ts-api-decorator:`optional`

      Triggered when the first model of a scene gets loaded.

      Clearing or switching models allows this to be triggered again.


      .. js:function:: firstModelLoaded( modelRootIds, isHwf)
         :noindex:

         :param modelRootIds: The root node IDs of the loaded model.
         :type modelRootIds: [number]
         :param isHwf: True if the model is an HWF model, false otherwise.
         :type isHwf: boolean


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.frameDrawn

      :type: function :ts-api-decorator:`optional`

      Triggered when a frame has been drawn.


      .. js:function:: frameDrawn( camera, visiblePoints, viewKey)
         :noindex:

         :param camera: The camera used when the frame was drawn.
         :type camera: Camera
         :param visiblePoints: A list of indices of points passed to [[View.setPointVisibilityTest]].
         :type visiblePoints: [number]
         :param viewKey: The key of the View the frame was drawn in.
         :type viewKey: ViewKey


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.handleEvent

      :type: function :ts-api-decorator:`optional`

      Triggered when a geometry handle is moved.


      .. js:function:: handleEvent( eventType, nodeIds, initialMatrices, newMatrices)
         :noindex:

         :param eventType: The type of the handle event.
         :type eventType: HandleEventType
         :param nodeIds: The node IDs bound to the handle.
         :type nodeIds: [number]
         :param initialMatrices: The initial matrices for each of the supplied ``nodeIds``.
         :type initialMatrices: [Matrix]
         :param newMatrices: The new matrices for each of the supplied ``nodeIds``.
         :type newMatrices: [Matrix]


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.handleEventEnd

      :type: function :ts-api-decorator:`optional`

      Triggered when a geometry handle is no longer selected.


      .. js:function:: handleEventEnd( eventType, nodeIds, initialMatrices, newMatrices)
         :noindex:

         :param eventType: The type of the handle event.
         :type eventType: HandleEventType
         :param nodeIds: The node IDs bound to the handle.
         :type nodeIds: [number]
         :param initialMatrices: The initial matrices for each of the supplied ``nodeIds``.
         :type initialMatrices: [Matrix]
         :param newMatrices: The new matrices for each of the supplied ``nodeIds``.
         :type newMatrices: [Matrix]


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.handleEventStart

      :type: function :ts-api-decorator:`optional`

      Triggered when a geometry handle is selected.


      .. js:function:: handleEventStart( eventType, nodeIds, initialMatrices)
         :noindex:

         :param eventType: The type of the handle event.
         :type eventType: HandleEventType
         :param nodeIds: The node IDs bound to the handle.
         :type nodeIds: [number]
         :param initialMatrices: The initial matrices for each of the supplied ``nodeIds``.
         :type initialMatrices: [Matrix]


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.hwfParseComplete

      :type: function :ts-api-decorator:`optional`

      Triggered when HWF parsing becomes completed.


      .. js:function:: hwfParseComplete()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.incrementalSelectionBatchBegin

      :type: function :ts-api-decorator:`optional`

      Triggered before a batch of incrementally selected entities is put into the [[SelectionManager]].

      See also:
       - [[SelectionManager.advanceIncrementalSelection]]


      .. js:function:: incrementalSelectionBatchBegin()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.incrementalSelectionBatchEnd

      :type: function :ts-api-decorator:`optional`

      Triggered after a batch of incrementally selected entities is put into the [[SelectionManager]].

      See also:
       - [[SelectionManager.advanceIncrementalSelection]]


      .. js:function:: incrementalSelectionBatchEnd()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.incrementalSelectionEnd

      :type: function :ts-api-decorator:`optional`

      Triggered after all batches of incrementally selected entities have been put into the [[SelectionManager]].

      See also:
       - [[SelectionManager.advanceIncrementalSelection]]


      .. js:function:: incrementalSelectionEnd()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.info

      :type: function :ts-api-decorator:`optional`

      Triggered when an info message is generated by the viewer.


      .. js:function:: info( infoType, message)
         :noindex:

         :param infoType: The type of the message.
         :type infoType: InfoType
         :param message: The message.
         :type message: string


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.lineCreated

      :type: function :ts-api-decorator:`optional`

      Triggered when a markup line is created.


      .. js:function:: lineCreated( line)
         :noindex:

         :param line: The created markup line.
         :type line: LineMarkup


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.lineDeleted

      :type: function :ts-api-decorator:`optional`

      Triggered when a markup line is deleted.


      .. js:function:: lineDeleted( line)
         :noindex:

         :param line: The deleted markup line.
         :type line: LineMarkup


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.lineLoaded

      :type: function :ts-api-decorator:`optional`

      Triggered when a markup line is loaded.


      .. js:function:: lineLoaded( line)
         :noindex:

         :param line: The loaded markup line.
         :type line: LineMarkup


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.measurementBegin

      :type: function :ts-api-decorator:`optional`

      Triggered when a measurement operator has begun measuring.


      .. js:function:: measurementBegin()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.measurementCreated

      :type: function :ts-api-decorator:`optional`

      Triggered when a measurement is fully created.


      .. js:function:: measurementCreated( measurement)
         :noindex:

         :param measurement: The created measurement.
         :type measurement: MeasureMarkup


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.measurementDeleted

      :type: function :ts-api-decorator:`optional`

      Triggered when a measurement is deleted by its [[MeasureManager]].


      .. js:function:: measurementDeleted( measurement)
         :noindex:

         :param measurement: The deleted measurement.  See also: - [[MeasureManager.removeMeasurement]] - [[MeasureManager.removeAllMeasurements]]
         :type measurement: MeasureMarkup


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.measurementHidden

      :type: function :ts-api-decorator:`optional`

      Triggered when a measurement is hidden by a call to its ``setVisibility`` method.


      .. js:function:: measurementHidden( measurement)
         :noindex:

         :param measurement: The hidden measurement.  See also: - [[MeasureMarkup.setVisibility]]
         :type measurement: MeasureMarkup


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.measurementLoaded

      :type: function :ts-api-decorator:`optional`

      Triggered when a measurement loaded by its [[MeasureManager]].


      .. js:function:: measurementLoaded( measurement)
         :noindex:

         :param measurement: The loaded measurement.  See also: - [[MeasureManager.loadData]]
         :type measurement: MeasureMarkup


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.measurementShown

      :type: function :ts-api-decorator:`optional`

      Triggered when a measurement is shown by a call to its ``setVisibility`` method.


      .. js:function:: measurementShown( measurement)
         :noindex:

         :param measurement: The shown measurement.  See also: - [[MeasureMarkup.setVisibility]]
         :type measurement: MeasureMarkup


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.measurementValueSet

      :type: function :ts-api-decorator:`optional`

      Triggered when the measurement value is set but before it is displayed to the user.

      This callback is useful for customizing the display of measurement text by using
      its ``getMeasurementValue`` and ``setMeasurementText`` methods.


      .. js:function:: measurementValueSet( measurement)
         :noindex:

         :param measurement: The modified measurement.
         :type measurement: MeasureMarkup


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.missingModel

      :type: function :ts-api-decorator:`optional`

      Triggered when a missing model is discovered during a load.


      .. js:function:: missingModel( modelPath)
         :noindex:

         :param modelPath: The path of the missing model.
         :type modelPath: string


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.modelLoadBegin

      :type: function :ts-api-decorator:`optional`

      Triggered immediately when [[Model.switchToModel]] is called.


      .. js:function:: modelLoadBegin()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.modelLoadFailure

      :type: function :ts-api-decorator:`optional`

      Triggered when a model could not be loaded.


      .. js:function:: modelLoadFailure( modelName, reason[, error])
         :noindex:

         :param modelName: The name of the model that failed to load.
         :type modelName: string
         :param reason: The reason the model failed to load.
         :type reason: string
         :param error: :ts-api-decorator:`optional` The error object thrown when the load failed, if available.
         :type error: any


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.modelStructureHeaderParsed

      :type: function :ts-api-decorator:`optional`

      Triggered when a model header has been parsed.


      .. js:function:: modelStructureHeaderParsed( filename, fileType)
         :noindex:

         :param filename: The name of the original model file.
         :type filename: string
         :param fileType: None
         :type fileType: FileType


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.modelStructureReady

      :type: function :ts-api-decorator:`optional`

      Triggered when the model structure has been loaded and is ready to be queried.

      This callback will only be called after the [[assemblyTreeReady]] callback gets triggered.


      .. js:function:: modelStructureReady()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.modelSwitchStart

      :type: function :ts-api-decorator:`optional`

      Triggered when [[Model.switchToModel]] or [[Model.clear]] is called.
      This gets triggered after any of the above methods begin.


      .. js:function:: modelSwitchStart( clearOnly)
         :noindex:

         :param clearOnly: ``true`` if the callback was triggered by [[Model.clear]]. ``false`` otherwise.
         :type clearOnly: boolean


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.modelSwitched

      :type: function :ts-api-decorator:`optional`

      Triggered when [[Model.switchToModel]] or [[Model.clear]] is called.
      This gets triggered after any of the above methods complete.


      .. js:function:: modelSwitched( clearOnly, modelRootIds)
         :noindex:

         :param clearOnly: ``true`` if the callback was triggered by [[Model.clear]]. ``false`` otherwise.
         :type clearOnly: boolean
         :param modelRootIds: The root IDs of the newly loaded assembly tree nodes.
         :type modelRootIds: [number]


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.noteTextCreated

      :type: function :ts-api-decorator:`optional`

      Triggered when note text is created, especially via the note operator.


      .. js:function:: noteTextCreated( noteText)
         :noindex:

         :param noteText: The note text that was created.
         :type noteText: NoteText


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.noteTextHidden

      :type: function :ts-api-decorator:`optional`

      Triggered when note text is hidden, especially via the note operator.


      .. js:function:: noteTextHidden( noteText)
         :noindex:

         :param noteText: The note text that was hidden.
         :type noteText: NoteText


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.noteTextShown

      :type: function :ts-api-decorator:`optional`

      Triggered when note text is shown, especially via the note operator.


      .. js:function:: noteTextShown( noteText)
         :noindex:

         :param noteText: The note text that was shown.
         :type noteText: NoteText


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.overlayViewportSet

      :type: function :ts-api-decorator:`optional`

      Triggered when an overlay viewport is set.


      .. js:function:: overlayViewportSet( overlayIndex, view)
         :noindex:

         :param overlayIndex: The index of the overlay that had its viewport set.
         :type overlayIndex: number
         :param view: The View the overlay was set in.
         :type view: View


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.redlineCreated

      :type: function :ts-api-decorator:`optional`

      Triggered when a redline markup item is created.


      .. js:function:: redlineCreated( redlineMarkup)
         :noindex:

         :param redlineMarkup: The created redline.
         :type redlineMarkup: RedlineItem


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.redlineDeleted

      :type: function :ts-api-decorator:`optional`

      Triggered when a redline markup item is deleted.


      .. js:function:: redlineDeleted( redlineMarkup)
         :noindex:

         :param redlineMarkup: The deleted redline.
         :type redlineMarkup: RedlineItem


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.redlineUpdated

      :type: function :ts-api-decorator:`optional`

      Triggered when a redline markup item is updated.

      An update is triggered by changes in a redline markup item's
      position, size, or text.


      .. js:function:: redlineUpdated( redlineMarkup)
         :noindex:

         :param redlineMarkup: The deleted redline.
         :type redlineMarkup: RedlineItem


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.removeCuttingSection

      :type: function :ts-api-decorator:`optional`

      Triggered when a cutting section is removed.


      .. js:function:: removeCuttingSection()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.sceneReady

      :type: function :ts-api-decorator:`optional`

      Triggered when the scene is ready to be interacted with.

      [[View]]-related operations such as moving the camera may be invoked.
      However, operations requiring node IDs should not be called at this time.


      .. js:function:: sceneReady()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.selectionArray

      :type: function :ts-api-decorator:`optional`

      Triggered when a selection event occurs.


      .. js:function:: selectionArray( selectionEvents, removed)
         :noindex:

         :param selectionEvents: A list of selection events.
         :type selectionEvents: [NodeSelectionEvent]
         :param removed: ``true`` if the selection items have been removed from the selection set. ``false`` otherwise.
         :type removed: boolean


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.sheetActivated

      :type: function :ts-api-decorator:`optional`

      Triggered when a drawing sheet has been activated.


      .. js:function:: sheetActivated( nodeId)
         :noindex:

         :param nodeId: The node ID of the activated sheet.
         :type nodeId: number


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.sheetDeactivated

      :type: function :ts-api-decorator:`optional`

      Triggered when drawing sheets have been deactivated.


      .. js:function:: sheetDeactivated()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.streamingActivated

      :type: function :ts-api-decorator:`optional`

      Triggered when the client begins streaming data from the server.


      .. js:function:: streamingActivated()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.streamingDeactivated

      :type: function :ts-api-decorator:`optional`

      Triggered when streaming from the client has stopped.


      .. js:function:: streamingDeactivated()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.subtreeDeleted

      :type: function :ts-api-decorator:`optional`

      Triggered when a subtree has been deleted.


      .. js:function:: subtreeDeleted( modelRootIds)
         :noindex:

         :param modelRootIds: A list of deleted subtree roots.
         :type modelRootIds: [number]


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.subtreeLoaded

      :type: function :ts-api-decorator:`optional`

      Triggered when a subtree has been loaded.
      This includes loading a model as well as directly creating nodes.


      .. js:function:: subtreeLoaded( modelRootIds, source)
         :noindex:

         :param modelRootIds: A list of loaded subtree roots.
         :type modelRootIds: [number]
         :param source: None
         :type source: NodeSource


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.timeout

      :type: function :ts-api-decorator:`optional`

      Triggered when a timeout due to inactivity occurs.


      .. js:function:: timeout()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.timeoutWarning

      :type: function :ts-api-decorator:`optional`

      Triggered when a timeout due to inactivity is about to occur.


      .. js:function:: timeoutWarning( minutesRemaining)
         :noindex:

         :param minutesRemaining: The remaining time until the [[timeout]] callback gets triggered.
         :type minutesRemaining: number


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.transitionBegin

      :type: function :ts-api-decorator:`optional`

      Triggered when a camera transition begins.


      .. js:function:: transitionBegin( duration, view)
         :noindex:

         :param duration: The duration of the transition in milliseconds.
         :type duration: number
         :param view: The View the camera transition started in.
         :type view: View


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.transitionEnd

      :type: function :ts-api-decorator:`optional`

      Triggered when a camera transition ends.


      .. js:function:: transitionEnd( view)
         :noindex:

         :param view: the View the camera transition ended in.
         :type view: View


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.viewAxes

      :type: function :ts-api-decorator:`optional`

      Triggered after the view axes have been set.


      .. js:function:: viewAxes( frontVector, upVector)
         :noindex:

         :param frontVector: The front vector of the view.
         :type frontVector: Point3
         :param upVector: The up vector of the view.
         :type upVector: Point3


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.viewCreated

      :type: function :ts-api-decorator:`optional`

      Triggered when a view is created or by creating a redline item when no view is active.


      .. js:function:: viewCreated( view)
         :noindex:

         :param view: The created markup view.  See also: - [[MarkupManager.createMarkupView]]
         :type view: MarkupView


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.viewDeactivated

      :type: function :ts-api-decorator:`optional`

      Triggered when a view is deactivated.


      .. js:function:: viewDeactivated( view)
         :noindex:

         :param view: The deactivated markup view.  See also: - [[MarkupManager.activateMarkupView]] - [[MarkupManager.deleteMarkupView]]
         :type view: MarkupView


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.viewDeleted

      :type: function :ts-api-decorator:`optional`

      Triggered when a view is deleted.


      .. js:function:: viewDeleted( view)
         :noindex:

         :param view: The deleted markup view.  See also: - [[MarkupManager.deleteMarkupView]]
         :type view: MarkupView


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.viewLoaded

      :type: function :ts-api-decorator:`optional`

      Triggered when a view is loaded from data.


      .. js:function:: viewLoaded( view)
         :noindex:

         :param view: The loaded markup view.  See also: - [[MarkupManager.loadMarkupData]]
         :type view: MarkupView


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.viewOrientation

      :type: function :ts-api-decorator:`optional`

      Triggered after the view orientation has changed.


      .. js:function:: viewOrientation( orientation, view)
         :noindex:

         :param orientation: The new view orientation.
         :type orientation: ViewOrientation
         :param view: the View the orientation was set for.  See also: - [[View.setViewOrientation]]
         :type view: View


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.visibilityChanged

      :type: function :ts-api-decorator:`optional`

      Triggered when nodes are shown or hidden. If ``shownBodyIds`` and ``hiddenBodyIds`` are both
      empty, only the visibility of structural nodes (nodes that do not directly contain
      geometry) changed.


      .. js:function:: visibilityChanged( shownBodyIds, hiddenBodyIds)
         :noindex:

         :param shownBodyIds: IDs of ``Body`` nodes that were shown.
         :type shownBodyIds: [number]
         :param hiddenBodyIds: IDs of ``Body`` nodes that were hidden.
         :type hiddenBodyIds: [number]


         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.walkOperatorActivated

      :type: function :ts-api-decorator:`optional`

      Triggered when the [[Operator.CameraWalkOperator]] becomes active.


      .. js:function:: walkOperatorActivated()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.walkOperatorDeactivated

      :type: function :ts-api-decorator:`optional`

      triggered when the [[Operator.CameraWalkOperator]] is deactivated.


      .. js:function:: walkOperatorDeactivated()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.webGlContextLost

      :type: function :ts-api-decorator:`optional`

      Triggered when the browser causes the WebGL context to be lost and rendering cannot continue.


      .. js:function:: webGlContextLost()
         :noindex:



         :rtype: void





.. container:: ts-api-section

   .. js:attribute:: CallbackMap.websocketConnectionClosed

      :type: function :ts-api-decorator:`optional`

      Triggered when the browser stream websocket connection is closed.


      .. js:function:: websocketConnectionClosed()
         :noindex:



         :rtype: void





