Selva Compute API Reference - v3.0.1
    Preparing search index...

    Function initThree

    • Initializes a Three.js environment with scene, camera, renderer, and event handling.

      Parameters

      Returns {
          addUserGeometry: (object: Object3D) => void;
          applyEdges: (root: Object3D) => void;
          camera: PerspectiveCamera;
          cameraController: CameraController;
          clearSelection: () => void;
          clearUserGeometry: () => void;
          controls: OrbitControls;
          dispose: () => void;
          fitToView: () => void;
          gizmo: ViewGizmo | null;
          grid: Grid | null;
          measureTool: MeasureTool | null;
          removeUserGeometry: (object: Object3D) => void;
          renderer: WebGLRenderer;
          scene: Scene;
          setAmbientOcclusion: (enabled: boolean) => void;
          updateShadowBounds: () => void;
      }

      • addUserGeometry: (object: Object3D) => void

        Add caller-owned geometry (lines, annotations, construction aids) to the scene. The object is tagged userData.source = 'user' so it persists across updateScene solves instead of being cleared with compute content. It is treated as normal content for fit-to-view framing.

      • applyEdges: (root: Object3D) => void

        Attach edge overlays to the meshes under root (no-op unless edges.enabled). Call after loading meshes via updateScene, since meshes arrive after init.

      • camera: PerspectiveCamera
      • cameraController: CameraController
      • clearSelection: () => void
      • clearUserGeometry: () => void

        Remove and dispose all user-added geometry (every object tagged source === 'user').

      • controls: OrbitControls
      • dispose: () => void
      • fitToView: () => void
      • gizmo: ViewGizmo | null
      • grid: Grid | null
      • measureTool: MeasureTool | null

        Two-click distance measurement tool. Null unless measure.enabled; setEnabled(true) to use.

      • removeUserGeometry: (object: Object3D) => void

        Remove a single user-added object and dispose its geometry/materials.

      • renderer: WebGLRenderer
      • scene: Scene
      • setAmbientOcclusion: (enabled: boolean) => void

        Toggle ambient occlusion at runtime — builds or tears down the postprocessing pipeline.

      • updateShadowBounds: () => void

        Refit the sun's shadow frustum to the current scene content for crisp shadows. Call after loading or replacing geometry (e.g. after updateScene). No-op when sunlight/shadows are off.