public final class R2TransformSOT extends Object implements R2TransformSOTType
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 |
---|---|
static R2TransformSOT |
create()
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 |
createWith(com.io7m.jtensors.core.quaternions.Quaternion4D in_orientation,
double in_scale,
com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceWorldType> in_translation)
Construct a transform using the given initial values.
|
com.io7m.jtensors.core.quaternions.Quaternion4D |
orientation() |
double |
scale() |
void |
setOrientation(com.io7m.jtensors.core.quaternions.Quaternion4D q)
Set the orientation.
|
void |
setScale(double x)
Set the uniform scale.
|
void |
setTranslation(com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceWorldType> t)
Set the translation.
|
R2WatchableType<R2TransformReadableType> |
transformGetWatchable() |
com.io7m.jtensors.core.parameterized.matrices.PMatrix4x4D<R2SpaceObjectType,R2SpaceWorldType> |
transformMakeMatrix4x4F()
Produce a 4x4 matrix for the current transformation.
|
<T extends R2SpaceType,U extends R2SpaceType> |
transformMakeViewMatrix4x4F()
Produce a view matrix for the transform.
|
R2WatchableType<R2TransformOrthogonalReadableType> |
transformOrthogonalGetWatchable() |
com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceWorldType> |
translation() |
public static R2TransformSOT createWith(com.io7m.jtensors.core.quaternions.Quaternion4D in_orientation, double in_scale, com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceWorldType> in_translation)
in_orientation
- The orientationin_scale
- The scalein_translation
- The translationpublic static R2TransformSOT create()
(0, 0, 0, 1)
for orientation, the scale vector (1, 1, 1)
,
and the translation (0, 0, 0)
.public com.io7m.jtensors.core.quaternions.Quaternion4D orientation()
orientation
in interface R2TransformOrientationReadableType
public double scale()
scale
in interface R2TransformScaleReadableType
public void setScale(double x)
setScale
in interface R2TransformScaleWritableType
x
- The scale valuepublic void setOrientation(com.io7m.jtensors.core.quaternions.Quaternion4D q)
R2TransformOrientationWritableType
setOrientation
in interface R2TransformOrientationWritableType
q
- The new orientationpublic void setTranslation(com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceWorldType> t)
R2TransformTranslationWritableType
setTranslation
in interface R2TransformTranslationWritableType
t
- A translation in world-spacepublic com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceWorldType> translation()
translation
in interface R2TransformTranslationReadableType
public com.io7m.jtensors.core.parameterized.matrices.PMatrix4x4D<R2SpaceObjectType,R2SpaceWorldType> transformMakeMatrix4x4F()
R2TransformReadableType
transformMakeMatrix4x4F
in interface R2TransformReadableType
public <T extends R2SpaceType,U extends R2SpaceType> com.io7m.jtensors.core.parameterized.matrices.PMatrix4x4D<T,U> transformMakeViewMatrix4x4F()
R2TransformViewReadableType
transformMakeViewMatrix4x4F
in interface R2TransformViewReadableType
T
- The source coordinate systemU
- The target coordinate systempublic R2WatchableType<R2TransformReadableType> transformGetWatchable()
transformGetWatchable
in interface R2TransformReadableType
public R2WatchableType<R2TransformOrthogonalReadableType> transformOrthogonalGetWatchable()
transformOrthogonalGetWatchable
in interface R2TransformOrthogonalReadableType
Copyright © 2017 <code@io7m.com> http://io7m.com