Transform
- class rhino3dm.Transform
 - Transform(diagonalValue)
 Initializes a new transform matrix with a specified value along the diagonal.
- Parameters:
 diagonalValue (float) – Value to assign to all diagonal cells except M33 which is set to 1.0.
- Transform()
 Transform constructor
- IsAffine
 bool: Tests for an affine transformation. A transformation is affine if it is valid and its last row is [0, 0, 0, 1]. An affine transformation can be broken into a linear transformation and a translation.
- IsIdentity
 bool: Return True if this Transform is the identity transform
- IsLinear
 bool: Tests for a linear transformation. A transformation is affine if it is valid and its last row is [0, 0, 0, 1]. If in addition its last column is ( 0, 0, 0, 1)^T then it is linear. An affine transformation can be broken into a linear transformation and a translation.
- IsRotation
 bool: Returns True if this is a proper rotation.
- IsValid
 bool: 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
 bool: True if matrix is Zero4x4, ZeroTransformation, or some other type of zero. The value xform[3][3] can be anything.
- IsZero4x4
 bool: True if all values are 0
- IsZeroTransformation
 bool: True if all values are 0, except for M33 which is 1.
- RigidType
 TransformRigidType: 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.
- SimilarityType
 TransformSimilarityType: 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 non-similarity Transform deforms circles into ellipses.
- M00
 float: Gets or sets this[0,0].
- M01
 float: Gets or sets this[0,1].
- M02
 float: Gets or sets this[0,2].
- M03
 float: Gets or sets this[0,3].
- M10
 float: Gets or sets this[1,0].
- M11
 float: Gets or sets this[1,1].
- M12
 float: Gets or sets this[1,2].
- M13
 float: Gets or sets this[1,3].
- M20
 float: Gets or sets this[2,0].
- M21
 float: Gets or sets this[2,1].
- M22
 float: Gets or sets this[2,2].
- M23
 float: Gets or sets this[2,3].
- M30
 float: Gets or sets this[3,0].
- M31
 float: Gets or sets this[3,1].
- M32
 float: Gets or sets this[3,2].
- M33
 float: Gets or sets this[3,3].
- static Identity()
 [todo] add documentation
- static ZeroTransformation()
 [todo] add documentation
- static Unset()
 [todo] add documentation
- static Translation(motion)
 Constructs a new translation (move) transformation.
- Parameters:
 motion (rhino3dm.Vector3d) – Translation (motion) vector.
- Returns:
 A transform matrix which moves geometry along the motion vector.
- Return type:
 
- static Translation(x, y, z)
 Constructs a new translation (move) transformation.
- Returns:
 A transform matrix which moves geometry along the motion vector.
- Return type:
 
- static Scale(anchor, scaleFactor)
 Constructs a new uniform scaling transformation with a specified scaling anchor point.
- Parameters:
 anchor (rhino3dm.Point3d) – Defines the anchor point of the scaling operation.
scaleFactor (float) – Scaling factor in all directions.
- Returns:
 A transform matrix which scales geometry uniformly around the anchor point.
- Return type:
 
- static Scale(plane, xScaleFactor, yScaleFactor, zScaleFactor)
 Constructs a new uniform scaling transformation with a specified scaling anchor point.
- Returns:
 A transform matrix which scales geometry uniformly around the anchor point.
- Return type:
 
- static Rotation(angleRadians, rotationAxis, rotationCenter)
 Constructs a new rotation transformation with specified angle, rotation center and rotation axis.
- Parameters:
 sinAngle (float) – Sine of the rotation angle.
cosAngle (float) – Cosine of the rotation angle.
rotationAxis (rhino3dm.Vector3d) – 3D unit axis of rotation.
rotationCenter (rhino3dm.Point3d) – 3D center of rotation.
- Returns:
 A rotation transformation matrix.
- Return type:
 
- static Rotation(startDirection, endDirection, rotationCenter)
 Constructs a new rotation transformation with specified angle, rotation center and rotation axis.
- Parameters:
 sinAngle (float) – Sine of the rotation angle.
cosAngle (float) – Cosine of the rotation angle.
rotationAxis (rhino3dm.Vector3d) – 3D unit axis of rotation.
rotationCenter (rhino3dm.Point3d) – 3D center of rotation.
- Returns:
 A rotation transformation matrix.
- Return type:
 
- static Mirror(pointOnMirrorPlane, normalToMirrorPlane)
 Create mirror transformation matrix The mirror transform maps a point Q to Q - (2*(Q-P)oN)*N, where P = pointOnMirrorPlane and N = normalToMirrorPlane.
- Parameters:
 pointOnMirrorPlane (rhino3dm.Point3d) – Point on the mirror plane.
normalToMirrorPlane (rhino3dm.Vector3d) – Normal vector to the mirror plane.
- Returns:
 A transformation matrix which mirrors geometry in a specified plane.
- Return type:
 
- static Mirror(mirrorPlane)
 Create mirror transformation matrix The mirror transform maps a point Q to Q - (2*(Q-P)oN)*N, where P = pointOnMirrorPlane and N = normalToMirrorPlane.
- Parameters:
 pointOnMirrorPlane (rhino3dm.Point3d) – Point on the mirror plane.
normalToMirrorPlane (rhino3dm.Vector3d) – Normal vector to the mirror plane.
- Returns:
 A transformation matrix which mirrors geometry in a specified plane.
- Return type:
 
- static PlaneToPlane(plane0, plane1)
 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.
- Parameters:
 plane0 (rhino3dm.Plane) – The plane to orient from.
plane1 (rhino3dm.Plane) – the plane to orient to.
- Returns:
 The translation transformation if successful, Transform.Unset on failure.
- Return type:
 
- static Shear(plane, x, y, z)
 Constructs a Shear transformation.
- Parameters:
 plane (rhino3dm.Plane) – Base plane for shear.
x (rhino3dm.Vector3d) – Shearing vector along plane x-axis.
y (rhino3dm.Vector3d) – Shearing vector along plane y-axis.
z (rhino3dm.Vector3d) – Shearing vector along plane z-axis.
- Returns:
 A transformation matrix which shear geometry.
- Return type:
 
- static Multiply(a, b)
 Multiplies (combines) two transformations. This is the same as the * operator between two transformations.
- Determinant()
 [todo] add documentation
- TryGetInverse()
 Attempts to get the inverse transform of this transform.
- Returns:
 tuple (bool, Transform)
True on success. If False is returned and this Transform is Invalid, inserveTransform will be set to this Transform. If False is returned and this Transform is Valid, inverseTransform will be set to a pseudo inverse.
The inverse transform. This out reference will be assigned during this call.
- Return type:
 (bool, Transform)
- TransformBoundingBox(bbox)
 Computes a new bounding box that is the smallest axis aligned bounding box that contains the transformed result of its 8 original corner points.
- Returns:
 A new bounding box.
- Return type:
 
- ToFloatArray()
 Return the matrix as a linear array of 16 float values.
- Parameters:
 rowDominant (bool) – If true, returns { M00, M01, M02…}. If false, returns { M00, M10, M20…}.
- Returns:
 An array of 16 floats.
- Return type:
 float[]
- ToFloatArray2()
 [todo] add documentation