Importer

components/meshes/ Importer

.new Importer(paramsopt)

Importer is a loader for meshes and any other data to your scene

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

The params.

Example

Creating a Importer, and adding to app

new Importer({
  loader: new THREE.OBJLoader(),

  parser(geometry, material) { // data from loader
    return new THREE.Mesh(geometry, material); // should return your .native (mesh in this case)
  },

  position: [0, 100, 0]
}).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:
                  
    {
      url: '',
      loader: new JSONLoader(),
    
      onLoad() {},
      onProgress() {},
      onError() {},
    
      texturePath: null,
      useCustomMaterial: false,
    
      parser(geometry, materials) {
        return new Mesh(geometry, materials);
      }
    }
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

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

Build livecycle creates a mesh using input params.

Source:
Parameters:
Name Type Description
params Object

Component parameters.

(static) .filter(object, filter) → {THREE.Mesh}

Default values for parameters

Source:
Parameters:
Name Type Description
object THREE.Mesh

Instance for iterating through it's children.

filter function

Function with child as argument, should return a boolean whether include the child or not.

Example

Removing unnecessary lights from children

new Icosahedron({
  loader: new THREE.OBJLoader(),

  parse(group) { // data from loader
    return Importer.filter(group, child => !child.isLight); // remove lights
  },

  position: [0, 100, 0]
}).addTo(app);

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