@zeainc/zea-ux
Version:
144 lines • 4.47 kB
TypeScript
import { TreeItem, Ray, ColorParameter, Parameter, Vec3, ZeaWheelEvent, ZeaPointerEvent, XRControllerEvent, XRPoseEvent } from '@zeainc/zea-engine';
/**
* A Handle is an UI widget that lives in the scene, it translates a series of pointer events into a higher level interaction.
*
* **Parameters**
* * **Color(`ColorParameter`):** Specifies the color of the handle.
* * **HighlightColor(`ColorParameter`):** Specifies the highlight color of the handle.
*
* @extends TreeItem
*/
declare class Handle extends TreeItem {
gizmoRay: Ray;
activeController: any;
captured: boolean;
colorParam: ColorParameter;
highlightColorParam: ColorParameter;
grabPos: Vec3;
holdPos: Vec3;
holdDist: number;
value: number | Vec3 | number[];
delta: number | Vec3 | number[];
releasePos: Vec3;
/**
* Creates an instance of Handle.
*
* @param name - The name value.
*/
constructor(name?: string);
/**
* highlight the handle to indicate it is under the mouse.
*/
highlight(): void;
/**
* Removes the highlight from the handle once the mouse moves away.
*/
unhighlight(): void;
/**
* Returns the manipulation plane of the handle, denoting a start and a direction.
*
* @return {Ray} The return value.
*/
getManipulationPlane(): Ray;
/**
* Event fired when a pointing device is initially moved within the space of the handle.
*
* @param event - The event param.
*/
onPointerEnter(event: ZeaPointerEvent): void;
/**
* Event fired when a pointing device moves outside of the space of the handle.
*
* @param event - The event param.
*/
onPointerLeave(event: ZeaPointerEvent): void;
/**
* Event fired when a pointing device button is pressed while the pointer is over the handle element.
*
* @param event - The event param.
*/
onPointerDown(event: ZeaPointerEvent): void;
/**
* Event fired when a pointing device is moved while the cursor's hotspot is over the handle.
*
* @param event - The event param.
*/
onPointerMove(event: ZeaPointerEvent): void;
/**
* Event fired when a pointing device button is released while the pointer is over the handle.
*
* @param event - The event param.
*/
onPointerUp(event: ZeaPointerEvent): void;
onPointerClick(event: ZeaPointerEvent): void;
onPointerDoubleClick(event: ZeaPointerEvent): void;
/**
* Event fired when the user rotates the pointing device wheel over the handle.
*
* @param event - The event param.
*/
onWheel(event: ZeaWheelEvent): void;
/**
* Handles mouse down interaction with the handle.
*
* @param event - The event param.
*/
handlePointerDown(event: ZeaPointerEvent): void;
/**
* Handles mouse move interaction with the handle.
*
* @param event - The event param
*/
handlePointerMove(event: ZeaPointerEvent): void;
/**
* Handles mouse up interaction with the handle.
*
* @param event - The event param.
*/
handlePointerUp(event: ZeaPointerEvent): void;
/**
* Event fired when a VR controller button is pressed over the handle.
*
* @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 over the handle.
*
* @param event - The event param.
*/
onVRControllerButtonUp(event: XRControllerEvent): void;
/**
* Handles the initially drag of the handle.
*
* @param event - The event param.
*/
onDragStart(event: ZeaPointerEvent): void;
/**
* Handles drag action of the handle.
*
* @param event - The event param.
*/
onDrag(event: ZeaPointerEvent): void;
/**
* Handles the end of dragging the handle.
*
* @param event - The event param.
*/
onDragEnd(event?: ZeaPointerEvent): void;
/**
* Sets the target parameter for manipulation
*
* @param param - The parameter that will be modified during manipulation
*/
setTargetParam(param: Parameter<unknown>): void;
}
export default Handle;
export { Handle };
//# sourceMappingURL=Handle.d.ts.map