Click or drag to resize

Transform Methods

The Transform type exposes the following members.

Methods
  NameDescription
Public methodAffineize
Replaces the last row with (0 0 0 1), discarding any perspecive part of this transform
Public methodStatic memberChangeBasis(Plane, Plane)
Computes a change of basis transformation. A basis change is essentially a remapping of geometry from one coordinate system to another.
Public methodStatic memberChangeBasis(Vector3d, Vector3d, Vector3d, Vector3d, Vector3d, Vector3d)
Computes a change of basis transformation. A basis change is essentially a remapping of geometry from one coordinate system to another.
Public methodClone
Returns a deep copy of the transform. For languages that treat structures as value types, this can be accomplished by a simple assignment.
Public methodCompareTo
Compares this transform with another transform.

M33 has highest value, then M32, etc..

Public methodDecomposeAffine(Transform, Vector3d)
Decomposes an affine transformation. An affine transformation can be broken into a linear transformation and a translation. Note, a perspective transformation is not affine.
Public methodDecomposeAffine(Vector3d, Transform)
Decomposes an affine transformation. An affine transformation can be broken into a linear transformation and a translation. Note, a perspective transformation is not affine.
Public methodDecomposeAffine(Vector3d, Transform, Transform, Vector3d)
An affine transformation can be decomposed into a Symmetric, Rotation and Translation. Then the Symmetric component may be further decomposed as non-uniform scale in an orthonormal coordinate system.
Public methodDecomposeRigid
Decomposes a rigid transformation. The transfomration must be affine.
Public methodDecomposeSimilarity
Decomposes a similarity transformation. The transformation must be affine. A similarity transformation can be broken into a sequence of a dialation, translation, rotation, and a reflection.
Public methodDecomposeSymmetric
A Symmetric linear transformation can be decomposed A = Q * Diag * Q ^ T, where Diag is a diagonal transformation. Diag[i][i] is an eigenvalue of A and the i-th coulmn of Q is a corresponding unit length eigenvector. Note, this transformation must be Linear and Symmetric.
Public methodStatic memberDiagonal(Vector3d)
Constructs a new transformation with diagonal (d0,d1,d2,1.0).
Public methodStatic memberDiagonal(Double, Double, Double)
Constructs a new transformation with diagonal (d0,d1,d2,1.0).
Public methodEquals(Object)
Determines if another object is a transform and its value equals this transform value.
(Overrides ValueTypeEquals(Object).)
Public methodEquals(Transform)
Determines if another transform equals this transform value.
Public methodGetEulerZYZ
Find the Euler angles for a rotation transformation.
Public methodGetHashCode
Gets a non-unique hashing code for this transform.
(Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetYawPitchRoll
Find the Tait-Byran angles (also loosely called Euler angles) for a rotation transformation.
Public methodIsRigid
Gets a value indicating whether or not the Transform is rigid. A rigid transformation can be broken into a proper rotation and a translation, while an isometry transformation could also include a reflection.
Public methodIsSimilarity
Gets a value indicating whether or not the Transform maintains similarity. A similarity transformation can be broken into a sequence of a dialation, translation, rotation, and a reflection.
Public methodIsZeroTransformaton
True if all values are 0 and M33 is 1 within tolerance.
Public methodLinearize
Affineize() and replaces the last column with (0 0 0 1)^T, discarding any translation part of this transform.
Public methodStatic memberMirror(Plane)
Constructs a new Mirror transformation.
Public methodStatic memberMirror(Point3d, Vector3d)
Create mirror transformation matrix The mirror transform maps a point Q to Q - (2*(Q-P)oN)*N, where P = pointOnMirrorPlane and N = normalToMirrorPlane.
Public methodStatic memberMultiply
Multiplies (combines) two transformations.

This is the same as the * operator between two transformations.

Public methodOrthogonalize
Force the linear part of this transformation to be a rotation (or a rotation with reflection). Use DecomposeRigid(T,R) to find the nearest rotation.
Public methodStatic memberPlanarProjection
Constructs a projection transformation.
Public methodStatic memberPlaneToPlane
Create a rotation transformation that orients plane0 to plane1. If you want to orient objects from one plane to another, use this form of transformation.
Public methodStatic memberProjectAlong
Construct a projection onto a plane along a specific direction.
Public methodStatic memberRotation(Double, Point3d)
Constructs a new rotation transformation with specified angle and rotation center.
Public methodStatic memberRotation(Double, Vector3d, Point3d)
Constructs a new rotation transformation with specified angle, rotation center and rotation axis.
Public methodStatic memberRotation(Vector3d, Vector3d, Point3d)
Constructs a new rotation transformation with start and end directions and rotation center.
Public methodStatic memberRotation(Double, Double, Vector3d, Point3d)
Constructs a new rotation transformation with specified angle, rotation center and rotation axis.
Public methodStatic memberRotation(Vector3d, Vector3d, Vector3d, Vector3d, Vector3d, Vector3d)
Constructs a transformation that maps X0 to X1, Y0 to Y1, Z0 to Z1.
Public methodStatic memberRotationZYX
Create rotation transformation From Tait-Byran angles (also loosely known as Euler angles).
Public methodStatic memberRotationZYZ
Create rotation transformation From Euler angles.
Public methodStatic memberScale(Point3d, Double)
Constructs a new uniform scaling transformation with a specified scaling anchor point.
Public methodStatic memberScale(Plane, Double, Double, Double)
Constructs a new non-uniform scaling transformation with a specified scaling anchor point.
Public methodStatic memberShear
Constructs a Shear transformation.
Public methodToFloatArray
Return the matrix as a linear array of 16 float values
Public methodToString
Returns a string representation of this transform.
(Overrides ValueTypeToString.)
Public methodTransformBoundingBox
Computes a new boundingbox that is the smallest axis aligned boundingbox that contains the transformed result of its 8 original corner points.
Public methodTransformList
Given a list, an array or any enumerable set of points, computes a new array of tranformed points.
Public methodStatic memberCode exampleTranslation(Vector3d)
Constructs a new translation (move) transformation.
Public methodStatic memberCode exampleTranslation(Double, Double, Double)
Constructs a new translation (move) tranformation. Right column is (dx, dy, dz, 1.0).
Public methodTranspose
Flip row/column values
Public methodTryGetInverse
Attempts to get the inverse transform of this transform.
Top
See Also