@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
46 lines (45 loc) • 1.45 kB
TypeScript
import { Plane } from 'three';
import { LineSegments2 } from 'three/examples/jsm/lines/LineSegments2.js';
import { Extension } from '../Extension.js';
import { SectionTool, type IViewer } from '../../../index.js';
export declare enum PlaneId {
POSITIVE_X = "POSITIVE_X",
POSITIVE_Y = "POSITIVE_Y",
POSITIVE_Z = "POSITIVE_Z",
NEGATIVE_X = "NEGATIVE_X",
NEGATIVE_Y = "NEGATIVE_Y",
NEGATIVE_Z = "NEGATIVE_Z"
}
export interface PlaneOutline {
renderable: LineSegments2;
}
export declare class SectionOutlines extends Extension {
protected sectionProvider: SectionTool;
get inject(): (typeof SectionTool)[];
private static readonly OUTLINE_Z_OFFSET;
private static readonly INITIAL_BUFFER_SIZE;
private tmpVec;
private up;
private down;
private left;
private right;
private forward;
private back;
private planeOutlines;
private lastSectionPlanes;
private sectionPlanesChanged;
constructor(viewer: IViewer, sectionProvider: SectionTool);
private getPlaneOutline;
get enabled(): boolean;
set enabled(value: boolean);
sectionUpdated(planes: Plane[]): void;
requestUpdate(force?: boolean): void;
private updatePlaneOutline;
private createPlaneOutline;
private onSectionBoxDragStart;
private onSectionBoxDragEnd;
private setSectionPlaneChanged;
private updateOutlines;
private resizeGeometryBuffer;
private getPlaneId;
}