The MatrixKit class is a user space object, useful for carrying a group attribute settings. More...
Public Member Functions | |
override void | Dispose () |
MatrixKit () | |
Initializes an identity matrix. More... | |
MatrixKit (HPS.MatrixKit in_kit) | |
The copy constructor creates a new MatrixKit object that contains the same settings as the source object. More... | |
MatrixKit (float[] in_matrix_source) | |
This constructor allows implicit construction from an array of floats. More... | |
MatrixKit (HPS.Quaternion in_quaternion) | |
This constructor allows implicit construction from a quaternion. More... | |
override HPS.Type | ObjectType () |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object. More... | |
void | Set (HPS.MatrixKit in_kit) |
Copies all settings from the source MatrixKit into this object. More... | |
void | Show (out HPS.MatrixKit out_kit) |
Copies all settings from this MatrixKit into the given MatrixKit. More... | |
override bool | Empty () |
Indicates whether this object has any values set on it. More... | |
override bool | Equals (System.Object obj) |
override int | GetHashCode () |
bool | Equals (HPS.MatrixKit in_kit) |
Check if the source MatrixKit is equivalent to this object. More... | |
HPS.MatrixKit | SetElement (ulong in_row, ulong in_column, float in_value) |
Sets a single matrix element. More... | |
HPS.MatrixKit | SetElement (ulong in_ordinal_zero_to_fifteen, float in_value) |
Sets a single matrix element, indexed as a linear array in row-major order. More... | |
HPS.MatrixKit | SetElements (float[] in_values) |
Sets some or all elements in the matrix from an array, starting with the first element. More... | |
HPS.MatrixKit | UnsetEverything () |
Sets this kit to an identity matrix. More... | |
bool | ShowElement (ulong in_row, ulong in_column, out float out_value) |
Shows a single matrix element. More... | |
bool | ShowElement (ulong in_ordinal_zero_to_fifteen, out float out_value) |
Shows a single matrix element, indexed as a linear array in row-major order. More... | |
bool | ShowElements (out float[] out_matrix) |
Shows all elements of this matrix as an array. More... | |
bool | ShowDeterminant (out float out_determinant) |
Computes the matrix determinant of this matrix. More... | |
bool | ShowInverse (out HPS.MatrixKit out_matrix) |
Computes the matrix inverse of this matrix. Fails if this matrix is singular (determinant = 0). More... | |
bool | ShowAdjoint (out HPS.MatrixKit out_matrix) |
Computes the matrix adjoint of this matrix. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices. More... | |
HPS.MatrixKit | Rotate (float in_x, float in_y, float in_z) |
Concatenates a rotation matrix to this matrix with rotation around the primary axes. More... | |
HPS.MatrixKit | RotateOffAxis (HPS.Vector in_vector, float in_theta) |
Concatenates a rotation matrix to this matrix with rotation around an arbitrary vector. More... | |
HPS.MatrixKit | Translate (float in_x, float in_y, float in_z) |
Concatenates a translation matrix to this matrix that moves geometry. More... | |
HPS.MatrixKit | Scale (float in_x, float in_y, float in_z) |
Concatenates a scale matrix to this matrix that represents a uniform scaling of the scene. More... | |
HPS.MatrixKit | Concatenate (HPS.MatrixKit in_kit) |
Replaces this matrix with the matrix product of itself multiplied by another matrix. More... | |
HPS.MatrixKit | Normalize () |
Divides this matrix by its determinant. If this matrix is singular (determinant = 0), it will be unchanged. More... | |
HPS.MatrixKit | Invert () |
Replaces this matrix with it's matrix inverse. If this matrix is singular (determinant = 0), it will be unchanged. More... | |
HPS.MatrixKit | Adjoint () |
Replaces this matrix with it's matrix adjoint. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices. More... | |
HPS.MatrixKit | Multiply (HPS.MatrixKit in_right) |
Performs a matrix multiplication with this object as the left operand. More... | |
HPS.MatrixKit | Multiply (float in_scalar) |
Performs a scalar multiplication of this matrix. More... | |
HPS.MatrixKit | MultiplyAndAssign (HPS.MatrixKit in_right) |
Performs a matrix multiplication with this object as the left operand and then assigns it to this object. More... | |
HPS.MatrixKit | MultiplyAndAssign (float in_scalar) |
Performs a scalar multiplication of this matrix and then assigns it to this object. More... | |
HPS.Point | Transform (HPS.Point in_source) |
Transform a point through this matrix. More... | |
HPS.Point[] | Transform (HPS.Point[] in_source) |
Transform an array of points through this matrix. More... | |
HPS.Vector | Transform (HPS.Vector in_source) |
Transform a vector through this matrix. More... | |
HPS.Vector[] | Transform (HPS.Vector[] in_source) |
Transform an array of vectors through this matrix. More... | |
HPS.Plane | Transform (HPS.Plane in_source) |
Transform a plane through this matrix. More... | |
HPS.Plane[] | Transform (HPS.Plane[] in_source) |
Transform an array of planes through this matrix. More... | |
HPS.SimpleCuboid | Transform (HPS.SimpleCuboid in_source) |
Transform a SimpleCuboid through this matrix. More... | |
HPS.SimpleSphere | Transform (HPS.SimpleSphere in_source) |
Transform a SimpleSphere through this matrix. More... | |
![]() | |
IntPtr | GetClassID () |
Object (HPS.Object that) | |
HPS.Type | Type () |
This function returns the true type of the underlying object. This function is useful for finding the type of smart pointer objects that have been cast to more generic types. More... | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. More... | |
bool | HasType (HPS.Type in_mask) |
This function indicates whether this Object has the given Type mask. More... | |
IntPtr | GetInstanceID () |
Returns an identifier that can be used to identify which instance of a class an object is. Different keys and controls will return the same value if they are backed by the same database resource. More... | |
Static Public Member Functions | |
static HPS.MatrixKit | GetDefault () |
Creates a MatrixKit representing the identity matrix. More... | |
static bool | operator== (HPS.MatrixKit a, HPS.MatrixKit b) |
static bool | operator!= (HPS.MatrixKit a, HPS.MatrixKit b) |
![]() | |
static IntPtr | ClassID< T > () |
Protected Member Functions | |
override void | deleteCptr () |
![]() | |
virtual IntPtr | GetNonDirectorClassID () |
Additional Inherited Members | |
![]() | |
HandleRef | cptr |
HandleRef | scptr |
bool | cMemOwn |
The MatrixKit class is a user space object, useful for carrying a group attribute settings.
|
inline |
Initializes an identity matrix.
|
inline |
The copy constructor creates a new MatrixKit object that contains the same settings as the source object.
in_kit | The source object to copy. |
|
inline |
This constructor allows implicit construction from an array of floats.
in_matrix_source | An array of floats that will be used to construct a new matrix. If this array is not at least 16 elements in length, only the valid members will be used, leaving the remainder initialized as the identity matrix. |
|
inline |
This constructor allows implicit construction from a quaternion.
in_quaternion | A quaternion used to construct a new matrix. |
|
inline |
Replaces this matrix with it's matrix adjoint. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices.
|
inline |
Replaces this matrix with the matrix product of itself multiplied by another matrix.
in_kit | the right side operand of the matrix multiplication. |
|
inlinevirtual |
Indicates whether this object has any values set on it.
Reimplemented from HPS.Object.
|
inline |
|
inlinestatic |
|
inline |
Replaces this matrix with it's matrix inverse. If this matrix is singular (determinant = 0), it will be unchanged.
|
inline |
Performs a matrix multiplication with this object as the left operand.
in_right | A matrix used as the right operand of a matrix multiplication. |
|
inline |
Performs a scalar multiplication of this matrix.
in_scalar | A scalar to multiply this object by. |
|
inline |
Performs a matrix multiplication with this object as the left operand and then assigns it to this object.
in_right | A matrix used as the right operand of a matrix multiplication. |
|
inline |
Performs a scalar multiplication of this matrix and then assigns it to this object.
in_scalar | A scalar to multiply this object by. |
|
inline |
Divides this matrix by its determinant. If this matrix is singular (determinant = 0), it will be unchanged.
|
inlinevirtual |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.
Reimplemented from HPS.Object.
|
inline |
Concatenates a rotation matrix to this matrix with rotation around the primary axes.
in_x | The number of degrees to rotate around the x-axis. |
in_y | The number of degrees to rotate around the y-axis. |
in_z | The number of degrees to rotate around the z-axis. |
|
inline |
Concatenates a rotation matrix to this matrix with rotation around an arbitrary vector.
in_vector | The vector to rotate around. |
in_theta | the number of degrees to rotate around the specified vector |
|
inline |
Concatenates a scale matrix to this matrix that represents a uniform scaling of the scene.
in_x | The scale multiplier along the x-axis. |
in_y | The scale multiplier along the y-axis. |
in_z | The scale multiplier along the z-axis. |
|
inline |
|
inline |
Sets a single matrix element.
in_row | The row index. Valid range is [0, 3]. |
in_column | The column index. Valid range is [0, 3]. |
in_value | The matrix element. |
|
inline |
Sets a single matrix element, indexed as a linear array in row-major order.
in_ordinal_zero_to_fifteen | The offset into the matrix. Valid range is [0, 15]. |
in_value | The matrix element. |
|
inline |
Sets some or all elements in the matrix from an array, starting with the first element.
in_values | An array of float values in row-major order that should replace the values in the matrix. |
|
inline |
|
inline |
Computes the matrix adjoint of this matrix. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices.
out_matrix | The matrix adjoint of this matrix. |
|
inline |
Computes the matrix determinant of this matrix.
out_determinant | The matrix determinant. |
|
inline |
Shows a single matrix element.
in_row | The row index. Valid range is [0, 3]. |
in_column | The column index. Valid range is [0, 3]. |
out_value | The matrix element. |
|
inline |
Shows a single matrix element, indexed as a linear array in row-major order.
in_ordinal_zero_to_fifteen | The offset into the matrix. Valid range is [0, 15]. |
out_value | The matrix element. |
|
inline |
Shows all elements of this matrix as an array.
out_matrix | The contents of the matrix arranged as a linear array in row-major order. |
|
inline |
Computes the matrix inverse of this matrix. Fails if this matrix is singular (determinant = 0).
out_matrix | The matrix inverse of this matrix. |
Transform a point through this matrix.
in_source | The point to apply a transformation to. |
Transform an array of points through this matrix.
in_source | An array of points to apply a transformation to. |
|
inline |
Transform a vector through this matrix.
in_source | The vector to apply a transformation to. |
|
inline |
Transform an array of vectors through this matrix.
in_source | An array of vectors to apply a transformation to. |
Transform a plane through this matrix.
in_source | The plane to apply a transformation to. |
Transform an array of planes through this matrix.
in_source | An array of planes to apply a transformation to. |
|
inline |
Transform a SimpleCuboid through this matrix.
in_source | The cuboid to apply a transformation to. |
|
inline |
Transform a SimpleSphere through this matrix.
in_source | The sphere to apply a transformation to. |
|
inline |
Concatenates a translation matrix to this matrix that moves geometry.
in_x | The number of units to translate along the x-axis. |
in_y | The number of units to translate along the y-axis. |
in_z | The number of units to translate along the z-axis. |
|
inline |
Sets this kit to an identity matrix.