Skip to main content

Interface: Object3DExtPrototype

Patch.Object3DExtPrototype

Represents the prototype for extended Object3D functionality.

Properties​

cursor​

• cursor: Cursor

Cursor style when interacting with the object.

Defined in​

src/patch/Object3D.ts:56


cursorDrag​

• cursorDrag: Cursor

Cursor style when dragging the object.

Defined in​

src/patch/Object3D.ts:58


cursorDrop​

• cursorDrop: Cursor

Cursor style when dropping an object onto this one.

Defined in​

src/patch/Object3D.ts:60


dragTarget​

• dragTarget: Object3D<Object3DEventMap>

Indicates which object will be dragged instead of this one.

Defined in​

src/patch/Object3D.ts:46


draggable​

• draggable: boolean

Indicates whether the object is draggable. Default is DEFAULT_DRAGGABLE (false).

Defined in​

src/patch/Object3D.ts:50


enabled​

• enabled: boolean

Determines if the object is enabled. Default is true. If set to true, it allows triggering all InteractionEvents; otherwise, events are disabled.

Defined in​

src/patch/Object3D.ts:40


findDropTarget​

• findDropTarget: boolean

Determines when the object is dragged, whether it will have to search for any drop targets. Default is false.

Defined in​

src/patch/Object3D.ts:52


focusable​

• focusable: boolean

Indicates whether the object can receive focus. Default is DEFAULT_FOCUSABLE (true).

Defined in​

src/patch/Object3D.ts:48


hitboxes​

• hitboxes: Hitbox[]

Array of hitboxes for collision detection.

Defined in​

src/patch/Object3D.ts:44


interceptByRaycaster​

• interceptByRaycaster: boolean

Determines if the object can be intercepted by the main raycaster. Default is DEFAULT_INTERCEPT_BY_RAYCASTER (true).

Defined in​

src/patch/Object3D.ts:42


needsRender​

• needsRender: boolean

Indicates whether the scene needs rendering.

Defined in​

src/patch/Object3D.ts:62


scene​

• scene: Scene

Reference to the scene the object belongs to.

Defined in​

src/patch/Object3D.ts:54


tags​

• tags: Set<string>

Indicates the tags to be searched using the querySelector and querySelectorAll methods.

Defined in​

src/patch/Object3D.ts:64

Accessors​

clicking​

• get clicking(): boolean

Indicates if the object is currently being clicked.

Returns​

boolean

Defined in​

src/patch/Object3D.ts:70


dragging​

• get dragging(): boolean

Indicates if the object is currently being dragged.

Returns​

boolean

Defined in​

src/patch/Object3D.ts:72


enabledState​

• get enabledState(): boolean

Retrieves the combined enabled state considering parent objects.

Returns​

boolean

Defined in​

src/patch/Object3D.ts:74


firstFocusable​

• get firstFocusable(): Object3D<Object3DEventMap>

Retrieves the first possible focusable object.

Returns​

Object3D<Object3DEventMap>

Defined in​

src/patch/Object3D.ts:78


focused​

• get focused(): boolean

Indicates if the object is currently focused.

Returns​

boolean

Defined in​

src/patch/Object3D.ts:68


hovered​

• get hovered(): boolean

Indicates if the primary pointer is over this object.

Returns​

boolean

Defined in​

src/patch/Object3D.ts:66


visibilityState​

• get visibilityState(): boolean

Retrieves the combined visibility state considering parent objects.

Returns​

boolean

Defined in​

src/patch/Object3D.ts:76

Methods​

applyBlur​

▸ applyBlur(): void

Applies blur (removes focus) from the object.

Returns​

void

Defined in​

src/patch/Object3D.ts:86


applyFocus​

▸ applyFocus(): void

Applies focus to the object.

Returns​

void

Defined in​

src/patch/Object3D.ts:82


bindProperty​

▸ bindProperty<T>(property, getCallback, renderOnChange?): Object3DExtPrototype

Binds a property to a callback function for updates.

Type parameters​

NameType
Textends keyof Object3DExtPrototype

Parameters​

NameTypeDescription
propertyTThe name of the property to bind.
getCallback() => Object3DExtPrototype[T]A function that retrieves the property's value.
renderOnChange?booleanIndicates whether to render when the property changes (optional, default: false).

Returns​

Object3DExtPrototype

The instance of the object with the binding applied.

Defined in​

src/patch/Object3D.ts:138


detectChanges​

▸ detectChanges(recursive?): void

Calculates all bindings on the current object. If 'recursive' is set to true, it will also calculate bindings for all children.

Parameters​

NameTypeDescription
recursive?booleanIf true, calculate bindings for children as well (optional, default: false).

Returns​

void

Defined in​

src/patch/Object3D.ts:130


hasEvent​

▸ hasEvent<K>(type, listener): boolean

Checks if the object has a specific event listener.

Type parameters​

NameType
Kextends keyof MiscEvents | keyof InteractionEvents<Object3D<Object3DEventMap>, Object3D<Object3DEventMap>, Object3D<Object3DEventMap> | InstancedMeshEntity> | keyof UpdateEvents

Parameters​

NameTypeDescription
typeKThe type of event to check for.
listener(event?: Events[K]) => voidThe callback function to check.

Returns​

boolean

true if the event listener is attached; otherwise, false.

Defined in​

src/patch/Object3D.ts:100


off​

▸ off<K>(type, listener): void

Removes an event listener from the object.

Type parameters​

NameType
Kextends keyof MiscEvents | keyof InteractionEvents<Object3D<Object3DEventMap>, Object3D<Object3DEventMap>, Object3D<Object3DEventMap> | InstancedMeshEntity> | keyof UpdateEvents

Parameters​

NameTypeDescription
typeKThe type of event to remove the listener from.
listener(event?: Events[K]) => voidThe callback function to remove.

Returns​

void

Defined in​

src/patch/Object3D.ts:106


on​

▸ on<K>(type, listener): (event?: Events[K]) => void

Attaches an event listener to the object.

Type parameters​

NameType
Kextends keyof MiscEvents | keyof InteractionEvents<Object3D<Object3DEventMap>, Object3D<Object3DEventMap>, Object3D<Object3DEventMap> | InstancedMeshEntity> | keyof UpdateEvents

Parameters​

NameTypeDescription
typeK | K[]The type of event to listen for.
listener(this: Object3DExtPrototype, event?: Events[K]) => voidThe callback function to execute when the event occurs.

Returns​

fn

A function to remove the event listener.

▸ (event?): void

Attaches an event listener to the object.

Parameters​
NameType
event?Events[K]
Returns​

void

A function to remove the event listener.

Defined in​

src/patch/Object3D.ts:93


querySelector​

▸ querySelector(query): Object3D<Object3DEventMap>

Finds and returns the first Object3D element that matches the specified query string. This method follows a similar syntax to CSS selectors.

Parameters​

NameTypeDescription
querystringThe query string to match against the Object3D elements.

Returns​

Object3D<Object3DEventMap>

The first Object3D element that matches the query, or undefined if no match is found.

Defined in​

src/patch/Object3D.ts:158


querySelectorAll​

▸ querySelectorAll(query): Object3D<Object3DEventMap>[]

Finds and returns a list of Object3D elements that match the specified query string. This method follows a similar syntax to CSS selectors.

Parameters​

NameTypeDescription
querystringThe query string to match against the Object3D elements.

Returns​

Object3D<Object3DEventMap>[]

An array of Object3D elements that match the query.

Defined in​

src/patch/Object3D.ts:165


setManualDetectionMode​

▸ setManualDetectionMode(): void

Activates manual detection mode for bindings. When this method is used, all bindings will no longer be calculated automatically. Instead, they must be manually computed using the 'detectChanges' function.

Returns​

void

Defined in​

src/patch/Object3D.ts:124


trigger​

▸ trigger<K>(type, event?): void

Triggers a specific event on the object.

Type parameters​

NameType
Kextends keyof MiscEvents | keyof InteractionEvents<Object3D<Object3DEventMap>, Object3D<Object3DEventMap>, Object3D<Object3DEventMap> | InstancedMeshEntity> | keyof UpdateEvents

Parameters​

NameTypeDescription
typeKThe type of event to trigger.
event?Events[K]Optional event data to pass to the listeners.

Returns​

void

Defined in​

src/patch/Object3D.ts:112


triggerAncestor​

▸ triggerAncestor<K>(type, event?): void

Triggers a specific event on the object and all its ancestors.

Type parameters​

NameType
Kextends keyof InteractionEvents<Object3D<Object3DEventMap>, Object3D<Object3DEventMap>, Object3D<Object3DEventMap> | InstancedMeshEntity>

Parameters​

NameTypeDescription
typeKThe type of event to trigger.
event?InteractionEvents<Object3D<Object3DEventMap>, Object3D<Object3DEventMap>, Object3D<Object3DEventMap> | InstancedMeshEntity>[K]Optional event data to pass to the listeners.

Returns​

void

Defined in​

src/patch/Object3D.ts:118


tween​

▸ tween<T>(id?): Tween<T>

Initiates a Tween animation for the object.

Type parameters​

NameTypeDescription
Textends Object3D<Object3DEventMap, T> = Object3D<Object3DEventMap>The type of the target.

Parameters​

NameTypeDescription
id?stringUnique identifier. If you start a new tween, the old one with the same id (if specified) will be stopped.

Returns​

Tween<T>

A Tween instance for further configuration.

Defined in​

src/patch/Object3D.ts:151


unbindProperty​

▸ unbindProperty<T>(property): Object3DExtPrototype

Unbinds a previously bound property from the object.

Type parameters​

NameType
Textends keyof Object3DExtPrototype

Parameters​

NameTypeDescription
propertyTThe name of the property to unbind.

Returns​

Object3DExtPrototype

The instance of the object with the binding removed.

Defined in​

src/patch/Object3D.ts:144