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. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices. 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. If this matrix is singular (determinant = 0), it will be unchanged. 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. If this matrix is singular (determinant = 0), it will be unchanged. 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... | |
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. The adjoint is similar to the inverse but is always guaranteed to exist, even for singular matrices. 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. Fails if this matrix is singular (determinant = 0). 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... | |
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... | |
![]() | |
Kit (HPS.Kit in_that) | |
override 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... | |
![]() | |
IntPtr | GetClassID () |
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... | |
bool | HasType (HPS.Type in_mask) |
This function indicates whether this Object has the given Type mask. More... | |
Object (HPS.Object that) | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. 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 |
Detailed Description
The MatrixKit class is a user space object, useful for carrying a group attribute settings.
Constructor & Destructor Documentation
|
inline |
Initializes an identity matrix.
|
inline |
The copy constructor creates a new MatrixKit object that contains the same settings as the source object.
- Parameters
-
in_kit The source object to copy.
|
inline |
This constructor allows implicit construction from an array of floats.
- Parameters
-
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.
- Parameters
-
in_quaternion A quaternion used to construct a new matrix.
Member Function Documentation
|
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.
- Returns
- A reference to this object.
|
inline |
Replaces this matrix with the matrix product of itself multiplied by another matrix.
- Parameters
-
in_kit the right side operand of the matrix multiplication.
- Returns
- A reference to this object.
|
inlinevirtual |
Indicates whether this object has any values set on it.
- Returns
- true if no values are set on this object, false otherwise.
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.
- Returns
- A reference to this object.
|
inline |
Performs a matrix multiplication with this object as the left operand.
- Parameters
-
in_right A matrix used as the right operand of a matrix multiplication.
- Returns
- A new MatrixKit representing the product.
|
inline |
Performs a scalar multiplication of this matrix.
- Parameters
-
in_scalar A scalar to multiply this object by.
- Returns
- A new MatrixKit representing the product.
|
inline |
Performs a matrix multiplication with this object as the left operand and then assigns it to this object.
- Parameters
-
in_right A matrix used as the right operand of a matrix multiplication.
- Returns
- A reference to this object after the multiplication.
|
inline |
Performs a scalar multiplication of this matrix and then assigns it to this object.
- Parameters
-
in_scalar A scalar to multiply this object by.
- Returns
- A reference to this object after the multiplication.
|
inline |
Divides this matrix by its determinant. If this matrix is singular (determinant = 0), it will be unchanged.
- Returns
- A reference to this object.
|
inlinevirtual |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.
- Returns
- The declared type of the object in question, which may differ from the true, underlying type.
Reimplemented from HPS.Kit.
|
inline |
Concatenates a rotation matrix to this matrix with rotation around the primary axes.
- Parameters
-
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.
- Returns
- A reference to this object.
|
inline |
Concatenates a rotation matrix to this matrix with rotation around an arbitrary vector.
- Parameters
-
in_vector The vector to rotate around. in_theta the number of degrees to rotate around the specified vector
- Returns
- A reference to this object.
|
inline |
Concatenates a scale matrix to this matrix that represents a uniform scaling of the scene.
- Parameters
-
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.
- Returns
- A reference to this object.
|
inline |
|
inline |
Sets a single matrix element.
- Parameters
-
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.
- Returns
- A reference to this object.
|
inline |
Sets a single matrix element, indexed as a linear array in row-major order.
- Parameters
-
in_ordinal_zero_to_fifteen The offset into the matrix. Valid range is [0, 15]. in_value The matrix element.
- Returns
- A reference to this object.
|
inline |
Sets some or all elements in the matrix from an array, starting with the first element.
- Parameters
-
in_values An array of float values in row-major order that should replace the values in the matrix.
- Returns
- A reference to this object.
|
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.
- Parameters
-
out_matrix The matrix adjoint of this matrix.
- Returns
- true if the setting is valid, false otherwise.
|
inline |
Computes the matrix determinant of this matrix.
- Parameters
-
out_determinant The matrix determinant.
- Returns
- true if the setting is valid, false otherwise.
|
inline |
Shows a single matrix element.
- Parameters
-
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.
- Returns
- true if the setting is valid, false otherwise.
|
inline |
Shows a single matrix element, indexed as a linear array in row-major order.
- Parameters
-
in_ordinal_zero_to_fifteen The offset into the matrix. Valid range is [0, 15]. out_value The matrix element.
- Returns
- true if the setting is valid, false otherwise.
|
inline |
Shows all elements of this matrix as an array.
- Parameters
-
out_matrix The contents of the matrix arranged as a linear array in row-major order.
- Returns
- true if the setting is valid, false otherwise.
|
inline |
Computes the matrix inverse of this matrix. Fails if this matrix is singular (determinant = 0).
- Parameters
-
out_matrix The matrix inverse of this matrix.
- Returns
- true if the setting is valid, false otherwise.
Transform a point through this matrix.
- Parameters
-
in_source The point to apply a transformation to.
- Returns
- A new point representing the transformed point.
Transform an array of points through this matrix.
- Parameters
-
in_source An array of points to apply a transformation to.
- Returns
- A new point array representing the transformed points.
|
inline |
Transform a vector through this matrix.
- Parameters
-
in_source The vector to apply a transformation to.
- Returns
- A new vector representing the transformed vector.
|
inline |
Transform an array of vectors through this matrix.
- Parameters
-
in_source An array of vectors to apply a transformation to.
- Returns
- A new vector array representing the transformed vectors.
Transform a plane through this matrix.
- Parameters
-
in_source The plane to apply a transformation to.
- Returns
- A new plane representing the transformed plane.
Transform an array of planes through this matrix.
- Parameters
-
in_source An array of planes to apply a transformation to.
- Returns
- A new plane array representing the transformed planes.
|
inline |
Transform a SimpleCuboid through this matrix.
- Parameters
-
in_source The cuboid to apply a transformation to.
- Returns
- A new SimpleCuboid representing the transformed cuboid.
|
inline |
Transform a SimpleSphere through this matrix.
- Parameters
-
in_source The sphere to apply a transformation to.
- Returns
- A new SimpleSphere representing the transformed sphere.
|
inline |
Concatenates a translation matrix to this matrix that moves geometry.
- Parameters
-
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.
- Returns
- A reference to this object.
|
inline |
Sets this kit to an identity matrix.
- Returns
- A reference to this kit.
The documentation for this class was generated from the following file:
- internals/hps_core/source/cs/HPS.MatrixKit.cs