Creates a new BoundingBoxGizmo object.
The camera component.
The render layer.
Protected_Internal reference to the app containing the gizmo.
Protected_Internal reference to camera component to view the gizmo.
Protected_Internal version of coordinate space. Defaults to 'world'.
Protected_Internal reference to the graphics device of the app.
Protected_Internal list of app event handles for the gizmo.
Protected_Internal reference to layer to render the gizmo..
Protected_Internal array of mouse buttons that can interact with the gizmo.
Protected_Internal flag to track if a render update is required.
Protected_Internal version of the gizmo scale. Defaults to 1.
The arm length as a fraction of the half edge; 1 draws full edges. Defaults to 0.3.
The arm thickness in CSS pixels. Defaults to 2.
The intersection shapes for the gizmo.
The graph nodes attached to the gizmo.
The world-space padding on each side. Defaults to 0.01.
Flag to indicate whether to call preventDefault on pointer events.
The root gizmo entity.
Gets the camera component to view the gizmo.
ProtectedcameraProtected
Gets the gizmo coordinate space.
Gets the gizmo enabled state.
Sets the gizmo enabled state.
ProtectedfacingProtected
Gets the gizmo render layer.
Array of mouse buttons that can interact with the gizmo. The button indices are defined as:
The full list of button indices can be found here: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button
Gets the gizmo size.
Sets the gizmo size. Defaults to 1.
Gets the current theme for the gizmo.
Protected_Protected
The box is world aligned.
The box is sized in world units.
Destroys the gizmo and its materials.
Fire an event, all additional arguments are passed on to the event listener.
Name of event to fire.
Optionalarg1: any
First argument that is passed to the event handler.
Optionalarg2: any
Second argument that is passed to the event handler.
Optionalarg3: any
Third argument that is passed to the event handler.
Optionalarg4: any
Fourth argument that is passed to the event handler.
Optionalarg5: any
Fifth argument that is passed to the event handler.
Optionalarg6: any
Sixth argument that is passed to the event handler.
Optionalarg7: any
Seventh argument that is passed to the event handler.
Optionalarg8: any
Eighth argument that is passed to the event handler.
Self for chaining.
Test if there are any handlers bound to an event name.
The name of the event to test.
True if the object has handlers bound to the specified event name.
Detach an event handler from an event. If callback is not provided then all callbacks are unbound from the event, if scope is not provided then all events with the callback will be unbound.
Use this form to remove all listeners matching a name (and optionally callback/scope). To remove a single known subscription, prefer retaining the EventHandle returned by EventHandler#on / EventHandler#once and calling its EventHandle#off: it removes exactly that subscription and is faster (no scan of the callback list).
Optionalname: string
Name of the event to unbind.
Optionalcallback: HandleEventCallback
Function to be unbound.
Optionalscope: any
Scope that was used as the this when the event is fired.
Self for chaining.
const handler = () => {};
obj.on('test', handler);
obj.off(); // Removes all events
obj.off('test'); // Removes all events called 'test'
obj.off('test', handler); // Removes all handler functions, called 'test'
obj.off('test', handler, this); // Removes all handler functions, called 'test' with scope this
Attach an event handler to an event.
Name of the event to bind the callback to.
Function that is called when event is fired. Note the callback is limited to 8 arguments.
Optionalscope: any = ...
Object to use as 'this' when the event is fired, defaults to current this.
An event handle. For later removal, prefer retaining this handle and calling its EventHandle#off over EventHandler#off with a name/callback: it removes exactly this subscription and is faster (no scan of the callback list).
Attach an event handler to an event. The handler is removed before it is called, so it runs at most once, even if it fires the same event again or throws.
Name of the event to bind the callback to.
Function that is called when event is fired. Note the callback is limited to 8 arguments.
Optionalscope: any = ...
Object to use as 'this' when the event is fired, defaults to current this.
An event handle. For removal before it fires, prefer retaining this handle and calling its EventHandle#off over EventHandler#off with a name/callback: it removes exactly this subscription and is faster (no scan of the callback list).
Gathers the bounds of the attached nodes and places the arms around them.
Sets the theme or partial theme for the gizmo.
The partial theme to set.
StaticcreateCreates a new gizmo layer and adds it to the scene.
The app.
OptionallayerName: string = 'Gizmo'
The layer name. Defaults to 'Gizmo'.
OptionallayerIndex: number = app.scene.layers.layerList.length
The layer index. Defaults to the end of the layer list.
The new layer.
StaticEVENT_Fired when graph nodes are attached.
StaticEVENT_Fired when graph nodes are detached.
StaticEVENT_Fired when the pointer is down on the gizmo.
StaticEVENT_Fired when the pointer is moving over the gizmo.
StaticEVENT_Fired when the pointer is up off the gizmo.
StaticEVENT_Fired when the gizmo's position is updated.
StaticEVENT_Fired when the gizmo render has updated.
StaticEVENT_Fired when the gizmo's rotation is updated.
StaticEVENT_Fired when the gizmo's scale is updated.
Draws corner brackets around the world-space bounds of the attached nodes and their descendants. Use a layer that keeps the scene depth so occluded parts draw in the theme's
occludedcolor; a Gizmo.createLayer layer clears depth.Relevant Engine API examples: