Group

components/meshes/ Group

.new Group()

Sometimes you need to make groups of objects (it's not conveniently to apply transforms to each object when can make just one to a group).
In Three.js you make it using THREE.Object3D and it's children.

In whs.js we have Group

Source:
Examples

Approach 2 - Adding objects to an empty group

const sphere = new Sphere();
const box = new Box();
const group = new Group();

sphere.addTo(group);
box.addTo(group);

Approach 2 - Making a group from objects

const sphere = new Sphere();
const box = new Box();
const group = new Group(box, sphere);
// OR: const group = new Group([box, sphere]);

Extends module:core.MeshComponent

Members

(private) ._wait :Array

Array of promises that should be resolved before Component is ready.

Inherited From:
Source:

.children :Array

Collection of child Components.

Inherited From:
Source:

.defaults :Object

Default values for parameters

Inherited From:
Default Value:
                  {
      build: true,
      geometry: {},
      material: false,
    
      shadow: {
        cast: true,
        receive: true
      },
    
      position: {x: 0, y: 0, z: 0},
      rotation: {x: 0, y: 0, z: 0},
      scale: {x: 1, y: 1, z: 1}
    }
                
Source:

.instructions :Object

Static instructions

Inherited From:
Default Value:
                  {
      position: ['x', 'y', 'z'],
      rotation: ['x', 'y', 'z'],
      scale: ['x', 'y', 'z']
    }
                
Source:

.isDeffered :Boolean

Returns whether the object is async (wait promises are more than 0).

Inherited From:
Source:

.manager :ModuleManager

Returns the ModuleManager used for this component.

Inherited From:
Source:

.modules :Array

Collection of modules.

Inherited From:
Source:

.native :Object

Returns the native object used for this component.

Inherited From:
Source:

Methods

.add(object) → {Promise}

Add a child Component.

Inherited From:
Source:
Parameters:
Name Type Description
object Component

Component that should be added as a child.

.addTo(object)

Adds this Component to specified App/Component.

Inherited From:
Source:
Parameters:
Name Type Description
object Component

Component that will be a parent of this.

.clone() → {MeshComponent}

Make a clone of this MeshComponent using .copy()

Inherited From:
Source:

.copy() → {this}

Copy source transforms & execute Component.copy()

Inherited From:
Source:

.defer(func)

Execute func (Callback) when Component is ready.

Inherited From:
Source:
Parameters:
Name Type Description
func function

Callback.

.remove(object)

Remove a child Component.

Inherited From:
Source:
Parameters:
Name Type Description
object Component

Component that should be a child of this Component.

.updateParams() → {Object}

Updates parameters of the Component.

Inherited From:
Source:

.wait(promiseopt) → {Promise}

Wait for a promise.

Inherited From:
Source:
Parameters:
Name Type Attributes Description
promise Promise <optional>

The promise that should be added to a queue.

.wrap() → {Promise}

Wraps transforms (position & rotation)

Inherited From:
Source: