
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... | |
virtual void | Dispose () |
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... | |
bool | IsIdentity () |
Indicates whether or not this matrix is an identity matrix More... | |
MatrixKit () | |
Initializes an identity matrix. More... | |
MatrixKit (HPS.MatrixKit in_other) | |
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... | |
void | Reset () |
Sets this kit to an identity matrix. 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 other) |
Copies the data 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... | |
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 | Translate (HPS.Vector in_translation) |
Concatenates a translation matrix to this matrix that moves geometry. More... | |
HPS.MatrixKit | UnsetEverything () |
Sets this kit to an identity matrix. 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) |
Protected Member Functions | |
virtual void | deleteCptr () |
Protected Attributes | |
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.
|
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.
|
inline |
Indicates whether this object has any values set on it.
- Deprecated:
- This function exists for compatibility and will always return false.
- Returns
- true if no values are set on this object, false otherwise.
|
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 |
Indicates whether or not this matrix is an identity matrix
- Returns
- Whether this matrix is an identity matrix.
|
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.
|
inline |
Sets this kit to an identity matrix.
|
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 |
Copies the data from the source MatrixKit into this object.
|
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 |
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 |
Concatenates a translation matrix to this matrix that moves geometry.
- Parameters
-
in_translation A vector distance to translate by.
- Returns
- A reference to this object.
|
inline |
Sets this kit to an identity matrix.
- Deprecated:
- This function exists for compatibility and Reset should be preferred.
- 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