@stereograph/teiaviewer - v17.8.0-dev
    Preparing search index...

    Class Viewer

    Base class that handles data and events of a 3D scene.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    behaviorManager: BehaviorManager
    commandHistory: CommandHistory
    materialFactory: MaterialFactory
    notificationCenter: NotificationCenter
    objectStateHistory: ObjectStateHistory

    Handle the history of object states

    raycaster: ViewerRaycaster
    settings: {
        backupName: StringController;
        camera: {
            centerCameraWhenLoading: BooleanController;
            stepDistanceZoom: NumberController;
        };
        debug: BooleanController;
        dev: { drawDebug: BooleanController; verbose: BooleanController };
        doubleClickDelay: NumberController;
        forceLocalSettings: BooleanController;
        keyboardType: SelectController<readonly ["unknown", "azerty", "qwerty"]>;
        lights: {
            ambientLightIntensity: NumberController;
            cameraLightIntensity: NumberController;
        };
        loading: {
            batchingMeshCountUpdateThreshold: NumberController;
            batchingWorkersCount: NumberController;
            edgeGeometryMinAngle: NumberController;
            loadingWorkersCount: NumberController;
            maxBatchingIndexCount: NumberController;
            maxBatchingProxyCount: NumberController;
            maxBatchingVertexCount: NumberController;
        };
        memory: {
            memoryUsageCriticalLevel: NumberController;
            memoryUsageWarningLevel: NumberController;
        };
        objects: {
            doubleSide: BooleanController;
            edgesColor: ColorController;
            flatShading: BooleanController;
            highlightColor: ColorController;
            measureLineSpriteSize: NumberController;
            xRayOpacity: NumberController;
        };
        scene: {
            axesSize: NumberController;
            backgroundColor: ColorController;
            gridSize: NumberController;
            showGrid: BooleanController;
            showOriginAxisHelper: BooleanController;
            showSceneAxisHelper: BooleanController;
        };
        selection: { layer: SelectController<readonly [Base, Overlay]> };
        snapping: { snappingEdgesThreshold: NumberController };
        transform: {
            pivotPoint: SelectController<readonly ["Center", "Min", "Max"]>;
        };
        ui: {
            showObjectHierarchyBanner: BooleanController;
            showToolbar: BooleanController;
            treeViewPageSize: NumberController;
        };
    }

    Viewer settings

    Type declaration

    • backupName: StringController

      Name of the backup to save the settings in the local storage

      "Default"
      
    • camera: {
          centerCameraWhenLoading: BooleanController;
          stepDistanceZoom: NumberController;
      }

      Camera settings

      • centerCameraWhenLoading: BooleanController

        Center the viewport camera on scene bounding sphere when loading content

        true
        
      • stepDistanceZoom: NumberController

        The added or removed distance when we click on the "zoom in / zoom out" buttons in the toolbar (CameraZoomOutCommand / CameraZoomInCommand)

        10
        
    • debug: BooleanController

      Show debug tools

      false
      
    • dev: { drawDebug: BooleanController; verbose: BooleanController }

      Developer settings

      • drawDebug: BooleanController

        Whether to active the draw debugs (draw debug objects to scene)

        false
        
      • verbose: BooleanController

        Verbose console logging. If true, info and time measures will be displayed in console

        false
        
    • doubleClickDelay: NumberController

      Delay in milliseconds between two successing clicks/taps to be consider event as DoubleClick/Tap

      250
      

      100

      500

    • forceLocalSettings: BooleanController

      Whether to use the local storage settings over the settings sent to the viewer

      false
      
    • keyboardType: SelectController<readonly ["unknown", "azerty", "qwerty"]>

      Type of the keyboard

      "unknown"
      
    • lights: {
          ambientLightIntensity: NumberController;
          cameraLightIntensity: NumberController;
      }

      Light settings

    • loading: {
          batchingMeshCountUpdateThreshold: NumberController;
          batchingWorkersCount: NumberController;
          edgeGeometryMinAngle: NumberController;
          loadingWorkersCount: NumberController;
          maxBatchingIndexCount: NumberController;
          maxBatchingProxyCount: NumberController;
          maxBatchingVertexCount: NumberController;
      }

      Loading settings

      • batchingMeshCountUpdateThreshold: NumberController

        Number of meshes to batch in the worker before sending an update to main thread

        1000
        

        100

        2000

      • batchingWorkersCount: NumberController

        Number of WebWorkers used to re-arrange geometry buffers

        navigator.hardwareConcurrency
        

        1

        navigator.hardwareConcurrency

      • edgeGeometryMinAngle: NumberController

        Edge threshold used to compute edge geometries

        60
        
      • loadingWorkersCount: NumberController

        Number of WebWorkers used to load scene

        navigator.hardwareConcurrency
        

        1

        navigator.hardwareConcurrency

      • maxBatchingIndexCount: NumberController

        Maximum size of the index buffer for a batch

        1e7
        

        1e6

        1e7

      • maxBatchingProxyCount: NumberController

        Maximum number of object per batch

        3000
        

        500

        7000

      • maxBatchingVertexCount: NumberController

        Maximum size of the vertex buffer for a batch

        1e7
        

        1e6

        1e7

    • memory: {
          memoryUsageCriticalLevel: NumberController;
          memoryUsageWarningLevel: NumberController;
      }

      JS Memory settings

      • memoryUsageCriticalLevel: NumberController

        Max percentage of memory used before displaying a critical warning

        0.8
        

        0

        1

      • memoryUsageWarningLevel: NumberController

        Max percentage of memory used before displaying a warning

        0.5
        

        0

        1

    • objects: {
          doubleSide: BooleanController;
          edgesColor: ColorController;
          flatShading: BooleanController;
          highlightColor: ColorController;
          measureLineSpriteSize: NumberController;
          xRayOpacity: NumberController;
      }

      Objects settings

    • scene: {
          axesSize: NumberController;
          backgroundColor: ColorController;
          gridSize: NumberController;
          showGrid: BooleanController;
          showOriginAxisHelper: BooleanController;
          showSceneAxisHelper: BooleanController;
      }

      Scene settings

      • axesSize: NumberController

        Size of the AxesHelper

        10
        

        1

        1000

      • backgroundColor: ColorController

        Background color of the scene

        #aabbdd
        
      • gridSize: NumberController

        Size of the grid

        100
        

        10

        1000

      • showGrid: BooleanController

        Whether to show a grid in the scene

        false
        
      • showOriginAxisHelper: BooleanController

        Whether to show an AxisHelper on the (0,0,0) coordinates

        false
        
      • showSceneAxisHelper: BooleanController

        Whether to show an AxisHelper on the center of the bounding sphere of the scene

        false
        
    • selection: { layer: SelectController<readonly [Base, Overlay]> }

      Selection settings

    • snapping: { snappingEdgesThreshold: NumberController }

      Snapping settings

      • snappingEdgesThreshold: NumberController

        Threshold used to snap measure lines on edges

    • transform: { pivotPoint: SelectController<readonly ["Center", "Min", "Max"]> }

      Gizmo transform settings

      • pivotPoint: SelectController<readonly ["Center", "Min", "Max"]>

        Pivot point of the group transform

        false (PivotPoint.center)
        
    • ui: {
          showObjectHierarchyBanner: BooleanController;
          showToolbar: BooleanController;
          treeViewPageSize: NumberController;
      }

      Ui Settings

      • showObjectHierarchyBanner: BooleanController

        Whether the selected object hierarchy banner is open by default

        false
        
      • showToolbar: BooleanController

        Whether to show the toolbar (if any added)

        true
        
      • treeViewPageSize: NumberController

        Default number of children displayed per parent in the tree view, also the size of added children

        30
        

        1

        30

    signals: ViewerSignals

    Signals emitted by the viewer

    stats: ViewerStats = ...
    viewports: ViewportCore[] = ...
    widgetFactory: WidgetFactory

    Factory creating widgets used by the viewer viewport

    Accessors

    • get plugins(): ReadonlyMap<string, ViewerPlugin<Viewer, Record<string, never>>>

      Returns ReadonlyMap<string, ViewerPlugin<Viewer, Record<string, never>>>

    • get version(): string

      Returns string

    Methods

    • Returns void

    • Returns the uuid to use for the given object. Called internally for each object loaded. Override this method to set a custom UUID for objects. By default, Three.js Object3D uuid is used.

      Parameters

      • object: SerializedBatchedMeshProxy

        The object to return the uuid for

      Returns string

    • Type Parameters

      • TKey extends never

      Parameters

      Returns ViewerPluginRegistry[TKey]

    • Returns void

    • Type Parameters

      • TKey extends never

      Parameters

      Returns void