UNPKG

opengeometry

Version:
30 lines (29 loc) 1.15 kB
import * as THREE from "three"; import { CSS2DObject } from "three/examples/jsm/renderers/CSS2DRenderer.js"; import { Event } from "./utils/event"; /** * Whenever you want something to work with pencil you should add it to pencil object */ export type PencilMode = "draw" | "erase" | "select" | "cursor" | "view"; export declare class Pencil { private camera; private container; private scene; private raycaster; pencilMeshes: THREE.Mesh[]; cursor: CSS2DObject | undefined; onCursorDown: Event<THREE.Vector3>; onCursorMove: Event<THREE.Vector3>; onElementHover: Event<THREE.Mesh>; onElementSelected: Event<THREE.Mesh>; pencilMode: PencilMode; private dummyPlane; constructor(container: HTMLElement, scene: THREE.Scene, camera: THREE.Camera); set mode(mode: PencilMode); get drawingCanvas(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.Material | THREE.Material[], THREE.Object3DEventMap> | undefined; setup(): void; groundVisible(visible: boolean): void; setupCursor(): void; setupCursorEvent(): void; fireCursor(mouse: MouseEvent): void; }