Package com.esri.core.geometry
Class Transformation3D
- java.lang.Object
-
- com.esri.core.geometry.Transformation3D
-
public final class Transformation3D extends java.lang.Object
The 3D affine transformation class. We use matrices for transformations of the vectors as rows. That means the math expressions on the Geometry matrix operations should be writen like this: v' = v * M1 * M2 * M3 = ( (v * M1) * M2 ) * M3, where v is a vector, Mn are the matrices. This is equivalent to the following line of code: ResultVector = (M1.Mul(M2).Mul(M3)).Transform(Vector)
-
-
Constructor Summary
Constructors Constructor Description Transformation3D()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Transformation3D
copy()
static void
inverse(Transformation3D src, Transformation3D result)
Calculates the Inverse transformation.void
mul(Transformation3D right)
void
mulLeft(Transformation3D left)
static void
multiply(Transformation3D a, Transformation3D b, Transformation3D result)
Performs multiplication of matrices a and b and places result into result.void
setScale(double scaleX, double scaleY, double scaleZ)
void
setTranslate(double deltax, double deltay, double deltaz)
void
setZero()
Sets all elements to 0, thus producing and invalid transformation.Envelope3D
transform(Envelope3D env)
Transforms an envelope.Point3D
transform(Point3D src)
void
transform(Point3D[] points, int start, int count)
void
transform(Point3D[] pointsIn, int count, Point3D[] pointsOut)
void
translate(double deltax, double deltay, double deltaz)
-
-
-
Method Detail
-
setZero
public void setZero()
Sets all elements to 0, thus producing and invalid transformation.
-
setScale
public void setScale(double scaleX, double scaleY, double scaleZ)
-
setTranslate
public void setTranslate(double deltax, double deltay, double deltaz)
-
translate
public void translate(double deltax, double deltay, double deltaz)
-
transform
public Envelope3D transform(Envelope3D env)
Transforms an envelope. The result is the bounding box of the transformed envelope.
-
transform
public void transform(Point3D[] points, int start, int count)
-
mul
public void mul(Transformation3D right)
-
mulLeft
public void mulLeft(Transformation3D left)
-
multiply
public static void multiply(Transformation3D a, Transformation3D b, Transformation3D result)
Performs multiplication of matrices a and b and places result into result. The a, b, and result could point to same objects.
Equivalent to result = a * b.
-
inverse
public static void inverse(Transformation3D src, Transformation3D result)
Calculates the Inverse transformation.- Parameters:
src
- The input transformation.result
- The inverse of the input transformation. Throws the GeometryException("math singularity") exception if the Inverse can not be calculated.
-
copy
public Transformation3D copy()
-
-