Skip to main content

Class: UIDragSystem

Defined in: packages/iwsdk-uiextensions/src/systems/drag-system.ts:73

Extends

  • System<{ nearDrag: { default: true; type: Boolean; }; }, { regions: { required: Component<{ capacity: { default: number; type: Float32; }; columns: { default: number; type: Float32; }; flow: { default: "column"; enum: { Column: "column"; Grid: "grid"; Row: "row"; }; type: Enum; }; pitch: { default: number; type: Float32; }; regionId: { default: string; type: String; }; snapRadius: { default: number; type: Float32; }; }>[]; }; windows: { required: ( | Component<{ billboardWhileDragging: { default: true; type: Boolean; }; closable: { default: false; type: Boolean; }; dockable: { default: false; type: Boolean; }; dockMode: { default: "world-locked"; enum: { BodyFollow: "body-follow"; HandLocked: "hand-locked"; HeadLocked: "head-locked"; WorldLocked: "world-locked"; }; type: Enum; }; dragDelay: { default: number; type: Float32; }; focusBias: { default: number; type: Float32; }; followOffset: { default: [number, number, number]; type: Vec3; }; followSpeed: { default: number; type: Float32; }; followTolerance: { default: number; type: Float32; }; hand: { default: Hand | "either"; enum: { Either: "either"; Left: "left"; Right: "right"; }; type: Enum; }; handAnchor: { default: HandMenuAnchor; enum: { Above: "above"; Inside: "inside"; Outside: "outside"; Wrist: "wrist"; }; type: Enum; }; handAnchorDistance: { default: number; type: Float32; }; handOffset: { default: [number, number, number]; type: Vec3; }; minimizable: { default: false; type: Boolean; }; movable: { default: true; type: Boolean; }; palmAngle: { default: number; type: Float32; }; palmGate: { default: boolean; type: Boolean; }; pinnable: { default: false; type: Boolean; }; targetHeight: { default: number; type: Float32; }; targetWidth: { default: number; type: Float32; }; title: { default: string; type: String; }; windowId: { default: string; type: String; }; }> | Component<{ appliedDockMode: { default: string; type: String; }; chromeWired: { default: false; type: Boolean; }; gateOpen: { default: true; type: Boolean; }; homeDockMode: { default: string; type: String; }; homePosition: { default: [number, number, number]; type: Vec3; }; homeRegion: { default: string; type: String; }; homeYaw: { default: number; type: Float32; }; presented: { default: true; type: Boolean; }; }> | Component<{ }>)[]; }; }, this>

Constructors

Constructor

new UIDragSystem(
_w: World,
_qm: QueryManager,
_p: number
): UIDragSystem;

Defined in: node_modules/elics/lib/system.d.ts:76

Parameters

ParameterType
_wWorld
_qmQueryManager
_pnumber

Returns

UIDragSystem

Inherited from

createSystem(
{
windows: { required: [UIWindow, UIWindowState, PanelDocument] },
regions: { required: [UIDockRegion] },
},
{
/
Let the near grab pointer (controller squeeze, hand pinch) pick a
window up by its title bar. Off leaves the ray-only behaviour.
/
nearDrag: { type: Types.Boolean, default: true },
},
).constructor

Methods

init()

init(): void;

Defined in: packages/iwsdk-uiextensions/src/systems/drag-system.ts:92

Returns

void

Overrides

createSystem(
{
windows: { required: [UIWindow, UIWindowState, PanelDocument] },
regions: { required: [UIDockRegion] },
},
{
/
Let the near grab pointer (controller squeeze, hand pinch) pick a
window up by its title bar. Off leaves the ray-only behaviour.
/
nearDrag: { type: Types.Boolean, default: true },
},
).init

update()

update(delta: number, time: number): void;

Defined in: packages/iwsdk-uiextensions/src/systems/drag-system.ts:115

Per-frame tick. Both arguments are in seconds (Three.js Clock convention), not milliseconds.

Parameters

ParameterTypeDescription
deltanumberSeconds since the previous frame.
timenumberAccumulated Clock.elapsedTime (seconds since the render loop started ticking the clock); monotonic across frames within a session.

Returns

void

Overrides

createSystem(
{
windows: { required: [UIWindow, UIWindowState, PanelDocument] },
regions: { required: [UIDockRegion] },
},
{
/
Let the near grab pointer (controller squeeze, hand pinch) pick a
window up by its title bar. Off leaves the ray-only behaviour.
/
nearDrag: { type: Types.Boolean, default: true },
},
).update