ID of this Component, unique within the Scene.
Components are mapped by this ID in {@link Scene.components}.
Arbitrary, user-defined metadata on this component.
The parent Scene that contains this Component.
The viewer that contains this Scene.
Gets the VBOSceneModel's World-space 3D axis-aligned bounding box.
Represented by a six-element Float64Array containing the min/max extents of the
axis-aligned volume, ie. [xmin, ymin,zmin,xmax,ymax, zmax].
Sets if backfaces are rendered for this VBOSceneModel.
Default is false.
Sets if backfaces are rendered for this VBOSceneModel.
Default is false.
When we set this true, then backfaces are always rendered for this VBOSceneModel.
When we set this false, then we allow the Viewer to decide whether to render backfaces. In this case,
the Viewer will:
Gets if this VBOSceneModel casts a shadow.
Sets if this VBOSceneModel casts a shadow.
Gets if Entitys in this VBOSceneModel are clippable.
Clipping is done by the SectionPlanes in {@link Scene.sectionPlanes}.
Sets if Entitys in this VBOSceneModel are clippable.
Clipping is done by the SectionPlanes in {@link Scene.sectionPlanes}.
Gets if this VBOSceneModel is collidable.
Sets if Entitys in this VBOSceneModel are collidable.
Gets the RGB colorize color for this VBOSceneModel.
Each element of the color is in range [0..1].
Sets the RGB colorize color for this VBOSceneModel.
Multiplies by rendered fragment colors.
Each element of the color is in range [0..1].
Gets if this VBOSceneModel is culled from view.
The VBOSceneModel is only rendered when VBOSceneModel.visible is true and VBOSceneModel.culled is false.
Sets if this VBOSceneModel is culled from view.
The VBOSceneModel is only rendered when VBOSceneModel.visible is true and VBOSceneModel.culled is false.
Configures the appearance of edges of Entitys within this VBOSceneModel.
This is the Scene.edgeMaterial.
Configures the appearance of highlighted Entitys within this VBOSceneModel.
This is the Scene.highlightMaterial.
Returns true to indicate that VBOSceneModel is implements {@link Drawable}.
Returns true to indicate that VBOSceneModel is an Entity.
Returns true if this VBOSceneModel represents a model.
When true the VBOSceneModel will be registered by VBOSceneModel.id in
Scene.models and may also have a MetaObject with matching MetaObject.id.
Returns false to indicate that VBOSceneModel never represents an object.
Gets the VBOSceneModel's local modeling transform matrix.
Default value is [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1].
The approximate number of line primitives in this VBOSceneModel.
The approximate number of point primitives in this VBOSceneModel.
The approximate number of triangle primitives in this VBOSceneModel.
Gets this VBOSceneModel's opacity factor.
This is a factor in range [0..1] which multiplies by the rendered fragment alphas.
Sets the opacity factor for this VBOSceneModel.
This is a factor in range [0..1] which multiplies by the rendered fragment alphas.
Gets the 3D World-space origin for this VBOSceneModel.
Each geometry or mesh origin, if supplied, is relative to this origin.
Default value is [0,0,0].
Gets if physically-based rendering (PBR) is enabled for this VBOSceneModel.
Only works when Scene.pbrEnabled is also true.
Gets if this VBOSceneModel is pickable.
Picking is done via calls to Scene.pick.
Sets if Entitys in this VBOSceneModel are pickable.
Picking is done via calls to Scene.pick.
Gets the VBOSceneModel's local translation.
Default value is [0,0,0].
Gets the VBOSceneModels's local rotation quaternion.
Default value is [0,0,0,1].
Sets if this VBOSceneModel can have shadow cast upon it.
Sets if this VBOSceneModel can have shadow cast upon it.
Gets the VBOSceneModel's local rotation, as Euler angles given in degrees, for each of the X, Y and Z axis.
Default value is [0,0,0].
Gets if Scalable Ambient Obscurance (SAO) will apply to this VBOSceneModel.
SAO is configured by the Scene's {@link SAO} component.
Only works when {@link SAO.enabled} is also true.
Gets the VBOSceneModel's local scale.
Default value is [1,1,1].
Configures the appearance of selected Entitys within this VBOSceneModel.
This is the Scene.selectedMaterial.
Gets if any Entitys in this VBOSceneModel are visible.
The VBOSceneModel is only rendered when VBOSceneModel.visible is true and VBOSceneModel.culled is false.
Sets if this VBOSceneModel is visible.
The VBOSceneModel is only rendered when VBOSceneModel.visible is true and VBOSceneModel.culled is false.
*
Gets the VBOSceneModel's World matrix.
Gets the VBOSceneModel's World normal matrix.
Configures the appearance of xrayed Entitys within this VBOSceneModel.
This is the Scene.xrayMaterial.
Destroys all Components that are owned by this. These are Components that were instantiated with this Component as their first constructor argument.
Creates an Entity within this VBOSceneModel, giving it one or more meshes previously created with VBOSceneModel.createMesh.
Entity configuration.
Optional ID for the new Entity. Must not clash with any existing components within the Scene.
IDs of one or more meshes created previously with {@link VBOSceneModel@createMesh}.
Creates a reusable geometry within this VBOSceneModel.
We can then supply the geometry ID to VBOSceneModel.createMesh when we want to create meshes that instance the geometry.
If provide a positionsDecodeMatrix , then createGeometry() will assume
that the positions and normals arrays are compressed. When compressed, positions will be
quantized and in World-space, and normals will be oct-encoded and in World-space.
Note that positions, normals and indices are all required together.
Geometry properties.
Mandatory ID for the geometry, to refer to with VBOSceneModel.createMesh.
Flat array of positions.
The primitive type. Accepted values are 'points', 'lines', 'triangles', 'solid' and 'surface'.
Creates a mesh within this VBOSceneModel.
A mesh can either share geometry with other meshes, or have its own unique geometry.
To share a geometry with other meshes, provide the ID of a geometry created earlier with VBOSceneModel.createGeometry.
To create unique geometry for the mesh, provide geometry data arrays.
Internally, VBOSceneModel will batch all unique mesh geometries into the same arrays, which improves rendering performance.
If you accompany the arrays with a positionsDecodeMatrix , then createMesh() will assume
that the positions and normals arrays are compressed. When compressed, positions will be
quantized and in World-space, and normals will be oct-encoded and in World-space.
If you accompany the arrays with an origin, then createMesh() will assume
that the positions are in relative-to-center (RTC) coordinates, with origin being the origin of their
RTC coordinate system.
When providing either positionsDecodeMatrix or origin, createMesh() will start a new
batch each time either of those two parameters change since the last call. Therefore, to combine arrays into the
minimum number of batches, it's best for performance to create your shared meshes in runs that have the same value
for positionsDecodeMatrix and origin.
Note that positions, normals and indices are all required together.
Object properties.
Mandatory ID for the new mesh. Must not clash with any existing components within the Scene.
Destroys this component.
Logs an error for this component to the JavaScript console.
The console message will have this format: [ERROR] [<component type> =<component id>: <message>
Also fires the message as an "error" event on the parent Scene.
The message to log
Finalizes this VBOSceneModel.
Fires an event on this component.
Notifies existing subscribers to the event, optionally retains the event to give to any subsequent notifications on the event as they are made.
The event type name
The event parameters
Returns true if there are any subscribers to the given event on this component.
The event
True if there are any subscribers to the given event on this component.
Tests if this component is of the given type, or is a subclass of the given type.
Logs a console debugging message for this component.
The console message will have this format: [LOG] [<component type> <component id>: <message>
Also fires the message as a "log" event on the parent Scene.
The message to log
Cancels an event subscription that was previously made with Component.on or Component.once.
Subscription ID
Fires when the model is loaded
The loaded event
Called fired on the event
Scope for the callback
Fires when the loading the model has an error
The error event
Called fired on the event
Scope for the callback
Subscribes to the next occurrence of the given event, then un-subscribes as soon as the event is subIdd.
This is equivalent to calling Component.on, and then calling Component.off inside the callback function.
Data event to listen to
Called when fresh data is available at the event
Logs a warning for this component to the JavaScript console.
The console message will have this format: [WARN] [<component type> =<component id>: <message>
Also fires the message as a "warn" event on the parent Scene.
The message to log
Generated using TypeDoc
A high-performance model representation for efficient rendering and low memory usage.