Shape

components/meshes/ Shape

Constructor

.new Shape(paramsopt)

Shape is a universal class. It allows you to create different 2D shapes in 3D scene.
Unfortunately, not all of them support physics, an alternative is to make a similar 3D object and scale its width down to near zero.

Shape consists of shapes that are in its shapes parameter.

Source:
Parameters:
Name Type Attributes Description
params Object <optional>

The params.

Example

Creating a plane looking Shape from a THREE.Shape, and adding it to app

const rectWidth = 10,
rectLength = 5;

const rectShape = new THREE.Shape();
rectShape.moveTo(0,0);
rectShape.lineTo(0, rectWidth);
rectShape.lineTo(rectLength, rectWidth);
rectShape.lineTo(rectLength, 0);
rectShape.lineTo(0, 0);

const plane = new Shape({
  geometry: {
    shape: rectShape
  },

  material: new THREE.MeshBasicMaterial({
    color: 0xffffff
  })
}).addTo(app);

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

Overrides:
Default Value:
                  
    {
      geometry: {
        shapes: []
    }
    
Source:

.instructions :Object

Instructions

Overrides:
Default Value:
                  
    {
      geometry: ['shapes']
    }
    
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

(static) .build(params) → {THREE.Mesh}

Build livecycle creates a mesh using input params.

Source:
Parameters:
Name Type Description
params Object

Component parameters.

.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: