public final class R2TransformSiOT extends Object implements R2TransformSiOTType
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 |
---|---|
static R2TransformSiOT |
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 R2TransformSiOT |
createWith(com.io7m.jtensors.core.quaternions.Quaternion4D in_orientation,
com.io7m.jtensors.core.unparameterized.vectors.Vector3D 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() |
com.io7m.jtensors.core.unparameterized.vectors.Vector3D |
scale() |
com.io7m.jtensors.core.unparameterized.vectors.Vector3D |
scaleAxes() |
void |
setOrientation(com.io7m.jtensors.core.quaternions.Quaternion4D q)
Set the orientation.
|
void |
setScaleAxes(com.io7m.jtensors.core.unparameterized.vectors.Vector3D s)
Set the scales for each axis.
|
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.
|
R2WatchableType<R2TransformNonOrthogonalReadableType> |
transformNonOrthogonalGetWatchable() |
com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceWorldType> |
translation() |
public static R2TransformSiOT createWith(com.io7m.jtensors.core.quaternions.Quaternion4D in_orientation, com.io7m.jtensors.core.unparameterized.vectors.Vector3D in_scale, com.io7m.jtensors.core.parameterized.vectors.PVector3D<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 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)
.
public com.io7m.jtensors.core.quaternions.Quaternion4D orientation()
orientation
in interface R2TransformOrientationReadableType
public com.io7m.jtensors.core.unparameterized.vectors.Vector3D scale()
public 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 R2WatchableType<R2TransformReadableType> transformGetWatchable()
transformGetWatchable
in interface R2TransformReadableType
public R2WatchableType<R2TransformNonOrthogonalReadableType> transformNonOrthogonalGetWatchable()
transformNonOrthogonalGetWatchable
in interface R2TransformNonOrthogonalReadableType
public com.io7m.jtensors.core.unparameterized.vectors.Vector3D scaleAxes()
scaleAxes
in interface R2TransformScaleIndependentReadableType
public void setOrientation(com.io7m.jtensors.core.quaternions.Quaternion4D q)
R2TransformOrientationWritableType
setOrientation
in interface R2TransformOrientationWritableType
q
- The new orientationpublic void setScaleAxes(com.io7m.jtensors.core.unparameterized.vectors.Vector3D s)
R2TransformScaleIndependentWritableType
setScaleAxes
in interface R2TransformScaleIndependentWritableType
s
- The scale valuespublic void setTranslation(com.io7m.jtensors.core.parameterized.vectors.PVector3D<R2SpaceWorldType> t)
R2TransformTranslationWritableType
setTranslation
in interface R2TransformTranslationWritableType
t
- A translation in world-spaceCopyright © 2017 <code@io7m.com> http://io7m.com