Transform Structure 
This is parallel to C++ ON_Xform.
Namespace: Rhino.Geometry
The Transform type exposes the following members.
Name  Description  

Transform(Double) 
Initializes a new transform matrix with a specified value along the diagonal.
 
Transform(Transform) 
Initializes a new transform matrix with a specified value.

Name  Description  

Determinant 
The determinant of this 4x4 matrix.
 
Identity 
Gets a new identity transform matrix. An identity matrix defines no transformation.
 
IsIdentity  Return true if this Transform is the identity transform  
IsValid 
Gets a value indicating whether or not this Transform is a valid matrix.
A valid transform matrix is not allowed to have any invalid numbers.
 
IsZero 
True if matrix is Zero4x4, ZeroTransformation, or some other type of
zero.The value xform[3][3] can be anything.
 
IsZero4x4 
True if all values are 0
 
IsZeroTransformation 
True if all values are 0 and M33 is 1
 
Item 
Gets or sets the matrix value at the given row and column indixes.
 
M00  Gets or sets this[0,0].  
M01  Gets or sets this[0,1].  
M02  Gets or sets this[0,2].  
M03  Gets or sets this[0,3].  
M10  Gets or sets this[1,0].  
M11  Gets or sets this[1,1].  
M12  Gets or sets this[1,2].  
M13  Gets or sets this[1,3].  
M20  Gets or sets this[2,0].  
M21  Gets or sets this[2,1].  
M22  Gets or sets this[2,2].  
M23  Gets or sets this[2,3].  
M30  Gets or sets this[3,0].  
M31  Gets or sets this[3,1].  
M32  Gets or sets this[3,2].  
M33  Gets or sets this[3,3].  
SimilarityType 
Gets a value indicating whether or not the Transform maintains similarity.
The easiest way to think of Similarity is that any circle, when transformed,
remains a circle. Whereas a nonsimilarity Transform deforms circles into ellipses.
 
Unset 
Gets an XForm filled with RhinoMath.UnsetValue.
 
ZeroTransformation 
ZeroTransformation diagonal = (0,0,0,1)

Name  Description  

ChangeBasis(Plane, Plane) 
Computes a change of basis transformation. A basis change is essentially a remapping
of geometry from one coordinate system to another.
 
ChangeBasis(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.
 
Clone 
Returns a deep copy of the transform. For languages that treat structures as value types, this can
be accomplished by a simple assignment.
 
CompareTo 
Compares this transform with another transform.
M33 has highest value, then M32, etc..  
Equals(Object) 
Determines if another object is a transform and its value equals this transform value.
(Overrides ValueTypeEquals(Object).)  
Equals(Transform) 
Determines if another transform equals this transform value.
 
GetEulerZYZ 
Find the Euler angles for a rotation transformation.
 
GetHashCode 
Gets a nonunique hashing code for this transform.
(Overrides ValueTypeGetHashCode.)  
GetType  Gets the Type of the current instance. (Inherited from Object.)  
GetYawPitchRoll 
Find the TaitByran angles (also loosely called Euler angles) for a rotation transformation.
 
Mirror(Plane) 
Constructs a new Mirror transformation.
 
Mirror(Point3d, Vector3d) 
Create mirror transformation matrix
The mirror transform maps a point Q to
Q  (2*(QP)oN)*N, where
P = pointOnMirrorPlane and N = normalToMirrorPlane.
 
Multiply 
Multiplies (combines) two transformations.
This is the same as the * operator between two transformations.  
PlanarProjection 
Constructs a projection transformation.
 
PlaneToPlane 
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.
 
ProjectAlong 
Construct a projection onto a plane along a specific direction.
 
Rotation(Double, Point3d) 
Constructs a new rotation transformation with specified angle and rotation center.
 
Rotation(Double, Vector3d, Point3d) 
Constructs a new rotation transformation with specified angle, rotation center and rotation axis.
 
Rotation(Vector3d, Vector3d, Point3d) 
Constructs a new rotation transformation with start and end directions and rotation center.
 
Rotation(Double, Double, Vector3d, Point3d) 
Constructs a new rotation transformation with specified angle, rotation center and rotation axis.
 
Rotation(Vector3d, Vector3d, Vector3d, Vector3d, Vector3d, Vector3d) 
Constructs a transformation that maps X0 to X1, Y0 to Y1, Z0 to Z1.
 
RotationZYX 
Create rotation transformation From TaitByran angles (also loosely known as Euler angles).
 
RotationZYZ 
Create rotation transformation From Euler angles.
 
Scale(Point3d, Double) 
Constructs a new uniform scaling transformation with a specified scaling anchor point.
 
Scale(Plane, Double, Double, Double) 
Constructs a new nonuniform scaling transformation with a specified scaling anchor point.
 
Shear 
Constructs a Shear transformation.
 
ToFloatArray 
Return the matrix as a linear array of 16 float values
 
ToString 
Returns a string representation of this transform.
(Overrides ValueTypeToString.)  
TransformBoundingBox 
Computes a new boundingbox that is the smallest axis aligned
boundingbox that contains the transformed result of its 8 original corner
points.
 
TransformList 
Given a list, an array or any enumerable set of points, computes a new array of tranformed points.
 
Translation(Vector3d) 
Constructs a new translation (move) transformation.
 
Translation(Double, Double, Double) 
Constructs a new translation (move) tranformation.
Right column is (dx, dy, dz, 1.0).
 
Transpose 
Flip row/column values
 
TryGetInverse 
Attempts to get the inverse transform of this transform.

Name  Description  

Equality 
Determines if two transformations are equal in value.
 
Inequality 
Determines if two transformations are different in value.
 
Multiply(Transform, Point3d) 
Multiplies a transformation by a point and gets a new point.
 
Multiply(Transform, Transform) 
Multiplies (combines) two transformations.
 
Multiply(Transform, Vector3d) 
Multiplies a transformation by a vector and gets a new vector.
