WebViewer
-
class
WebViewer() Index
Constructors
Properties
_viewsanimationManagerBCFManagercuttingManagerexplodeManagerlineManagermarkupManagermeasureManagermodelnoteTextManagerselectionManagersheetManager
Accessors
Methods
addViewadvanceExportToSvgapplyFilterbeginExportToSvgcloseConnectiondelayCappingendExportToSvgexportToSvgfitWorldfocusInputgetAllowHighDpigetContextMenuStatusgetFormatVersionStringgetMinimumFramerategetModelReadygetRendererTypegetSceneReadygetStatisticsgetStreamCutoffScalegetStreamingModegetViewgetViewElementgetViewerVersionStringmoveToWindowpauseRenderingredrawregisterCustomOperatorremoveViewresetresetClientTimeoutresizeCanvasresumeRenderingselectPartsetAllowHighDpisetCallbackssetClientTimeoutsetContextMenuStatussetMinimumFrameratesetServerRenderQualitysetStreamCutoffScalesetViewOrientationshutdownstarttakeSnapshottriggerunregisterCustomOperatorunsetCallbackswaitForIdle
Constructors
-
WebViewer.constructor() - WebViewer(inputParams:
WebViewerConfig):WebViewerCreates a new Web Viewer instance. You must pass in a containerId key with the ID of an element or a container element to use for your viewer. The system will create any required elements inside the supplied container.
Parameters
inputParams:
WebViewerConfigobject containing key-value pairs for viewer to setReturns:
WebViewer
Properties
-
WebViewer.BCFManager readonly
BCFManager: BCFManager
-
WebViewer.cuttingManager readonly
cuttingManager:ICuttingManager
-
WebViewer.explodeManager readonly
explodeManager:ExplodeManager
-
WebViewer.lineManager readonly
lineManager:LineManager
-
WebViewer.markupManager readonly
markupManager:MarkupManager
-
WebViewer.measureManager readonly
measureManager:MeasureManager
-
WebViewer.noteTextManager readonly
noteTextManager:NoteTextManager
-
WebViewer.selectionManager readonly
selectionManager:SelectionManager
-
WebViewer.sheetManager readonly
sheetManager:SheetManager
Accessors
-
WebViewer.floorplanManager() deprecated
Deprecated
FloorplanManagers are now properties of Views.get floorplanManager():FloorplanManagerDeprecated
FloorplanManagers are now properties of Views.Returns:
FloorplanManager
-
WebViewer.operatorManager() deprecated
Deprecated
OperatorManagers are now properties of Views.get operatorManager():OperatorManagerDeprecated
OperatorManagers are now properties of Views.Returns:
OperatorManager
-
WebViewer.overlayManager() deprecated
Deprecated
OverlayManagers are now properties of Views.get overlayManager():OverlayManagerDeprecated
OverlayManagers are now properties of Views.Returns:
OverlayManager
-
WebViewer.defaultEngineBinary() static
get defaultEngineBinary(): unknownReturns: unknown
set defaultEngineBinary(val: unknown): voidParameters
val: unknownReturns: void
-
WebViewer.defaultEnginePath() static
get defaultEnginePath(): (undefined | string)Returns: (undefined | string)
set defaultEnginePath(val: (undefined | string)): voidParameters
val: (undefined | string)Returns: void
Methods
-
WebViewer.addView() - addView(config:
ViewConfig): PromiseAdds another 3D view of the scene to the page.
Parameters
config:
ViewConfigconfiguration to be used for the new view.Returns: Promise
A promise with the created View.
-
WebViewer.advanceExportToSvg() - advanceExportToSvg(): Promise
Get the next chunk of the SVG code
Returns: Promise
A promise that resolves to a string containing the next chunk or undefined on completed..
-
WebViewer.applyFilter() - applyFilter(filterId:
FilterId): voidParameters
filterId:FilterIdReturns: void
-
WebViewer.beginExportToSvg() - beginExportToSvg(config:
SvgConfig?): PromiseSetup the env to export the current scene to a two-dimensional SVG representation through stream.
Parameters
config:
SvgConfig= …Allows customization of the resultant SVG.Returns: Promise
A promise that resolves to void when the env is ready.
-
WebViewer.closeConnection() - closeConnection(): void
Disconnects the network connection when in CSR mode.
Returns: void
-
WebViewer.delayCapping() - delayCapping(): void
Delays capping processing by a fixed time interval.
Returns: void
-
WebViewer.endExportToSvg() - endExportToSvg(): Promise
Reset the env after SVG stream export.
Returns: Promise
A promise that resolves to void when the env is reset.
-
WebViewer.exportToSvg() - exportToSvg(config:
SvgConfig?): PromiseExports the current scene to a two-dimensional SVG representation.
Parameters
config:
SvgConfig= …Allows customization of the resultant SVG.Returns: Promise
A promise that resolves to the created SVG string.
-
WebViewer.fitWorld() - fitWorld(duration: number?): Promise
Parameters
duration: number = DefaultTransitionDurationReturns: Promise
-
WebViewer.focusInput() - focusInput(focus: boolean): void
Sets whether keyboard input should be directed to this Web Viewer.
Parameters
focus: boolean
if true, the Web Viewer will be focused and accept keyboard input, otherwise it will be blurred and not accept keyboard inputReturns: void
-
WebViewer.getAllowHighDpi() - getAllowHighDpi(): boolean
Gets the current value for high DPI rendering
Returns: boolean
current high DPI setting
-
WebViewer.getContextMenuStatus() - getContextMenuStatus(): boolean
Returns: boolean
boolean true if the context menu is active, false otherwise
-
WebViewer.getFormatVersionString() - getFormatVersionString(): string
Returns the format version string.
Returns: string
string containing version information for the format.
-
WebViewer.getMinimumFramerate() - getMinimumFramerate(): Promise
Gets the minimum framerate that will be maintained by the viewer. The viewer will use various culling techniques in order to maintain the value returned.
Deprecated
Views can have independent framerates. This should be set usingView.getMinimumFramerate.Returns: Promise
Promise that is resolved when the operation has completed.
-
WebViewer.getModelReady() - getModelReady(): boolean
Returns: boolean
-
WebViewer.getRendererType() - getRendererType():
RendererTypeGets the RendererType this viewer was created with.
Returns:
RendererTypethe render mode.
-
WebViewer.getSceneReady() - getSceneReady(): boolean
Returns: boolean
-
WebViewer.getStatistics() - getStatistics(calculateTotals: boolean?): Promise
Gets viewer statistics for the current rendered frame. Statistics marked with a (*) below must be calculated and will not be included in the results unless the calculateTotals parameter is true. The values of these items will be cached and only updated during the next call to this method with calculateTotals set to true.
Parameters
calculateTotals: boolean = false
Forces an update of the total count elements. Please note that repeatedly calculating these items can cause a performance impact.Returns: Promise
an object containing informational key/value pairs
-
WebViewer.getStreamCutoffScale() - getStreamCutoffScale(): number
Returns the scale factor that will be applied to the streaming size cutoff. An object whose projected size is lower than the cutoff will not be streamed until its projected size reaches the cutoff. A value of 0 disables the cutoff.
Returns: number
-
WebViewer.getStreamingMode() - getStreamingMode():
StreamingModeGets the streaming mode this viewer was created with.
Returns:
StreamingModethe streaming mode.
-
WebViewer.getView() -
Gets a view with the provided key.
Parameters
viewKey:
ViewKeyThe key of the view to be returned.Returns: (undefined |
IView)The view, or undefined if it doesn’t exist.
-
WebViewer.getViewElement() - getViewElement(): HTMLDivElement
Gets the view element for this viewer. This element contains the canvas
Returns: HTMLDivElement
the view element
-
WebViewer.getViewerVersionString() - getViewerVersionString(): string
Returns the viewer version string.
Returns: string
string containing version information for the viewer.
-
WebViewer.moveToWindow() - moveToWindow(win: Window): void
This method should be called when the viewer is being moved to a new window. An example use case would be opening a new pop up window.
Parameters
win: Window
the new document that this viewer will be associated with.Returns: void
-
WebViewer.pauseRendering() - pauseRendering(callback: () => void): Promise
Pauses rendering updates for all views. This function is useful when performing large batches of updates and you would like the result to appear all at once.
Parameters
callback: () => void
If provided, rendering will be paused, the callback will be called, and then rendering will be resumed once the callback returns or throws an exception.Returns: Promise
-
WebViewer.redraw() - redraw(callback: () => void): void
Forces the viewer to perform a full redraw of all views.
Parameters
callback: () => void
A function to be called once the draw is complete. This is provided instead of aPromiseto ensure the callback is called before the start of another redraw.Returns: void
-
WebViewer.registerCustomOperator() - registerCustomOperator(operator:
Operator):OperatorIdAssociates a custom operator object with a system generated operatorId.
Parameters
operator:OperatorReturns:
OperatorIdan operatorId to be used for this operator.
-
WebViewer.removeView() - removeView(view:
IView): voidRemoves an existing view from the page. Note that the default view cannot be removed.
Parameters
view:
IViewThe view to remove.Returns: void
-
WebViewer.reset() - reset(durationCameraTransition: number?): Promise
Reset the camera, visibility, and transforms to their default state
Parameters
durationCameraTransition: number = DefaultTransitionDurationReturns: Promise
Promise that resolves when the operation has completed.
-
WebViewer.resetClientTimeout() - resetClientTimeout(): void
Resets the client timeout to the duration set with setClientTimeout.
Returns: void
-
WebViewer.resizeCanvas() - resizeCanvas(): void
This method should be called after the container element is moved or resized.
Returns: void
-
WebViewer.resumeRendering() - resumeRendering(): Promise
Resumes rendering for all views.
Returns: Promise
-
WebViewer.selectPart() - selectPart(nodeId: (None | number), selectionMode:
SelectionMode?):SelectionTypeSelects a part with the given Id.
Parameters
nodeId: (None | number)
nodeId of the part to select. Pass null to clear the selection.selectionMode:
SelectionMode= SelectionMode.SetReturns:
SelectionType
-
WebViewer.setAllowHighDpi() - setAllowHighDpi(allow: boolean): void
Controls rendering on high DPI displays. If true, the image will be rendered at full resolution when a high-DPI display is detected. If false, the image may be rendered at a lower resolution. The default value is false. This method may be called any time during or after the sceneReady callback has triggered.
Parameters
allow: boolean
controls the high DPI Setting.Returns: void
-
WebViewer.setCallbacks() - setCallbacks(callbacks:
CallbackMap): voidRegisters callbacks that will be called when their corresponding events occur.
Parameters
callbacks:
CallbackMapobject with property names set to corresponding functions to be called when the event occurs.Returns: void
-
WebViewer.setClientTimeout() - setClientTimeout(timeoutDuration: number, warningTime: number): boolean
Sets the parameters for client driven timeout monitoring. If no input is recorded for the the duration, the viewer will disconnect and free server resources. Calling this method will reset any pending timeout duration. No timeout will occur when viewing SCS Files. The default value is to disconnect after 15 minutes, with a warning issued after 14 minutes of inactivity. <br><br> <strong>Please note:</strong> Both parameters are required.
Parameters
timeoutDuration: number
the total time in minutes of inactivity that is allowed before a timeout event occurswarningTime: number
the number of minutes before issuing a timeoutWarning eventReturns: boolean
boolean value indicating whether the timeout values were sucessfully updated
-
WebViewer.setContextMenuStatus() - setContextMenuStatus(isActive: boolean): void
Sets a boolean with the status of the context menu
Parameters
isActive: booleanReturns: void
-
WebViewer.setMinimumFramerate() - setMinimumFramerate(value: number): Promise
Sets a minimum frame rate that will be maintained by all views. Views will use various culling techniques in order to maintain the value passed in.
Passing
0will cause the entire scene to be drawn for every frame.Parameters
value: number
The frame rate for the views to maintain.Returns: Promise
Promise that is resolved when the operation has completed.
-
WebViewer.setServerRenderQuality() - setServerRenderQuality(jpegQualityLow: number, jpegQualityHigh: number, scaleLow: number, scaleHigh: number): void
Sets the image quality settings for the high quality and low quality server side render. The low quality settings will be applied during model interaction (camera changes, selection, etc)
Parameters
jpegQualityLow: number
The JPEG quality of the low quality render framejpegQualityHigh: number
The JPEG quality of the high quality render framescaleLow: number
The scale factor for the low quality render framescaleHigh: number
The scale factor for the high quality render frameReturns: void
-
WebViewer.setStreamCutoffScale() - setStreamCutoffScale(value: number): Promise
Specifies a scale factor that will be applied to the streaming size cutoff. An object whose projected size is lower than the cutoff will not be streamed until its projected size reaches the cutoff.
This value may also be set for file-based sessions. In that case, when loading an SCS file based assembly via XML, projected size will be calculated on a per-file basis using the bounding information provided in the XML. For additional information, refer to [[Model.loadSubtreeFromXmlBuffer]].
A value of 0 will disable the cutoff. The value should be in the interval of [0.0, 2.0].
Parameters
value: numberReturns: Promise
-
WebViewer.setViewOrientation() - setViewOrientation(orientation:
ViewOrientation, duration: number?): PromiseSets the orientation of the current model view.
Parameters
orientation:
ViewOrientationa [[ViewOrientation]] object specifying back, front, top, etc.duration: number = DefaultTransitionDuration
the time in milliseconds for the model to transition to the new view orientation.Returns: Promise
-
WebViewer.shutdown() - shutdown(): void
Releases the resources used by the viewer. This method should be called when the viewer is no longer needed but the page is not being reloaded.
Returns: void
-
WebViewer.start() - start(): boolean
Starts the viewer and begins the loading process
Returns: boolean
-
WebViewer.takeSnapshot() - takeSnapshot(config:
SnapshotConfig?): PromiseCreates an Image of the current canvas
Parameters
config:SnapshotConfig= …Returns: Promise
-
WebViewer.trigger() Used to trigger Web Viewer events from operators. Refer to the overloaded method signatures for acceptable invocations of this method. Refer to [[CallbackMap]] for additional details for each event.
trigger(name: “bcfLoaded”, id: number, filename: string): voidParameters
name: “bcfLoaded”
id: number
filename: string
Returns: void
trigger(name: “bcfRemoved”, id: number): voidParameters
name: “bcfRemoved”
id: number
Returns: void
trigger(name: “handleEvent”, eventType:HandleEventType, nodeIds: number[], initialMatrices:Matrix[], newMatrices:Matrix[]): voidParameters
name: “handleEvent”
eventType:
HandleEventTypenodeIds: number[]
initialMatrices:
Matrix[]newMatrices:
Matrix[]Returns: void
trigger(name: “handleEventEnd”, eventType:HandleEventType, nodeIds: number[], initialMatrices:Matrix[], newMatrices:Matrix[]): voidParameters
name: “handleEventEnd”
eventType:
HandleEventTypenodeIds: number[]
initialMatrices:
Matrix[]newMatrices:
Matrix[]Returns: void
trigger(name: “handleEventStart”, eventType:HandleEventType, nodeIds: number[], initialMatrices:Matrix[]): voidParameters
Returns: void
trigger(name: “cuttingPlaneDragStart”, cuttingSection:ICuttingSection, planeIndex: number): voidParameters
Returns: void
trigger(name: “cuttingPlaneDrag”, cuttingSection:ICuttingSection, planeIndex: number): voidParameters
Returns: void
trigger(name: “cuttingPlaneDragEnd”, cuttingSection:ICuttingSection, planeIndex: number): voidParameters
Returns: void
trigger(name: “cuttingSectionsLoaded”): voidParameters
name: “cuttingSectionsLoaded”Returns: void
trigger(name: “redlineCreated”, redlineMarkup:RedlineItem): voidParameters
name: “redlineCreated”
redlineMarkup:
RedlineItemReturns: void
trigger(name: “redlineDeleted”, redlineMarkup:RedlineItem): voidParameters
name: “redlineDeleted”
redlineMarkup:
RedlineItemReturns: void
trigger(name: “redlineUpdated”, redlineMarkup:RedlineItem): voidParameters
name: “redlineUpdated”
redlineMarkup:
RedlineItemReturns: void
trigger(name: “measurementBegin”): voidParameters
name: “measurementBegin”Returns: void
trigger(name: “measurementCreated”, measurement:MeasureMarkup): voidParameters
name: “measurementCreated”
measurement:
MeasureMarkupReturns: void
trigger(name: “measurementDeleted”, measurement:MeasureMarkup): voidParameters
name: “measurementDeleted”
measurement:
MeasureMarkupReturns: void
trigger(name: “measurementValueSet”, measurement:MeasureMarkup): voidParameters
name: “measurementValueSet”
measurement:
MeasureMarkupReturns: void
trigger(name: “measurementShown”, measurement:MeasureMarkup): voidParameters
name: “measurementShown”
measurement:
MeasureMarkupReturns: void
trigger(name: “measurementHidden”, measurement:MeasureMarkup): voidParameters
name: “measurementHidden”
measurement:
MeasureMarkupReturns: void
trigger(name: “noteTextCreated”, noteText: NoteText): voidParameters
name: “noteTextCreated”
noteText: NoteText
Returns: void
trigger(name: “noteTextDeleted”, noteText: NoteText): voidParameters
name: “noteTextDeleted”
noteText: NoteText
Returns: void
trigger(name: “noteTextUpdated”, noteText: NoteText): voidParameters
name: “noteTextUpdated”
noteText: NoteText
Returns: void
trigger(name: “noteTextHidden”, noteText: NoteText): voidParameters
name: “noteTextHidden”
noteText: NoteText
Returns: void
trigger(name: “noteTextShown”, noteText: NoteText): voidParameters
name: “noteTextShown”
noteText: NoteText
Returns: void
trigger(name: “walkOperatorActivated”): voidParameters
name: “walkOperatorActivated”Returns: void
trigger(name: “walkOperatorDeactivated”): voidParameters
name: “walkOperatorDeactivated”Returns: void
trigger(name: “viewCreated”, view:MarkupView): voidParameters
name: “viewCreated”
view:
MarkupViewReturns: void
trigger(name: “viewDeleted”, view:MarkupView): voidParameters
name: “viewDeleted”
view:
MarkupViewReturns: void
trigger(name: “viewLoaded”, view:MarkupView): voidParameters
name: “viewLoaded”
view:
MarkupViewReturns: void
trigger(name: “contextMenu”, position:Point2, modifiers:KeyModifiers): voidParameters
Returns: void
trigger(name: “beginInteraction”): voidParameters
name: “beginInteraction”Returns: void
trigger(name: “endInteraction”): voidParameters
name: “endInteraction”Returns: void
-
WebViewer.unregisterCustomOperator() - unregisterCustomOperator(operatorId:
OperatorId): voidRemoves a previously registered custom operator from the system.
Parameters
operatorId:
OperatorIdthe ID of the operator that is to be unregisteredReturns: void
-
WebViewer.unsetCallbacks() - unsetCallbacks(callbacks:
CallbackMap): voidUnregisters callbacks from the system. Note the actual function object passed in must be the same as the one that was registered using setCallbacks.
Parameters
callbacks:
CallbackMapobject with property names set to corresponding functions to be unregistered.Returns: void
-
WebViewer.waitForIdle() - waitForIdle(config: { redraw: boolean }?): Promise
Returns a Promise that will resolve after streaming and associated asynchronous operations complete and the scene is fully drawn.
Parameters
config: { redraw: boolean } = {}Returns: Promise