Class: Transform

SQR. Transform

Constructor

new Transform(name)

A transform is a basic building block for 3D scenes made with squareroot.js
Parameters:
Name Type Description
name string the name of the transform.
Source:

Members

active :boolean

is set to false, the transform and all it's children will not be rendered.
Type:
  • boolean
Default Value:
  • false
Source:

directMatrixMode :boolean

When set to true matrix value inside @this.matrix can be manipulated directly.
Type:
  • boolean
Default Value:
  • false
Source:

(readonly) forward :SQR.V3

the forward vector
Type:
Source:

(readonly) globalPosition :SQR.V3

the global position of this transform (set automatically)
Type:
Source:

isStatic :boolean

Any object can have two different positioning modes: dynamic or static. If this value is set to false (dynamic) the matrices for this object will be recalculated at each frame.
If this value is set to true (static) the matrices for this object will be recalculated only once.
Type:
  • boolean
Default Value:
  • false
Source:

matrix :SQR.Matrix44

object-to-parent transformation matrix
Type:
Source:

name :string

a unique name of this transform, useful for debugging
Type:
  • string
Default Value:
  • `sqr.transform.` + a counter (ex. `sqr.transform.29)
Source:

position :SQR.V3

the position of this transform relative to it's parent
Type:
Source:

quaternion :SQR.Quaternion

A Quaternion that describes the rotation of the transform, only active if `useQuaternion` is set to true.
Type:
Source:

rotation :SQR.V3

A 3D vector the describes the rotation of the transform in Euler angles, disabled if `useQuaternion` is set to true.
Type:
Source:

scale :SQR.V3

the scale of the object on x, y and z axis
Type:
Source:

useQuaternion :SQR.Quaternion

if set to true, will use `quaternion` for rotation instead of the Euler angles in `rotation`
Type:
Default Value:
  • false
Source:

Methods

add()

Add a child transform. Accepts multiple arguments but all of them need to be of type {SQR.Transform}. It doesn't do any sort of type checking so if you add non object that are not {SQR.Transform} it will result in errors when the scene is rendered.
Source:

computeInverseMatrix()

Calculate the camera inverse matrix. Used only if this transform is a camera. This function is called in the rendering process, do not call directly.
Source:

contains(c)

Checks if transform is child of this transfom
Parameters:
Name Type Description
c SQR.Transform the transform to look for
Source:

recurse(f, excludeSelf)

Execute this function on all the child transforms.
Parameters:
Name Type Description
f function the function that will be called on each child. This function will receive the transform as argument.
excludeSelf boolean if set to true, the function will only be called for all the ancestors of the Transform, not on the transform itself.
Source:

remove()

Removes a child transform. Accepts multiple arguments but all of them need to be of type {SQR.Transform}
Source:

removeAll()

Removes all children transform.
Source:

transformView(inverseCamMatrix)

Calculate the view matrix. This function is called in the rendering process, do not call directly.
Parameters:
Name Type Description
inverseCamMatrix SQR.Matrix44 the inverse matrix of the camera
Source:

transformWorld()

Sets up the local matrix and multiplies is by the parents globalMatrix. This function is called in the rendering process, do not call directly.
Source:

viewDepth()

Used for sorting objects in the rendering function (not implemented yet)
Source: