public final class R2TransformSiOT extends Object implements R2TransformNonOrthogonalReadableType, R2TransformType
A transform represented by a scale, followed by an orientation, followed by a translation.
The transform allows independent scaling on each axis and may therefore produce matrices that are not orthogonal.
| Modifier and Type | Method and Description |
|---|---|
com.io7m.jtensors.Quaternion4FType |
getOrientation() |
com.io7m.jtensors.Vector3FType |
getScale() |
com.io7m.jtensors.parameterized.PVector3FType<R2SpaceWorldType> |
getTranslation() |
static R2TransformSiOT |
newTransform()
Construct a transform using the default values: The identity quaternion
(0, 0, 0, 1) for orientation, the scale vector (1, 1, 1),
and the translation (0, 0, 0). |
static R2TransformSiOT |
newTransformWith(com.io7m.jtensors.Quaternion4FType in_orientation,
com.io7m.jtensors.Vector3FType in_scale,
com.io7m.jtensors.parameterized.PVectorM3F<R2SpaceWorldType> in_translation)
Construct a transform using the given initial values.
|
R2WatchableType<R2TransformReadableType> |
transformGetWatchable() |
void |
transformMakeMatrix4x4F(R2TransformContextType context,
com.io7m.jtensors.parameterized.PMatrixWritable4x4FType<R2SpaceObjectType,R2SpaceWorldType> m)
Produce a 4x4 matrix for the current transformation, writing the resulting
matrix to
m. |
R2WatchableType<R2TransformNonOrthogonalReadableType> |
transformNonOrthogonalGetWatchable() |
public static R2TransformSiOT newTransformWith(com.io7m.jtensors.Quaternion4FType in_orientation, com.io7m.jtensors.Vector3FType in_scale, com.io7m.jtensors.parameterized.PVectorM3F<R2SpaceWorldType> in_translation)
Construct a transform using the given initial values. The given vectors are not copied; any modifications made to them will be reflected in the transform.
in_orientation - The orientationin_scale - The scalein_translation - The translationpublic static R2TransformSiOT newTransform()
Construct a transform using the default values: The identity quaternion
(0, 0, 0, 1) for orientation, the scale vector (1, 1, 1),
and the translation (0, 0, 0).
public com.io7m.jtensors.Quaternion4FType getOrientation()
public com.io7m.jtensors.Vector3FType getScale()
public com.io7m.jtensors.parameterized.PVector3FType<R2SpaceWorldType> getTranslation()
public void transformMakeMatrix4x4F(R2TransformContextType context, com.io7m.jtensors.parameterized.PMatrixWritable4x4FType<R2SpaceObjectType,R2SpaceWorldType> m)
R2TransformReadableTypem.transformMakeMatrix4x4F in interface R2TransformReadableTypecontext - The current transform contextm - The matrix to which values will be writtenpublic R2WatchableType<R2TransformReadableType> transformGetWatchable()
transformGetWatchable in interface R2TransformReadableTypepublic R2WatchableType<R2TransformNonOrthogonalReadableType> transformNonOrthogonalGetWatchable()
transformNonOrthogonalGetWatchable in interface R2TransformNonOrthogonalReadableTypeCopyright © 2017 <code@io7m.com> http://io7m.com