Struct Transform
- Namespace
- NominalSystems
- Assembly
- NominalSystems.Core.dll
Represents a 3D cartesian transformation, with a position and rotation.
public struct Transform : IEnumerable<double>, IEnumerable
- Implements
Constructors
Transform()
Creates a identity/default transform.
public Transform()
Transform(Transform)
Creates a deep-copy from another transform.
public Transform(Transform other)
Parameters
other
TransformA transform to copy.
Properties
Forward
A unit vector representing the 3D forward direction.
public readonly Vector3 Forward { get; }
Property Value
Inverse
A transform representing the inverse of the current rotation and position.
public readonly Transform Inverse { get; }
Property Value
Position
A vector representing the 3D position of the transform.
public Vector3 Position { readonly get; set; }
Property Value
Right
A unit vector representing the 3D right direction.
public readonly Vector3 Right { get; }
Property Value
Rotation
A DCM representing the 3D rotation of the transform.
public DCM Rotation { readonly get; set; }
Property Value
Up
A unit vector representing the 3D up direction.
public readonly Vector3 Up { get; }
Property Value
Methods
Equals(object)
public override readonly bool Equals(object obj)
Parameters
obj
object
Returns
Equals(object, in double)
public readonly bool Equals(object obj, in double precision)
Parameters
Returns
GetEnumerator()
public readonly IEnumerator<double> GetEnumerator()
Returns
GetHashCode()
public override readonly int GetHashCode()
Returns
Rotate(in Vector3, in double)
Rotates the transform at the specified axis angle.
public void Rotate(in Vector3 axis, in double angle)
Parameters
ToString()
public override readonly string ToString()
Returns
ToString(string)
public readonly string ToString(string fmt)
Parameters
fmt
stringA numeric format string.
Returns
Operators
operator *(in Transform, in Transform)
Returns the multiplication of a matrix with another matrix.
public static Transform operator *(in Transform a, in Transform b)
Parameters
Returns
operator *(in Transform, in Vector3)
Returns the multiplication of a matrix with a column vector.
public static Vector3 operator *(in Transform a, in Vector3 b)