Package com.reportmill.graphics
Class RMTransform3D
- java.lang.Object
-
- com.reportmill.graphics.RMTransform3D
-
- All Implemented Interfaces:
java.lang.Cloneable
public class RMTransform3D extends java.lang.Object implements java.lang.CloneableThis class represents a 3D transform.
-
-
Field Summary
Fields Modifier and Type Field Description float[][]m
-
Constructor Summary
Constructors Constructor Description RMTransform3D()Creates a transform3d with the identity matrix.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()RMTransform3DfromArray(float[][] m2)Loads the transform flom a float array.RMTransform3Dinvert()RMTransform3Dmultiply(RMTransform3D aTransform)Multiplies receiver by given transform.RMTransform3Dperspective(float d)Apply perspective transform.RMTransform3Drotate(float rx, float ry, float rz)Rotate x,y,z with three Euler angles (same as rotateX(rx).rotateY(ry).rotateZ(rz))RMTransform3Drotate(RMVector3D anAxis, float anAngle)Rotate about arbitrary axis.RMTransform3DrotateX(float anAngle)Rotate x axis by given degrees.RMTransform3DrotateY(float anAngle)Rotate y axis by given degrees.RMTransform3DrotateZ(float anAngle)Rotate z axis by given degrees.RMTransform3Dskew(float skx, float sky)Skew by the given degrees.float[][]toArray()Returns a float array for the transform.RMPoint3Dtransform(RMPoint3D aPoint)Transforms a given point (and returns it as a convenience).RMVector3Dtransform(RMVector3D aVector)Transforms a given vector (and returns it as a convenience).RMTransform3Dtranslate(float x, float y, float z)Translates by given x, y & z.RMTransform3DworldAlign(RMPoint3D originPt)Returns a matrix whose axes are aligned with the world (screen) coordinate system.
-
-
-
Method Detail
-
multiply
public RMTransform3D multiply(RMTransform3D aTransform)
Multiplies receiver by given transform.
-
translate
public RMTransform3D translate(float x, float y, float z)
Translates by given x, y & z.
-
rotateX
public RMTransform3D rotateX(float anAngle)
Rotate x axis by given degrees.
-
rotateY
public RMTransform3D rotateY(float anAngle)
Rotate y axis by given degrees.
-
rotateZ
public RMTransform3D rotateZ(float anAngle)
Rotate z axis by given degrees.
-
rotate
public RMTransform3D rotate(RMVector3D anAxis, float anAngle)
Rotate about arbitrary axis.
-
rotate
public RMTransform3D rotate(float rx, float ry, float rz)
Rotate x,y,z with three Euler angles (same as rotateX(rx).rotateY(ry).rotateZ(rz))
-
worldAlign
public RMTransform3D worldAlign(RMPoint3D originPt)
Returns a matrix whose axes are aligned with the world (screen) coordinate system. All rotations & skews are removed, and perspective is replaced by uniform scaling.
-
skew
public RMTransform3D skew(float skx, float sky)
Skew by the given degrees.
-
perspective
public RMTransform3D perspective(float d)
Apply perspective transform.
-
invert
public RMTransform3D invert()
-
transform
public RMPoint3D transform(RMPoint3D aPoint)
Transforms a given point (and returns it as a convenience).
-
transform
public RMVector3D transform(RMVector3D aVector)
Transforms a given vector (and returns it as a convenience).
-
toArray
public float[][] toArray()
Returns a float array for the transform.
-
fromArray
public RMTransform3D fromArray(float[][] m2)
Loads the transform flom a float array.
-
clone
public java.lang.Object clone()
- Overrides:
clonein classjava.lang.Object
-
-