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: