Package com.esri.core.geometry
Class Transformation3D
- java.lang.Object
-
- com.esri.core.geometry.Transformation3D
-
public final class Transformation3D extends java.lang.ObjectThe 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 Transformation3Dcopy()static voidinverse(Transformation3D src, Transformation3D result)Calculates the Inverse transformation.voidmul(Transformation3D right)voidmulLeft(Transformation3D left)static voidmultiply(Transformation3D a, Transformation3D b, Transformation3D result)Performs multiplication of matrices a and b and places result into result.voidsetScale(double scaleX, double scaleY, double scaleZ)voidsetTranslate(double deltax, double deltay, double deltaz)voidsetZero()Sets all elements to 0, thus producing and invalid transformation.Envelope3Dtransform(Envelope3D env)Transforms an envelope.Point3Dtransform(Point3D src)voidtransform(Point3D[] points, int start, int count)voidtransform(Point3D[] pointsIn, int count, Point3D[] pointsOut)voidtranslate(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()
-
-