Methods
AddTransformLayer(operation) → {Integer}
Inserts a transformation layer after all the current transformation layers
Parameters:
Name | Type | Description |
---|---|---|
operation |
AxTransformOperation | The transformation operation for the new layer to insert |
Returns:
The index at which the new transformation layer was inserted
- Type
- Integer
ClearTransformLayers()
Removes all transformation layers
DeserializeChunk(reader) → {Boolean}
Reads the data of a chunk. The chunk header is already read by the reader and this method deserializes the contents of the chunk. Called continuously for each of the transform's chunks
Parameters:
Name | Type | Description |
---|---|---|
reader |
AxHierarchyStreamReader | Reader to use for reading the serialized data. |
Returns:
True if a chunk was successfully deserialized
- Type
- Boolean
GetForwardVectorExtrinsic() → {AxVector3}
Returns a vector, oriented along the forward direction of the transform in scene space
This is the vector along the local Z axis of the transform in scene space
Returns:
A vector oriented along the transform's forward direction
- Type
- AxVector3
GetForwardVectorIntrinsic() → {AxVector3}
Returns a vector, oriented along the forward direction of the transform in local space
This is the vector along the local Z axis of the transform in local space
Returns:
A vector oriented along the transform's forward direction
- Type
- AxVector3
GetPositionExtrinsic() → {AxVector3}
Returns the position of the transform in scene space
Returns:
The position of the transform in scene space
- Type
- AxVector3
GetPositionIntrinsic() → {AxVector3}
Returns the position of the transform in local space
Returns:
The position of the transform in scene space
- Type
- AxVector3
GetRightVectorExtrinsic() → {AxVector3}
Returns a vector, oriented along the right direction of the transform in scene space
This is the vector along the local X axis of the transform in scene space
Returns:
A vector oriented along the transform's right direction
- Type
- AxVector3
GetRightVectorIntrinsic() → {AxVector3}
Returns a vector, oriented along the right direction of the transform in local space
This is the vector along the local X axis of the transform in local space
Returns:
A vector oriented along the transform's right direction
- Type
- AxVector3
GetRotationExtrinsic() → {AxVector3}
Get the rotation angles of the transform in scene space
The angles are extracted for an Euler rotation of XYZ sequence
Returns:
The rotation angles in scene space of the transform, for a rotation in XYZ sequence
- Type
- AxVector3
GetRotationIntrinsic() → {AxVector3}
Get the rotation angles of the transform in local space
The angles are extracted for an Euler rotation of XYZ sequence
Returns:
The rotation angles in local space of the transform, for a rotation in XYZ sequence
- Type
- AxVector3
GetScalingExtrinsic() → {AxVector3}
Returns the transform's scaling along the scene axes
Returns:
The scaling of the transform in scene space
- Type
- AxVector3
GetScalingIntrinsic() → {AxVector3}
Returns the transform's scaling along its local axes
Returns:
The scaling of the transform in local space
- Type
- AxVector3
GetUpVectorExtrinsic() → {AxVector3}
Returns a vector, oriented along the up direction of the transform in scene space
This is the vector along the local Y axis of the transform in scene space
Returns:
A vector oriented along the transform's up direction
- Type
- AxVector3
GetUpVectorIntrinsic() → {AxVector3}
Returns a vector, oriented along the up direction of the transform in local space
This is the vector along the local Y axis of the transform in local space
Returns:
A vector oriented along the transform's up direction
- Type
- AxVector3
InsertTransformLayer(operation, index)
Inserts a transformation layer at a given index
Parameters:
Name | Type | Description |
---|---|---|
operation |
AxTransformOperation | The transformation operation for the new layer to insert |
index |
Integer | Position in the transorm's properties where the new layer should be inserted |
Process(parent)
Performs all transformation operatoins
Parameters:
Name | Type | Description |
---|---|---|
parent |
AxTransform | The parent transform onto which to calculate the world matrices of this transform. Of omitted or null, no parent transformation is applied |
RelateTo(parent)
Modifies the transform, so that in effect, it will remain situated the same in the scene, when related the given transform, that is, when the given transform is its parent
Useful when attaching the transform to another one
Parameters:
Name | Type | Description |
---|---|---|
parent |
AxMatrix | AxTransform | A matrix or transform towards which this one's scene situation should be related to. If null or left undefined, the transform is related to idendity |
RelateToIdentity()
Modifies the transform, so that in effect, it will remain situated the same in the scene, when related to identity, that is, when the parent of the transform is a transform with no operations applied
Useful when detaching the transform from a parent
RemoveTransformLayer(index)
Removes a transformation layer at a given index
Parameters:
Name | Type | Description |
---|---|---|
index |
Integer | The index of the transformation layer which is to be removed |
RotateAroundExtrinsic(axis, angle)
Rotates around an arbitraty axis in scene space
Parameters:
Name | Type | Description |
---|---|---|
axis |
AxVector3 | An axis in scene space, around which to rotate |
angle |
Number | The angle by which to rotate |
RotateAroundIntrinsic(axis, angle)
Rotates around an arbitraty axis in local space
Parameters:
Name | Type | Description |
---|---|---|
axis |
AxVector3 | An axis in scene space, around which to rotate |
angle |
Number | The angle by which to rotate |
RotateAroundRayExtrinsic(rayPoint, rayVector, angle)
Rotates around an arbitraty ray in scene space
In contrast to the RotateAroundExtrinsic method, which rotates around the transform's pivot, this method rotates around a specific ray located in the scene
Parameters:
Name | Type | Description |
---|---|---|
rayPoint |
AxVector3 | A point on the ray |
rayVector |
AxVector3 | The orientation vector of the ray |
angle |
Number | The angle by which to rotate |
RotateAroundRayIntrinsic(rayPoint, rayVector, angle)
Rotates around an arbitraty ray in local space
In contrast to the RotateAroundIntrinsic method, which rotates around the transform's pivot, this method rotates around a specific ray located in the transform's local space
Parameters:
Name | Type | Description |
---|---|---|
rayPoint |
AxVector3 | A point on the ray |
rayVector |
AxVector3 | The orientation vector of the ray |
angle |
Number | The angle by which to rotate |
RotateExtrinsic(angles)
Rotates around the axes of the scene's coordinate system.
The angle by which to rotate around each axis is provided by the respective component of the given vector
The performed rotation is applied in a X-Y-Z sequence
Parameters:
Name | Type | Description |
---|---|---|
angles |
AxVector3 | A vector with the values of the angles by which to rotate around each respective axis of the scene |
RotateIntrinsic(angles)
Rotates around the axes of the transform's local coordinate system.
The angle by which to rotate around each axis is provided by the respective component of the given vector
The performed rotation is applied in a X-Y-Z sequence
Parameters:
Name | Type | Description |
---|---|---|
angles |
AxVector3 | A vector with the values of the angles by which to rotate around each respective axis of the transform's local coordinate system |
ScaleExtrinsic(scaling)
Scales along the axes of the scene's coordinate system
Parameters:
Name | Type | Description |
---|---|---|
scaling |
AxVector3 | A vector with the values by which to scale along each corresponding axis |
ScaleIntrinsic(scaling)
Scales along the axes of the transform's local coordinate system
Parameters:
Name | Type | Description |
---|---|---|
scaling |
AxVector3 | A vector with the values by which to scale along each corresponding axis |
SerializeChunks(writer)
Writes chunks for all the data which is needed to serialize the transform.
Parameters:
Name | Type | Description |
---|---|---|
writer |
AxHierarchyStreamWriter | Writer to use for writing the serialization data |
SetPositionExtrinsic(position)
Sets the position of the transform in scene space
Parameters:
Name | Type | Description |
---|---|---|
position |
AxVector3 | The position in scene space to apply on the transform |
SetPositionIntrinsic(position)
Sets the position of the transform in local space
Parameters:
Name | Type | Description |
---|---|---|
position |
AxVector3 | The position in local space to apply on the transform |
SetRotationExtrinsic(rotation)
Sets the rotation angles of the transform in scene space
The rotation is performed in XYZ sequence
Parameters:
Name | Type | Description |
---|---|---|
rotation |
AxVector3 | A vector with the rotation angles to be applied on each corresponding axis |
SetRotationIntrinsic(rotation)
Sets the rotation angles of the transform in local space
The rotation is performed in XYZ sequence
Parameters:
Name | Type | Description |
---|---|---|
rotation |
AxVector3 | A vector with the rotation angles to be applied on each corresponding axis |
SetScalingExtrinsic(scaling)
Sets the scaling of the transform along the scene axes
Parameters:
Name | Type | Description |
---|---|---|
scaling |
AxVector3 | A vector with the scaling values to be set on each corresponding axis |
SetScalingIntrinsic(scaling)
Sets the scaling of the transform along its local axes
Parameters:
Name | Type | Description |
---|---|---|
scaling |
AxVector3 | A vector with the scaling values to be set on each corresponding axis |
TranslateExtrinsic(translation)
Translates along the given vector in scene space
The translation is performed along the scene's axes, where the change in each axis is denoted by the corresponding component of the given vector
Parameters:
Name | Type | Description |
---|---|---|
translation |
AxVector3 | A vector in scene space along which to translate the transform |
TranslateIntrinsic(translation)
Translates along the given vector in respect to the transform's local space
The translation is performed along the local orientation axes, where the change in each axis is denoted by the corresponding component of the given vector
Effectively, this is a translation along the orientation of the transform's own coordinate system. This is useful, for example, when translating along an object's own left-right, up-down, forward-backward direction
Parameters:
Name | Type | Description |
---|---|---|
translation |
AxVector3 | A vector along which to translate in local space |