Skip to main content

ScenegraphNode

The ScenegraphNode is a base class for objects in the luma.gl scene graph, such as Model, Group and Camera. It holds the transformation matrix (i.e. the position, orientation and scale) of the object.

Usage

ScenegraphNode is a base class, normally only instantiated via base classes.

const model = new Model();
model
.setPosition([0, 1, 2])
.update();

Properties

A Model instance has a number of public properties that can be accessed/modified:

  • position (object) - A Vector3 indicating the position of the Model.
  • rotation (object) - A Vector3 indicating the rotation of the Model.
  • scale (object) - A Vecto3 indicating the scaling of the Model.
  • matrix (object) - A Matrix4 containing information about position, rotation and scale.

This matrix gets updated each time the method update is called on a Model instance.

Properties

matrix (Number[16])

The model matrix of this scenegraph node.

Methods

constructor(props : Object)

var node = new Model(gl, props);

setProps(props: Object)

  • position (Number[3]) - Sets the position part of the matrix
  • rotation (Number[3]) - Sets the rotation part of the matrix
  • scale (Number[3]) - Sets the scale part of the matrix

Note that setting orientation props does not actually update the object's matrix. update() must be called.

getBounds() : [min: number[], max: number[]] | null

Calculate the bounding box of the node.

update() - DEPRECATED

Update the model matrix. Useful to update changes to the position, rotation or scale properties.

node.update();

Remarks

  • Before luma.gl v7, ScenegraphNode was called Object3D.