import { Color, Xfo, NumberParameter, XfoParameter, ZeaPointerEvent } from '@zeainc/zea-engine'; import { Handle } from './Handle'; import './Shaders/HandleShader'; /** * Class representing a slider scene widget with an arc shape. There are two parts in this widget, the slider and the handle.
* The **Handle** is the moving part of the widget, the object you interact with. The **Slider** is the path that the **handle** follows. * * * **Parameters** * * **ArcRadius(`NumberParameter`):** Specifies the radius of the slider. * * **ArcAngle(`NumberParameter`):** Specifies the arc angle of the slider. * * **HandleRadius(`NumberParameter`):** Specifies the radius of the handle in the slider. * * **Events** * * **dragStart:** Triggered when the pointer is down. * * **dragEnd:** Triggered when the pointer is released. * * @extends Handle */ declare class ArcSlider extends Handle { param: XfoParameter | NumberParameter; arcRadiusParam: NumberParameter; arcAngleParam: NumberParameter; handleRadiusParam: NumberParameter; range: Array; private handleMat; private handle; private arc; private baseXfo; private handleXfo; private vec0; private change; private handleGeomOffsetXfo; /** * Creates an instance of ArcSlider. * * @param name - The name value * @param [arcRadius=1] - The arcRadius value * @param [arcAngle=1] - The arcAngle value * @param [handleRadius=0.02] - The handleRadius value * @param [color=new Color(1, 1, 0)] - the color value */ constructor(name?: string, arcRadius?: number, arcAngle?: number, handleRadius?: number, color?: Color); /** * 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; /** * 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; /** * Sets global xfo target parameter * * @param param - The parameter that will be modified during manipulation * @param track - The track param. */ setTargetParam(param: XfoParameter | NumberParameter, track?: boolean): void; /** * Returns handle's global Xfo * * @return {Xfo} - The Xfo value */ getBaseXfo(): Xfo; /** * Handles the initially drag interaction of the handle. * * @param event - The event param. */ onDragStart(event: ZeaPointerEvent): void; /** * Handles drag interaction of the handle. * * @param event - The event param. */ onDrag(event: ZeaPointerEvent): void; /** * Handles the end of dragging interaction with the handle. * * @param event - The event param. */ onDragEnd(event: ZeaPointerEvent): void; /** * Serializes handle item as a JSON object. * * @param context - The context param. * @return {object} The return value. */ toJSON(context: Record): Record; /** * Restores handle item from a JSON object. * * @param json - The json param. * @param context - The context param. */ fromJSON(json: Record, context: Record): void; } export default ArcSlider; export { ArcSlider }; //# sourceMappingURL=ArcSlider.d.ts.map