﻿Transform Structure Transform Structure
Rhino for Mac 5.1
Represents the values in a 4x4 transform matrix.

This is parallel to C++ ON_Xform.

Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll) Version: 5.1.50000.0 (5.0.20693.0) Syntax
[SerializableAttribute]
public struct Transform : IComparable<Transform>,
IEquatable<Transform>

The Transform type exposes the following members. Constructors
NameDescription Transform
Initializes a new transform matrix with a specified value along the diagonal.
Top Properties
NameDescription Determinant
The determinant of this 4x4 matrix. Identity
Gets a new identity transform matrix. An identity matrix defines no transformation. 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. 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 non-similarity Transform deforms circles into ellipses. Unset
Gets an XForm filled with RhinoMath.UnsetValue.
Top Methods
NameDescription 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. 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. GetHashCode
Gets a non-unique hashing code for this transform.
(Overrides ValueTypeGetHashCode.) GetType
Gets the Type of the current instance.
(Inherited from Object.) Mirror(Plane)
Constructs a new Mirror transformation. Mirror(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. Multiply
Multiplies (combines) two transformations.

This is the same as the * operator between two transformations. PlanarProjection
Constructs a projection transformation. PlaneToPlane 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. Scale(Point3d, Double)
Constructs a new uniform scaling transformation with a specified scaling anchor point. Scale(Plane, Double, Double, Double)
Constructs a new non-uniform 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.
Top Operators
NameDescription 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.
Top See Also
{"ft_lang_label":"__label__en","ft_lang_prob":0.6200301,"math_prob":0.9714292,"size":4794,"snap":"2022-05-2022-21","text_gpt3_token_len":1140,"char_repetition_ratio":0.21670146,"word_repetition_ratio":0.14153846,"special_character_ratio":0.2219441,"punctuation_ratio":0.1563981,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.99024403,"pos_list":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182],"im_url_duplicate_count":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2022-01-23T08:18:20Z\",\"WARC-Record-ID\":\"<urn:uuid:4d876d2a-19b0-4ab2-a7be-82d07edf1c74>\",\"Content-Length\":\"33292\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:cb6eed8c-c2b7-430b-b5c2-731c9e0561c3>\",\"WARC-Concurrent-To\":\"<urn:uuid:4719a7f0-cb72-4ee3-b756-9562355b7bfc>\",\"WARC-IP-Address\":\"185.199.110.153\",\"WARC-Target-URI\":\"https://developer.rhino3d.com/5/api/RhinoCommon/html/T_Rhino_Geometry_Transform.htm\",\"WARC-Payload-Digest\":\"sha1:WBJTXMYJVNCHHUZSGMXESW6Q6ZOIJ62T\",\"WARC-Block-Digest\":\"sha1:BETHK4RZ76N35FVKVENGO2TAPUROQELM\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2022/CC-MAIN-2022-05/CC-MAIN-2022-05_segments_1642320304217.55_warc_CC-MAIN-20220123081226-20220123111226-00098.warc.gz\"}"}