@zeainc/zea-ux
Version:
54 lines • 1.73 kB
TypeScript
import { TreeItem, Vec3, Xfo, XRControllerEvent, ZeaKeyboardEvent, ZeaPointerEvent } from '@zeainc/zea-engine';
import CreateGeomTool from './CreateGeomTool';
import { AppData } from '../../../types/types';
import CreateGeomChange from './Change/CreateGeomChange';
declare class CreateMultiLineTool extends CreateGeomTool {
change: CreateGeomChange;
length: number;
inverseXfo: Xfo;
vertices: Vec3[];
distanceToSnap: number;
pointerVertex: Vec3;
tailVertex: Vec3;
lastClickTime: number;
lastClickPt: Vec3;
doubleClickTime: number;
doubleClickMaxDistance: number;
/**
* Create a create line tool.
* @param appData - The appData value.
*/
constructor(appData: AppData, parentItem: TreeItem);
/**
* Starts line geometry creation.
*
* @param xfo - The xfo param.
*/
createStart(xfo: Xfo, event: ZeaPointerEvent): void;
/**
* Updates line structural data.
*
* @param pt - The pt param.
* @param event - The event param.
*/
createMove(pt: Vec3, event: ZeaPointerEvent): void;
snapToClosestAxis(vertex: Vec3): Vec3;
/**
* Add vertex or finish Line geometry creation.
*
* @param pt - The pt param.
*/
createRelease(pt: Vec3, event: ZeaPointerEvent): void;
protected shouldClosePolygon(event: ZeaPointerEvent): boolean;
onKeyUp(event: ZeaKeyboardEvent): void;
resetTool(): void;
/**
* The onXRControllerButtonDown method.
*
* @param event - The event param.
*/
onXRControllerButtonDown(event: XRControllerEvent): void;
}
export default CreateMultiLineTool;
export { CreateMultiLineTool };
//# sourceMappingURL=CreateMultiLineTool.d.ts.map