REFERENCE MANUAL
The MatrixKit class is a user space object, useful for carrying a group attribute settings. More...
Public Member Functions | |
HPS.MatrixKit | Adjoint () |
Replaces this matrix with it's matrix adjoint. More... | |
HPS.MatrixKit | Concatenate (HPS.MatrixKit in_kit) |
Replaces this matrix with the matrix product of itself multiplied by another matrix. More... | |
override void | Dispose () |
override bool | Empty () |
Indicates whether this object has any values set on it. More... | |
override bool | Equals (System.Object obj) |
bool | Equals (HPS.MatrixKit in_kit) |
Check if the source MatrixKit is equivalent to this object. More... | |
override int | GetHashCode () |
HPS.MatrixKit | Invert () |
Replaces this matrix with it's matrix inverse. More... | |
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... | |
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.MatrixKit | Normalize () |
Divides this matrix by its determinant. More... | |
override HPS.Type | ObjectType () |
This function returns the type the object, as declared. 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 | 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... | |
void | Set (HPS.MatrixKit in_kit) |
Copies all settings from the source MatrixKit into 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... | |
void | Show (out HPS.MatrixKit out_kit) |
Copies all settings from this MatrixKit into the given MatrixKit. More... | |
bool | ShowAdjoint (out HPS.MatrixKit out_matrix) |
Computes the matrix adjoint of this matrix. More... | |
bool | ShowDeterminant (out float out_determinant) |
Computes the matrix determinant of this 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 | ShowInverse (out HPS.MatrixKit out_matrix) |
Computes the matrix inverse of this matrix. 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 point through this matrix. More... | |
HPS.Vector[] | Transform (HPS.Vector[] in_source) |
Transform an array of points through this matrix. More... | |
HPS.Plane | Transform (HPS.Plane in_source) |
Transform a point through this matrix. More... | |
HPS.Plane[] | Transform (HPS.Plane[] in_source) |
Transform an array of points through this matrix. 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 | UnsetEverything () |
Sets this kit to an identity matrix. More... | |
![]() | |
IntPtr | GetClassID () |
IntPtr | GetInstanceID () |
Returns an identifier that can be used to identify which instance of a class an object is. More... | |
bool | HasType (HPS.Type in_mask) |
This function indicates whether this Object has the given Type mask. More... | |
Object (HPS.Object in_that) | |
The move constructor creates an Object by transferring the underlying impl of the rvalue reference to this Object thereby avoiding a copy and allocation. More... | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. More... | |
HPS.Type | Type () |
This function returns the true type of the underlying object. 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 | |
![]() | |
bool | cMemOwn |
HandleRef | cptr |
HandleRef | scptr |
The MatrixKit class is a user space object, useful for carrying a group attribute settings.
HPS.MatrixKit.MatrixKit | ( | ) |
Initializes an identity matrix.
HPS.MatrixKit.MatrixKit | ( | HPS.MatrixKit | in_kit | ) |
The copy constructor creates a new MatrixKit object that contains the same settings as the source object.
in_kit | The source object to copy. |
HPS.MatrixKit.MatrixKit | ( | float[] | in_matrix_source | ) |
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. |
HPS.MatrixKit.MatrixKit | ( | HPS.Quaternion | in_quaternion | ) |
This constructor allows implicit construction from a quaternion.
in_quaternion | A quaternion used to construct a new matrix. |
HPS.MatrixKit 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.
HPS.MatrixKit HPS.MatrixKit.Concatenate | ( | HPS.MatrixKit | in_kit | ) |
Replaces this matrix with the matrix product of itself multiplied by another matrix.
in_kit | the right side operand of the matrix multiplication. |
|
virtual |
Indicates whether this object has any values set on it.
Reimplemented from HPS.Object.
bool HPS.MatrixKit.Equals | ( | HPS.MatrixKit | in_kit | ) |
|
static |
HPS.MatrixKit HPS.MatrixKit.Invert | ( | ) |
Replaces this matrix with it's matrix inverse.
If this matrix is singular (determinant = 0), it will be unchanged.
HPS.MatrixKit HPS.MatrixKit.Multiply | ( | HPS.MatrixKit | in_right | ) |
Performs a matrix multiplication with this object as the left operand.
in_right | A matrix used as the right operand of a matrix multiplication. |
HPS.MatrixKit HPS.MatrixKit.Multiply | ( | float | in_scalar | ) |
Performs a scalar multiplication of this matrix.
in_scalar | A scalar to multiply this object by. |
HPS.MatrixKit 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.
in_right | A matrix used as the right operand of a matrix multiplication. |
HPS.MatrixKit HPS.MatrixKit.MultiplyAndAssign | ( | float | in_scalar | ) |
Performs a scalar multiplication of this matrix and then assigns it to this object.
in_scalar | A scalar to multiply this object by. |
HPS.MatrixKit HPS.MatrixKit.Normalize | ( | ) |
Divides this matrix by its determinant.
If this matrix is singular (determinant = 0), it will be unchanged.
|
virtual |
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.
HPS.MatrixKit 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.
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. |
HPS.MatrixKit HPS.MatrixKit.RotateOffAxis | ( | HPS.Vector | in_vector, |
float | in_theta | ||
) |
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 |
HPS.MatrixKit 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.
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. |
void HPS.MatrixKit.Set | ( | HPS.MatrixKit | in_kit | ) |
HPS.MatrixKit HPS.MatrixKit.SetElement | ( | ulong | in_row, |
ulong | in_column, | ||
float | in_value | ||
) |
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. |
HPS.MatrixKit 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.
in_ordinal_zero_to_fifteen | The offset into the matrix. Valid range is [0, 15]. |
in_value | The matrix element. |
HPS.MatrixKit HPS.MatrixKit.SetElements | ( | float[] | in_values | ) |
Sets some or all elements in the matrix from an array, starting with the first element.
in_value_count | the number of elements in the input array. Valid range is [0, 16]. |
in_values | An array of float values in row-major order that should replace the values in the matrix. |
void HPS.MatrixKit.Show | ( | out HPS.MatrixKit | out_kit | ) |
bool HPS.MatrixKit.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.
out_matrix | The matrix adjoint of this matrix. |
bool HPS.MatrixKit.ShowDeterminant | ( | out float | out_determinant | ) |
Computes the matrix determinant of this matrix.
out_determinant | The matrix determinant. |
bool HPS.MatrixKit.ShowElement | ( | ulong | in_row, |
ulong | in_column, | ||
out float | out_value | ||
) |
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. |
bool HPS.MatrixKit.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.
in_ordinal_zero_to_fifteen | The offset into the matrix. Valid range is [0, 15]. |
out_value | The matrix element. |
bool HPS.MatrixKit.ShowElements | ( | out float[] | out_matrix | ) |
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. |
bool HPS.MatrixKit.ShowInverse | ( | out HPS.MatrixKit | out_matrix | ) |
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_count | The number of elements in the source array. |
in_source | An array of points to apply a transformation to. |
HPS.Vector HPS.MatrixKit.Transform | ( | HPS.Vector | in_source | ) |
Transform a point through this matrix.
in_source | The point to apply a transformation to. |
HPS.Vector [] HPS.MatrixKit.Transform | ( | HPS.Vector[] | in_source | ) |
Transform an array of points through this matrix.
in_count | The number of elements in the source array. |
in_source | An array of points to apply a transformation to. |
Transform a point through this matrix.
in_source | The point to apply a transformation to. |
Transform an array of points through this matrix.
in_count | The number of elements in the source array. |
in_source | An array of points to apply a transformation to. |
HPS.MatrixKit HPS.MatrixKit.Translate | ( | float | in_x, |
float | in_y, | ||
float | in_z | ||
) |
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. |
HPS.MatrixKit HPS.MatrixKit.UnsetEverything | ( | ) |
Sets this kit to an identity matrix.