public final class R2TransformSOT extends Object implements R2TransformOrthogonalReadableType, R2TransformType
A transform represented by an scale, followed by an orientation, followed by a translation.
The transform does not allow independent scaling on each axis and will therefore produce matrices that are guaranteed to be orthogonal.
| Modifier and Type | Method and Description |
|---|---|
com.io7m.jtensors.Quaternion4FType |
getOrientation() |
float |
getScale() |
com.io7m.jtensors.parameterized.PVector3FType<R2SpaceWorldType> |
getTranslation() |
static R2TransformSOT |
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 R2TransformSOT |
newTransformWithValues(com.io7m.jtensors.Quaternion4FType in_orientation,
float in_scale,
com.io7m.jtensors.parameterized.PVector3FType<R2SpaceWorldType> in_translation)
Construct a transform using the given initial values.
|
void |
setScale(float x)
Set the uniform scale.
|
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. |
<T extends R2SpaceType,U extends R2SpaceType> |
transformMakeViewMatrix4x4F(R2TransformContextType context,
com.io7m.jtensors.parameterized.PMatrixWritable4x4FType<T,U> m)
Produce a view matrix for the transform.
|
R2WatchableType<R2TransformOrthogonalReadableType> |
transformOrthogonalGetWatchable() |
public static R2TransformSOT newTransformWithValues(com.io7m.jtensors.Quaternion4FType in_orientation, float in_scale, com.io7m.jtensors.parameterized.PVector3FType<R2SpaceWorldType> in_translation)
in_orientation - The orientationin_scale - The scalein_translation - The translationpublic static R2TransformSOT newTransform()
(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 float getScale()
public void setScale(float x)
x - The scale valuepublic 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<R2TransformOrthogonalReadableType> transformOrthogonalGetWatchable()
transformOrthogonalGetWatchable in interface R2TransformOrthogonalReadableTypepublic <T extends R2SpaceType,U extends R2SpaceType> void transformMakeViewMatrix4x4F(R2TransformContextType context, com.io7m.jtensors.parameterized.PMatrixWritable4x4FType<T,U> m)
R2TransformViewReadableTypetransformMakeViewMatrix4x4F in interface R2TransformViewReadableTypeT - The source coordinate systemU - The target coordinate systemcontext - A transform contextm - The output matrixCopyright © 2016 <code@io7m.com> http://io7m.com