Transformation Class
Public Class Transformation
Implements ISerializable, _
ICloneable
This language is not supported or no code example is available.
public class Transformation : ISerializable,
ICloneable
This language is not supported or no code example is available.
Name | Description | |
---|---|---|
Transformation(double) | Diagonal matrix constructor. | |
Transformation(Transformation) | ||
Transformation() | Zero matrix constructor. | |
Transformation(Point3D, Vector3D, Vector3D, Vector3D) | As frame constructor. | |
Transformation(SerializationInfo, StreamingContext) | Constructor for deserializing objects. | |
Transformation(double[,]) | 4x4 square array of doubles constructor. | |
Transformation(double[], bool) | 16x array of doubles constructor. |
Name | Description | |
---|---|---|
IsScaled | Checks if the transformation contains scaling. | |
IsTranslation | Checks if the transformation is translation only. | |
Item(int, int) | Direct access on matrix values. | |
Matrix | Gets or sets the 4x4 matrix. | |
MatrixAsVectorByColumn | Gets the 4x4 matrix as an array of doubles ordered by column. | |
MatrixAsVectorByRow | Gets the 4x4 matrix as an array of doubles ordered by row. | |
MatrixAsVectorFloatByColumn | ||
ScaleFactorX | Gets the scale factor along X. | |
ScaleFactorY | Gets the scale factor along Y. | |
ScaleFactorZ | Gets the scale factor along Z. |
Name | Description | |
---|---|---|
ActOnLeft(double, double, double, double) | ||
ActOnLeftOne(double, double, double) | ||
ActOnLeftOne(float, float, float, float[,]) | ||
ActOnLeftZero(double, double, double) | ||
ActOnLeftZero(float, float, float, float[,]) | ||
AutocadOCS(Vector3D, out Vector3D, out Vector3D) | ||
ChangeBasis(Plane, Plane) | Computes a change of basis transformation. | |
ChangeBasis(Point3D, Vector3D, Vector3D, Vector3D, Point3D, Vector3D, Vector3D, Vector3D) | Computes a change of basis transformation. | |
ChangeBasis(Vector3D, Vector3D, Vector3D, Vector3D, Vector3D, Vector3D) | Computes a change of basis transformation. | |
Clone() | Creates a deep copy of this transformation. | |
ConvertToSurrogate() | ||
Diagonal(double) | Diagonal 3x3 with bottom row = 0,0,0,1. | |
Dump() | Dumps the matrix on Console window. | |
EqualScaleFactors() | ||
Equals(Transformation) | ||
Equals(object) | Determines whether the specified object is equal to the current object. | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (inherited from Object). | |
GetFloatMatrix() | ||
GetHashCode() | Serves as the default hash function. | |
GetObjectData(SerializationInfo, StreamingContext) | Populates a SerializationInfo instance with the data needed to serialize the target object. | |
GetTransformationForNormals() | Gets the transformation to transform the normals (inverse transpose of the upper 3x3 matrix). | |
GetType | Gets the Type of the current instance. (inherited from Object). | |
GetXElement() | ||
Identity() | Diagonal is (1,1,1,1). | |
Invert() | Inverts the 4x4 matrix. | |
IsIdentity() | Check if the transformation is the 'Identity' one. 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 | |
IsIdentity(double) | Check if the transformation is the 'Identity' one. 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 | |
IsReversed() | Returns true if the transformation is orientation-reversing, i.e. if the determinant of the 3x3 submatrix is smaller than zero. | |
IsScaleFactorUniform() | Returns true if the scale factor of the transformation is the same in the X, Y and Z directions. | |
IsScaleFactorUniformForPlanar(Plane, ref double) | Returns true if the scale factor of the transformation is the same in the two directions of the plane. | |
MemberwiseClone | Creates a shallow copy of the current Object. (inherited from Object). | |
Mirror(Plane) | Mirror transformation. | |
Mirror(Point3D, Vector3D) | Mirror transformation. | |
PlanarProjection(Plane) | Get transformation that projects to a plane. This transformation maps a 3D point P to the point plane.ClosestPointTo(Q). | |
Rotation(Vector3D, Vector3D, Vector3D, Vector3D, Vector3D, Vector3D) |
Creates a new transformation of rotation. The frames should be right hand orthonormal frames (unit vectors with Z = X X Y). The resulting rotation fixes the origin (0,0,0), maps initial X to final X, initial Y to final Y, and initial Z to final Z. |
|
Rotation(Point3D, Vector3D, Vector3D, Vector3D, Point3D, Vector3D, Vector3D, Vector3D) |
Creates a new transformation of rotation. The frames should be right hand orthonormal frames (unit vectors with Z = X X Y). The resulting rotation fixes the origin (0,0,0), maps initial X to final X, initial Y to final Y, and initial Z to final Z. If the initial and final center are equal, then that center point is the fixed point of the rotation. If the initial and final point differ, then the resulting transform is the composition of a rotation fixing P0 and translation from P0 to P1. The resulting transformation maps P0 to P1, P0+X0 to P1+X1, ... |
|
Rotation(Plane, Plane) |
Creates a new transformation of rotation. The frames should be right hand orthonormal frames (unit vectors with Z = X X Y). The resulting rotation fixes the origin (0,0,0), maps initial X to final X, initial Y to final Y, and initial Z to final Z. If the initial and final center are equal, then that center point is the fixed point of the rotation. If the initial and final point differ, then the resulting transform is the composition of a rotation fixing P0 and translation from P0 to P1. The resulting transformation maps P0 to P1, P0+X0 to P1+X1, ... |
|
Rotation(Vector3D, Vector3D, Point3D) | Creates a new transformation of rotation. | |
Rotation(double, Point3D, Point3D) | Creates a new transformation of rotation. | |
Rotation(double, Vector3D) | Creates a new transformation of rotation. | |
Rotation(double, Vector3D, Point3D) | Creates a new transformation of rotation. | |
Scaling(Point3D, double) | Create uniform scale transformation with a specified fixed point. | |
Scaling(Point3D, double, double, double) | Create a non-uniform scale transformation with a specified fixed point. | |
Scaling(Vector3D) | Creates non-uniform scale transformation with the origin as a fixed point. | |
Scaling(double, double, double) | Creates non-uniform scale transformation with the origin as a fixed point. | |
ToString | Returns a string that represents the current object. (inherited from Object). | |
Translation(Vector3D) | Creates a new transformation of translation. Right column is (v.X, v.Y, v.Z, 1). | |
Translation(double, double, double) | Creates a new transformation of translation. Right column is (dx, dy, dz, 1). | |
Transpose() | Transposes the 4x4 matrix. | |
Zero() | All zeros. |
Name | Description | |
---|---|---|
Addition | Adds two transformations. | |
Equality | ||
Inequality | ||
Multiply | Applies transformation to a 2D point. | |
Multiply | Applies transformation to a 3D point. | |
Multiply | Applies transformation to a 4D point. | |
Multiply | Applies transformation to a RGB point. | |
Multiply | ||
Multiply | Applies transformation to a 2D vector. | |
Multiply | Applies transformation to a 3D vector. | |
Subtraction | Subtract two transformations. |
Transformation t = new Translation(10, 0, 0); Transformation r = new Rotation(Math.PI/6, Vector3D.AxisY); // angle in radians Transformation c = t * r; // combines the two transformations (order matters) Point3D pt = new (10, 20, 30); Point3D newPt = c * p; // transforms the point pt
This language is not supported or no code example is available.
Dim t As Transformation = New Translation(10, 0, 0) Dim r As Transformation = New Rotation(Math.PI/6, Vector3D.AxisY) ' angle in radians Dim c As Transformation = t * r ' combines the two transformations (order matters) Dim pt As Point3D = New (10, 20, 30) Dim ptNew As Point3D = c * p ' transforms the point pt
This language is not supported or no code example is available.