public class TransformBuilder
extends java.lang.Object
TransformBuilder
is used to build transform matrix by a chain of transformations.Constructor and Description |
---|
TransformBuilder()
Construct a
TransformBuilder with initial identity transform matrix and specified compose order |
TransformBuilder(ComposeOrder order)
Construct a
TransformBuilder with initial identity transform matrix and specified compose order |
TransformBuilder(Matrix4 initial,
ComposeOrder order)
Construct a
TransformBuilder with initial transform matrix and specified compose order |
Modifier and Type | Method and Description |
---|---|
TransformBuilder |
append(Matrix4 m)
Append the new transform matrix to the transform chain.
|
void |
compose(Matrix4 m)
Append or prepend the argument to internal matrix.
|
ComposeOrder |
getComposeOrder()
Gets the chain compose order.
|
Matrix4 |
getMatrix()
Gets the current matrix value
|
TransformBuilder |
prepend(Matrix4 m)
Prepend the new transform matrix to the transform chain.
|
TransformBuilder |
rearrange(Axis newX,
Axis newY,
Axis newZ)
Rearrange the layout of the axis.
|
void |
reset()
Reset the transform to identity matrix
|
TransformBuilder |
rotate(Quaternion q)
Chain a rotation by a quaternion
|
TransformBuilder |
rotateDegree(double angle,
Vector3 axis)
Chain a rotation transform in degree
|
TransformBuilder |
rotateEulerDegree(double degX,
double degY,
double degZ)
Chain a rotation by Euler angles in degree
|
TransformBuilder |
rotateEulerRadian(double x,
double y,
double z)
Chain a rotation by Euler angles in radian
|
TransformBuilder |
rotateEulerRadian(Vector3 r)
Chain a rotation by Euler angles in radian
|
TransformBuilder |
rotateRadian(double angle,
Vector3 axis)
Chain a rotation transform in radian
|
TransformBuilder |
scale(double s)
Chain a scaling transform matrix with a component scaled by s
|
TransformBuilder |
scale(double x,
double y,
double z)
Chain a scaling transform matrix
|
TransformBuilder |
scale(Vector3 s)
Chain a scale transform
|
void |
setComposeOrder(ComposeOrder value)
Sets the chain compose order.
|
void |
setMatrix(Matrix4 value)
Sets the current matrix value
|
TransformBuilder |
translate(double tx,
double ty,
double tz)
Chain a translation transform
|
TransformBuilder |
translate(Vector3 v)
Chain a translation transform
|
public TransformBuilder(Matrix4 initial, ComposeOrder order)
TransformBuilder
with initial transform matrix and specified compose orderinitial
- order
- public TransformBuilder(ComposeOrder order)
TransformBuilder
with initial identity transform matrix and specified compose orderorder
- public TransformBuilder()
TransformBuilder
with initial identity transform matrix and specified compose orderpublic Matrix4 getMatrix()
public void setMatrix(Matrix4 value)
value
- New valuepublic ComposeOrder getComposeOrder()
public void setComposeOrder(ComposeOrder value)
value
- New valuepublic void compose(Matrix4 m)
m
- public TransformBuilder append(Matrix4 m)
m
- public TransformBuilder prepend(Matrix4 m)
m
- public TransformBuilder rearrange(Axis newX, Axis newY, Axis newZ)
newX
- The new x component sourcenewY
- The new y component sourcenewZ
- The new z component sourcepublic TransformBuilder scale(double s)
s
- public TransformBuilder scale(double x, double y, double z)
x
- y
- z
- public TransformBuilder scale(Vector3 s)
s
- public TransformBuilder rotateDegree(double angle, Vector3 axis)
angle
- The angle to rotate in degreeaxis
- The axis to rotatepublic TransformBuilder rotateRadian(double angle, Vector3 axis)
angle
- The angle to rotate in radianaxis
- The axis to rotatepublic TransformBuilder rotate(Quaternion q)
q
- public TransformBuilder rotateEulerDegree(double degX, double degY, double degZ)
degX
- degY
- degZ
- public TransformBuilder rotateEulerRadian(double x, double y, double z)
x
- y
- z
- public TransformBuilder rotateEulerRadian(Vector3 r)
r
- public TransformBuilder translate(double tx, double ty, double tz)
tx
- ty
- tz
- public TransformBuilder translate(Vector3 v)
v
- public void reset()