@zeainc/zea-ux
Version:
142 lines • 4.68 kB
TypeScript
import { Xfo, ColorParameter, Cross, TreeItem, Vec3, ZeaPointerEvent, ZeaMouseEvent, ZeaTouchEvent, BaseGeom, ZeaKeyboardEvent, XRController, XRControllerEvent, XRPoseEvent, LinesMaterial } from '@zeainc/zea-engine';
import BaseCreateTool from '../BaseCreateTool';
import { AppData } from '../../../types/types';
/**
* Base class for creating geometry tools.
*
* @extends BaseCreateTool
*/
declare class CreateGeomTool extends BaseCreateTool {
stage: number;
removeToolOnRightClick: boolean;
parentItem: TreeItem;
colorParam: ColorParameter;
vrControllerToolTipMat: LinesMaterial;
vrControllerToolTip: BaseGeom | Cross;
prevCursor: string;
constructionPlane: Xfo;
private activeController;
/**
* Create a create geom tool.
*
* @param appData - The appData value.
*/
constructor(appData: AppData, parentItem: TreeItem);
/**
* Adds a geometry icon to the VR Controller
* @param controller - The controller object.
*/
addIconToVRController(controller: XRController): void;
controllerAddedHandler(event: {
controller: any;
}): void;
/**
* The activateTool method.
*/
activateTool(): void;
/**
* The deactivateTool method.
*/
deactivateTool(): void;
private setupConstructionPlane;
/**
* Transforms the screen position in the viewport to an Xfo object.
*
* @param event - The event param
* @return {Xfo} The return value.
*/
screenPosToXfo(event: ZeaMouseEvent | ZeaTouchEvent, snapToSurfaceUnderPointer?: boolean): Xfo;
/**
* Starts the creation of the geometry.
*
* @param xfo - The xfo param.
*/
protected createStart(xfo: Xfo, event: ZeaPointerEvent): void;
/**
* The createPoint method.
*
* @param pt - The pt param.
*/
protected createPoint(pt: Vec3, event?: ZeaPointerEvent): void;
/**
* The createMove method.
*
* @param pt - The pt param.
*/
protected createMove(pt: Vec3, event: ZeaPointerEvent): void;
/**
* The createRelease method.
*
* @param pt - The pt param.
*/
protected createRelease(pt: Vec3, event: ZeaPointerEvent): void;
/**
* Event fired when a pointing device button is pressed over the viewport while the tool is activated.
*
* @param event - The event param.
*/
onPointerDown(event: ZeaPointerEvent): void;
/**
* Event fired when a pointing device is moved while the cursor's hotspot is inside the viewport, while tool is activated.
*
* @param event - The event param.
*/
onPointerMove(event: ZeaPointerEvent): void;
/**
* Event fired when a pointing device button is released while the pointer is over the viewport, while the tool is activated.
*
* @param event - The event param.
*/
onPointerUp(event: ZeaPointerEvent): void;
/**
* Event fired when the user rotates the pointing device wheel, while the tool is activated.
*
* @param event - The event param.
*/
onWheel(event: ZeaPointerEvent): void;
/**
* Event fired when the user presses a key on the keyboard, while the tool is activated.
*
* @param event - The event param.
*/
onKeyPressed(event: ZeaKeyboardEvent): void;
/**
* Event fired when the user presses down a key on the keyboard, while the tool is activated.
*
* @param event - The event param.
*/
onKeyDown(event: ZeaKeyboardEvent): void;
/**
* Event fired when the user releases a key on the keyboard.
*
* @param event - The event param.
*/
onKeyUp(event: ZeaKeyboardEvent): void;
/**
* Event fired when one or more touch points have been disrupted in an implementation-specific manner inside the viewport, when the tool is activated.
*
* @param event - The event param.
*/
onTouchCancel(event: ZeaPointerEvent): void;
/**
* Event fired when a VR controller button is pressed inside the viewport, when the tool is activated.
*
* @param event - The event param.
*/
onXRControllerButtonDown(event: XRControllerEvent): void;
/**
* The onXRPoseChanged method.
*
* @param event - The event param.
*/
onXRPoseChanged(event: XRPoseEvent): void;
/**
* Event fired when a VR controller button is released inside the viewport, when the tool is activated.
*
* @param event - The event param.
*/
onVRControllerButtonUp(event: XRControllerEvent): void;
}
export default CreateGeomTool;
export { CreateGeomTool };
//# sourceMappingURL=CreateGeomTool.d.ts.map