ViewerAPI

The ViewerDrawingAPI provides basic functionalities to control the 2D Drawing Mode and the processed Output.

interface ViewerAPI {
    animateViewToViewmatrix(
        matrix:
            | Float32Array<ArrayBufferLike>
            | [
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
            ],
        transitionTime?: number,
    ): Promise<void>;
    cancelDrawingMode(): void;
    changeMagnifier(
        properties: ViewerMagnifierProperties,
    ): ViewerMagnifierProperties;
    changePolyline(polylineId: number, properties: PolylineProperties): void;
    changeSetting<T extends string>(
        viewerSetting: T,
        value: ViewerSettingType<T>,
    ): boolean;
    createCollectionFromGizmo(
        includeOverlappingNodes: boolean,
    ): Promise<number>;
    createGeometry(userGeoData: UserGeometryData): number;
    createPolyline(
        positions: number[],
        properties?: PolylineProperties,
    ): number;
    dehighlightEntity(highlightHandle?: number): void;
    enableNavigation(flag?: boolean): void;
    enableSnapping(useSnapping: boolean): void;
    enterColorCompareMode(): void;
    enterDrawingMode(): void;
    fitView(
        view?: Float32Array<ArrayBufferLike> | [number, number, number],
        up?: Float32Array<ArrayBufferLike> | [number, number, number],
        transitionTime?: number,
    ): Promise<void>;
    fitViewToAuxNode(nodeID: number, transitionTime?: number): Promise<void>;
    fitViewToDirection(
        direction?: ViewDirection,
        transitionTime?: number,
    ): Promise<void>;
    fitViewToNode(
        nodeID: number,
        view?: Float32Array<ArrayBufferLike> | [number, number, number],
        up?: Float32Array<ArrayBufferLike> | [number, number, number],
        transitionTime?: number,
    ): Promise<void>;
    fitViewToRectangle(
        x: number,
        y: number,
        width: number,
        height: number,
        transitionTime?: number,
    ): Promise<void>;
    fitViewToVolume(
        volume: BoxVolume,
        view?: Float32Array<ArrayBufferLike> | [number, number, number],
        up?: Float32Array<ArrayBufferLike> | [number, number, number],
        transitionTime?: number,
    ): Promise<void>;
    fitViewToVolumeFromDirection(
        volume: BoxVolume,
        direction?: ViewDirection,
        transitionTime?: number,
    ): Promise<void>;
    flipAuxToView(): void;
    forceRenderMode(renderMode: RenderMode): void;
    getActiveItem(): ActiveItemInfo;
    getAvailableGizmoTransformationModes(): number;
    getBoxGizmoProperties(): BoxGizmoProperties;
    getCameraPosition(): | Float32Array<ArrayBufferLike>
    | [number, number, number];
    getCameraProjectionType(): CameraProjectionType;
    getCenterOfRotation(): | Float32Array<ArrayBufferLike>
    | [number, number, number];
    getContext(): ContextAPI;
    getCurrentGizmoType(): GizmoType;
    getGizmoSize(): Float32Array<ArrayBufferLike> | [number, number, number];
    getGizmoTransform(): | Float32Array<ArrayBufferLike>
    | [
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
    ];
    getGizmoTransformationMode(): GizmoTransformationMode;
    getID(): string;
    getInteractionLevel(): ViewerInteractionLevel;
    getMagnifierProperties(): ViewerMagnifierProperties;
    getProjectionMatrix(): | Float32Array<ArrayBufferLike>
    | [
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
    ];
    getState(): ViewerState;
    getToCoordinateSystemMatrix(): | Float32Array<ArrayBufferLike>
    | [
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
    ];
    getViewMatrix(): [
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
    ];
    hideAllLineMarkers(): void;
    hideAllMarkers(): void;
    hideAllPointMarkers(): void;
    hideGizmo(): void;
    hidePointMarker(index?: number): void;
    highlightArc(
        pickedPt1: Float32Array<ArrayBufferLike> | [number, number, number],
        pickedPt3: Float32Array<ArrayBufferLike> | [number, number, number],
        center: Float32Array<ArrayBufferLike> | [number, number, number],
        axis: Float32Array<ArrayBufferLike> | [number, number, number],
        angle: number,
        measurementID: number,
    ): number;
    highlightBBox(
        center: Float32Array<ArrayBufferLike> | [number, number, number],
        size: Float32Array<ArrayBufferLike> | [number, number, number],
    ): number;
    highlightCircularArc(
        circularArcDescriptor: TopologyCircularArcDescriptor,
    ): number;
    highlightEntity(
        handle: TopologyHandle,
        highlightParameters?: ViewerHighlightParameters,
    ): Promise<number>;
    highlightLine(values: number[], scale: number, markerIndex: number): void;
    highlightPoint(
        position: Float32Array<ArrayBufferLike> | [number, number, number],
        markerIndex: number,
    ): void;
    isSnappingEnabled(): boolean;
    leaveColorCompareMode(): void;
    leaveDrawingMode(
        options?: ViewerDrawingProcessOptions,
    ): Promise<ViewerDrawingResult>;
    readSetting<T extends string>(viewerSetting: T): ViewerSettingType<T>;
    removeGeometry(id: number): void;
    removePolyline(polylineId: number): void;
    requestNodeIdsByRect(
        x: number,
        y: number,
        width: number,
        height: number,
        includeOverlappingNodes?: boolean,
    ): Promise<number[]>;
    requestScreenshot(
        width?: number,
        height?: number,
        mimeType?: "image/png" | "image/jpeg",
        resetCanvasSize?: boolean,
    ): Promise<string>;
    requestTopologyHandlesByRect(
        x: number,
        y: number,
        width: number,
        height: number,
    ): Promise<TopologyHandle[]>;
    reset(): void;
    resetSetting(viewerSetting: ViewerSettingStrings): void;
    restoreInitView(): void;
    setActiveItem(id: number, type: ActiveItemType): void;
    setCenterOfRotation(
        center?: Float32Array<ArrayBufferLike> | [number, number, number],
    ): Promise<void>;
    setCORGizmoVisible(flag: boolean): void;
    setGizmoTransformationMode(mode: GizmoTransformationMode): void;
    setInteractionLevel(level: ViewerInteractionLevel): void;
    setProjectionMatrix(
        matrix:
            | Float32Array<ArrayBufferLike>
            | [
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
            ],
    ): void;
    setView(
        position: Float32Array<ArrayBufferLike> | [number, number, number],
        target: Float32Array<ArrayBufferLike> | [number, number, number],
        upVector?: Float32Array<ArrayBufferLike> | [number, number, number],
        transitionTime?: number,
    ): Promise<void>;
    setViewMatrix(
        matrix:
            | Float32Array<ArrayBufferLike>
            | [
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
            ],
        transitionTime?: number,
    ): Promise<void>;
    showAxisMarker(
        values:
            | Float32Array<ArrayBufferLike>
            | [number, number, number, number, number, number],
        scale?: number,
        index?: number,
    ): void;
    showBoxGizmo(properties?: BoxGizmoProperties): void;
    showClippingBoxGizmo(clipRoomID: number): void;
    showPointMarker(
        position: Float32Array<ArrayBufferLike> | [number, number, number],
        index?: number,
    ): void;
    showSelectionBoxGizmo(
        size?: Float32Array<ArrayBufferLike> | [number, number, number],
        transform?:
            | Float32Array<ArrayBufferLike>
            | [
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
                number,
            ],
    ): void;
    showSelectionBoxGizmoFromVolume(volume?: BoxVolume): void;
    showSelectionTransformationGizmo(nodeIds: number[]): void;
    takeScreenshot(
        callback: (dataUrl: string) => void,
        mimeType?: string,
        width?: number,
        height?: number,
    ): void;
    updateGeometry(id: number, data: UserGeometryData): void;
}

Hierarchy (View Summary)

Methods

  • Animates to the given viewmatrix

    Parameters

    • matrix:
          | Float32Array<ArrayBufferLike>
          | [
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
          ]

      The new view matrix for the camera

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement

    Returns Promise<void>

  • Changes the properties of the Polyline with the specified Id.

    Parameters

    • polylineId: number

      The Id of the Polyline which should be removed.

    • properties: PolylineProperties

      The properties which should be changed.

    Returns void

  • Changes the viewer setting with the given name to the given value.

    Type Parameters

    • T extends string

    Parameters

    • viewerSetting: T

      Specifies a particular viewer setting which one would like to change.

    • value: ViewerSettingType<T>

      A new value for the specified setting.

    Returns boolean

    A boolean which indicates if the setting has changed

  • Parameters

    • includeOverlappingNodes: boolean

    Returns Promise<number>

  • Parameters

    • userGeoData: UserGeometryData

    Returns number

  • Creates a new Polyline with the specified positions and properties.

    Parameters

    • positions: number[]

      List of 3D positions which defines the Polyline.

    • Optionalproperties: PolylineProperties

      The properties of the Polyline.

    Returns number

  • Disable highlighting for the handle

    Parameters

    • OptionalhighlightHandle: number

      : number

    Returns void

  • Toggles the state of the 3D navigation (on or off).

    Parameters

    • Optionalflag: boolean

    Returns void

  • Enters the color compare mode which renders Nodes depending on the COMPARISON_GROUP-Property.

    Returns void

  • Positions the camera such that the whole geometry is fitting into the view. The view and up parameter allow to define a viewing direction and roll for the resulting camera pose.

    Parameters

    • Optionalview: Float32Array<ArrayBufferLike> | [number, number, number]

      Defines the desired viewing direction

    • Optionalup: Float32Array<ArrayBufferLike> | [number, number, number]

      Defines the desired camera orientation in conjunction with the viewing direction

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement

    Returns Promise<void>

  • Positions the camera such that the aux node is fitting into the view.

    Parameters

    • nodeID: number

      The ID of the node on which one wants to fit the view

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement

    Returns Promise<void>

  • Positions the camera such that it looks from a specific direction.

    Parameters

    • Optionaldirection: ViewDirection

      The direction to fit.

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement

    Returns Promise<void>

  • Positions the camera such that the node’s bounding box is fitting into the view. The view and up parameter allow to define a viewing direction and roll for the resulting camera pose.

    Parameters

    • nodeID: number

      The ID of the node on which one wants to fit the view

    • Optionalview: Float32Array<ArrayBufferLike> | [number, number, number]

      The direction in which the camera will look on the node

    • Optionalup: Float32Array<ArrayBufferLike> | [number, number, number]

      The orientation in which the camera will look on the node

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement

    Returns Promise<void>

  • Positions the camera such that the view is focused onto the given rectangle.

    Parameters

    • x: number

      Specifies the X-Coordinate of the 2D screen space Rectangle.

    • y: number

      Specifies the Y-Coordinate of the 2D screen space Rectangle.

    • width: number

      Specifies the width of the 2D screen space Rectangle.

    • height: number

      Specifies the height of the 2D screen space Rectangle.

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement.

    Returns Promise<void>

  • Positions the camera such that the view is focused onto the given volume. The view and up parameter allow to define a viewing direction and roll for the resulting camera pose.

    Parameters

    • volume: BoxVolume

      A particular volume on which the view will be fitted

    • Optionalview: Float32Array<ArrayBufferLike> | [number, number, number]

      Specifies the direction in which the camera will look on the volume

    • Optionalup: Float32Array<ArrayBufferLike> | [number, number, number]

      Specifies the orientation in which the camera will look on the volume

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement

    Returns Promise<void>

  • Positions the camera such that it looks from the specified direction onto the specified volume.

    Parameters

    • volume: BoxVolume

      The volume on which the camera will be fitted

    • Optionaldirection: ViewDirection

      The direction to fit.

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement

    Returns Promise<void>

  • Flips the auxiliaries with respect to the current view

    Returns void

  • Forces the viewer to render in the specified render mode regardless of any other render mode settings. If RenderMode.Unset is passed, the viewer will switch back to the default behaviour.

    Parameters

    • renderMode: RenderMode

      The render mode to force the viewer to render in.

    Returns void

  • Return the current Camera position

    Returns Float32Array<ArrayBufferLike> | [number, number, number]

    The current Camera position

  • Returns the center of rotation being the point around which the camera rotates around.

    Returns Float32Array<ArrayBufferLike> | [number, number, number]

  • Returns Float32Array<ArrayBufferLike> | [number, number, number]

  • Returns
        | Float32Array<ArrayBufferLike>
        | [
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
        ]

  • Returns string

  • Returns the current projection matrix.

    Returns
        | Float32Array<ArrayBufferLike>
        | [
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
        ]

    The current projection matrix

  • Returns
        | Float32Array<ArrayBufferLike>
        | [
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
            number,
        ]

    The toCoordinateSystem Matrix

    use getCoordinateSystemMatrix instead

    Returns a 4x4 rotation matrix which is used to transform the internal default right-handed coordinate system with X and Y as front plane axis to the configured one.

  • Returns the current view matrix.

    Returns [
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
    ]

    The current view matrix of the camera

  • Parameters

    • pickedPt1: Float32Array<ArrayBufferLike> | [number, number, number]
    • pickedPt3: Float32Array<ArrayBufferLike> | [number, number, number]
    • center: Float32Array<ArrayBufferLike> | [number, number, number]
    • axis: Float32Array<ArrayBufferLike> | [number, number, number]
    • angle: number
    • measurementID: number

    Returns number

  • Parameters

    • center: Float32Array<ArrayBufferLike> | [number, number, number]
    • size: Float32Array<ArrayBufferLike> | [number, number, number]

    Returns number

  • Parameters

    • values: number[]
    • scale: number
    • markerIndex: number

    Returns void

  • Parameters

    • position: Float32Array<ArrayBufferLike> | [number, number, number]
    • markerIndex: number

    Returns void

  • Leave the color compare render mode.

    Returns void

  • Returns the value of a viewer setting.

    Type Parameters

    • T extends string

    Parameters

    • viewerSetting: T

      The name of a particular setting whose value one wants to read

    Returns ViewerSettingType<T>

    The value of the specified setting

  • Parameters

    • id: number

    Returns void

  • Removes the Polyline with the specified Id.

    Parameters

    • polylineId: number

      The Id of the Polyline which should be removed.

    Returns void

  • Returns a List of all NodeIds which are included or overlapped by the specified 2D screen space Rectangle.

    Parameters

    • x: number

      Specifies the X-Coordinate of the 2D screen space Rectangle.

    • y: number

      Specifies the Y-Coordinate of the 2D screen space Rectangle.

    • width: number

      Specifies the width of the 2D screen space Rectangle.

    • height: number

      Specifies the height of the 2D screen space Rectangle.

    • OptionalincludeOverlappingNodes: boolean

      Specifies that the result should include Nodes which overlap the specified 2D screen space Rectangle as well.

    Returns Promise<number[]>

    List of all NodeIds which are included or overlapped by the specified 2D screen space Rectangle.

  • Requests a screenshot from the current view.

    Parameters

    • Optionalwidth: number

      The width of the requested screenshot. If not specified it uses the width of the current view.

    • Optionalheight: number

      The height of the requested screenshot. If not specified it uses the height of the current view.

    • OptionalmimeType: "image/png" | "image/jpeg"

      A string indicating the image format. The default type is image/png.

    • OptionalresetCanvasSize: boolean

    Returns Promise<string>

    • A string containing the requested screenshot as dataUrl.
  • Returns a List of all TopologyHandles which ared included & overlapped by the specified 2D screen space Rectangle.

    Parameters

    • x: number

      Specifies the X-Coordinate of the 2D screen space Rectangle.

    • y: number

      Specifies the Y-Coordinate of the 2D screen space Rectangle.

    • width: number

      Specifies the width of the 2D screen space Rectangle.

    • height: number

      Specifies the height of the 2D screen space Rectangle.

    Returns Promise<TopologyHandle[]>

    List of all TopologyHandles which are included & overlapped by the specified 2D screen space Rectangle.

  • Returns void

    Will be removed in a future version because it is not needed anymore to switch between render setups.

    The viewer is destroyed and reinitialized with renderSetup selection

  • Resets the value of a viewer setting.

    Parameters

    Returns void

  • Sets the camera to the initial position

    Returns void

  • Sets the center of rotation being the point around which the inspection camera rotates. If no center parameter is supplied the center of rotation is set to the center of all currently loaded models.

    Parameters

    • Optionalcenter: Float32Array<ArrayBufferLike> | [number, number, number]

      The center of rotation

    Returns Promise<void>

  • Sets the current projection matrix.

    Parameters

    • matrix:
          | Float32Array<ArrayBufferLike>
          | [
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
          ]

      The new projection matrix

    Returns void

  • Sets the camera position, its target and the up-vector. If the up-vector is not defined, the previous up-vector is kept.

    Parameters

    • position: Float32Array<ArrayBufferLike> | [number, number, number]

      Specifies the new position or center of the camera

    • target: Float32Array<ArrayBufferLike> | [number, number, number]

      Specifies the point on which the camera will look

    • OptionalupVector: Float32Array<ArrayBufferLike> | [number, number, number]

      Specifies the new orientation of the camera

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement

    Returns Promise<void>

  • Sets the camera view matrix.

    Parameters

    • matrix:
          | Float32Array<ArrayBufferLike>
          | [
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
          ]

      The new view matrix for the camera

    • OptionaltransitionTime: number

      Defines the transition time for the camera movement

    Returns Promise<void>

  • Parameters

    • values: Float32Array<ArrayBufferLike> | [number, number, number, number, number, number]
    • Optionalscale: number
    • Optionalindex: number

    Returns void

  • Shows the BoxGizmo based on the specified properties. If the BoxGizmo is already visible the specified properties will be updated.

    Parameters

    Returns void

  • Parameters

    • position: Float32Array<ArrayBufferLike> | [number, number, number]
    • Optionalindex: number

    Returns void

  • Parameters

    • Optionalsize: Float32Array<ArrayBufferLike> | [number, number, number]
    • Optionaltransform:
          | Float32Array<ArrayBufferLike>
          | [
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
              number,
          ]

    Returns void

  • Takes a screenshot from the current view.

    Parameters

    • callback: (dataUrl: string) => void

      A callback containing the result which is executed after all Rendering operations are finished.

    • OptionalmimeType: string

      A string indicating the image format. The default type is image/png.

    • Optionalwidth: number

      The width of the requested screenshot. If not specified it uses the width of the current view.

    • Optionalheight: number

      The height of the requested screenshot. If not specified it uses the height of the current view.

    Returns void

    takeScreenshot is deprecated, please use requestScreenshot instead

  • Parameters

    • id: number
    • data: UserGeometryData

    Returns void


Did you find this page useful? Please give it a rating:
Thank you for rating this page!
Any issues or feedback?
What kind of problem would you like to report?
Please tell us more about what's wrong: