Package com.esri.core.geometry
Class Transformation3D
java.lang.Object
com.esri.core.geometry.Transformation3D
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)
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()
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.transform
(Envelope3D env) Transforms an envelope.void
void
void
translate
(double deltax, double deltay, double deltaz)
-
Field Details
-
xx
public double xx -
yx
public double yx -
zx
public double zx -
xd
public double xd -
xy
public double xy -
yy
public double yy -
zy
public double zy -
yd
public double yd -
xz
public double xz -
yz
public double yz -
zz
public double zz -
zd
public double zd
-
-
Constructor Details
-
Transformation3D
public Transformation3D()
-
-
Method Details
-
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
Transforms an envelope. The result is the bounding box of the transformed envelope. -
transform
-
transform
-
transform
-
mul
-
mulLeft
-
multiply
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
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
-