@inweb/viewer-three
Version:
JavaScript library for rendering CAD and BIM files in a browser using Three.js
24 lines (23 loc) • 1.15 kB
TypeScript
import { Intersection, Object3D, Raycaster, Vector2 } from "three";
import type { IComponent } from "@inweb/viewer-core";
import type { Viewer } from "../Viewer";
import type { IModelImpl } from "../models/IModelImpl";
import type { HighlighterComponent } from "./HighlighterComponent";
export declare class SelectionComponent implements IComponent {
protected viewer: Viewer;
protected raycaster: Raycaster;
protected downPosition: Vector2;
protected highlighter: HighlighterComponent;
constructor(viewer: Viewer);
dispose(): void;
onPointerDown: (event: PointerEvent) => void;
onPointerUp: (event: PointerEvent) => void;
onDoubleClick: (event: MouseEvent) => void;
getMousePosition(event: MouseEvent, target: Vector2): Vector2;
getPointerIntersects(mouse: Vector2, objects: Object3D[]): Array<Intersection<Object3D>>;
select(objects: Object3D | Object3D[], model?: IModelImpl): void;
deselect(objects: Object3D | Object3D[], model?: IModelImpl): void;
toggleSelection(objects: Object3D | Object3D[], model?: IModelImpl): void;
clearSelection(): void;
initHighlighter: () => void;
}