|
HPS.MatrixKit | Adjoint () |
|
HPS.MatrixKit | Concatenate (HPS.MatrixKit in_kit) |
|
virtual void | Dispose () |
|
bool | Empty () |
|
override bool | Equals (System.Object obj) |
|
bool | Equals (HPS.MatrixKit in_kit) |
|
override int | GetHashCode () |
|
HPS.MatrixKit | Invert () |
|
bool | IsIdentity () |
|
| MatrixKit () |
|
| MatrixKit (HPS.MatrixKit in_other) |
|
| MatrixKit (float[] in_matrix_source) |
|
| MatrixKit (HPS.Quaternion in_quaternion) |
|
HPS.MatrixKit | Multiply (HPS.MatrixKit in_right) |
|
HPS.MatrixKit | Multiply (float in_scalar) |
|
HPS.MatrixKit | MultiplyAndAssign (HPS.MatrixKit in_right) |
|
HPS.MatrixKit | MultiplyAndAssign (float in_scalar) |
|
HPS.MatrixKit | Normalize () |
|
void | Reset () |
|
HPS.MatrixKit | Rotate (float in_x, float in_y, float in_z) |
|
HPS.MatrixKit | RotateOffAxis (HPS.Vector in_vector, float in_theta) |
|
HPS.MatrixKit | Scale (float in_x, float in_y, float in_z) |
|
void | Set (HPS.MatrixKit other) |
|
HPS.MatrixKit | SetElement (ulong in_row, ulong in_column, float in_value) |
|
HPS.MatrixKit | SetElement (ulong in_ordinal_zero_to_fifteen, float in_value) |
|
HPS.MatrixKit | SetElements (float[] in_values) |
|
bool | ShowAdjoint (out HPS.MatrixKit out_matrix) |
|
bool | ShowDeterminant (out float out_determinant) |
|
bool | ShowElement (ulong in_row, ulong in_column, out float out_value) |
|
bool | ShowElement (ulong in_ordinal_zero_to_fifteen, out float out_value) |
|
bool | ShowElements (out float[] out_matrix) |
|
bool | ShowInverse (out HPS.MatrixKit out_matrix) |
|
HPS.Point | Transform (HPS.Point in_source) |
|
HPS.Point [] | Transform (HPS.Point[] in_source) |
|
HPS.Vector | Transform (HPS.Vector in_source) |
|
HPS.Vector [] | Transform (HPS.Vector[] in_source) |
|
HPS.Plane | Transform (HPS.Plane in_source) |
|
HPS.Plane [] | Transform (HPS.Plane[] in_source) |
|
HPS.SimpleCuboid | Transform (HPS.SimpleCuboid in_source) |
|
HPS.SimpleSphere | Transform (HPS.SimpleSphere in_source) |
|
HPS.MatrixKit | Translate (float in_x, float in_y, float in_z) |
|
HPS.MatrixKit | Translate (HPS.Vector in_translation) |
|
HPS.MatrixKit | UnsetEverything () |
|
|
virtual void | deleteCptr () |
|
|
bool | cMemOwn |
|
HandleRef | cptr |
|
The MatrixKit class is a user space object, useful for carrying a group attribute settings.
◆ MatrixKit() [1/4]
HPS.MatrixKit.MatrixKit |
( |
| ) |
|
|
inline |
Initializes an identity matrix.
◆ MatrixKit() [2/4]
The copy constructor creates a new MatrixKit object that contains the same settings as the source object.
◆ MatrixKit() [3/4]
HPS.MatrixKit.MatrixKit |
( |
float [] |
in_matrix_source | ) |
|
|
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. |
◆ MatrixKit() [4/4]
This constructor allows implicit construction from a quaternion.
- Parameters
-
in_quaternion | A quaternion used to construct a new matrix. |
◆ 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.
- Returns
- A reference to this object.
◆ Concatenate()
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.
◆ Empty()
bool HPS.MatrixKit.Empty |
( |
| ) |
|
|
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.
◆ Equals()
Check if the source MatrixKit is equivalent to this object.
- Parameters
-
in_kit | The source MatrixKit to compare to this object. |
- Returns
- true if the objects are equivalent, false otherwise.
◆ GetDefault()
◆ Invert()
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.
◆ IsIdentity()
bool HPS.MatrixKit.IsIdentity |
( |
| ) |
|
|
inline |
Indicates whether or not this matrix is an identity matrix
- Returns
- Whether this matrix is an identity matrix.
◆ Multiply() [1/2]
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.
◆ Multiply() [2/2]
Performs a scalar multiplication of this matrix.
- Parameters
-
in_scalar | A scalar to multiply this object by. |
- Returns
- A new MatrixKit representing the product.
◆ MultiplyAndAssign() [1/2]
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.
◆ MultiplyAndAssign() [2/2]
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.
◆ Normalize()
Divides this matrix by its determinant. If this matrix is singular (determinant = 0), it will be unchanged.
- Returns
- A reference to this object.
◆ Reset()
void HPS.MatrixKit.Reset |
( |
| ) |
|
|
inline |
Sets this kit to an identity matrix.
◆ Rotate()
HPS.MatrixKit HPS.MatrixKit.Rotate |
( |
float |
in_x, |
|
|
float |
in_y, |
|
|
float |
in_z |
|
) |
| |
|
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.
◆ RotateOffAxis()
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.
◆ Scale()
HPS.MatrixKit HPS.MatrixKit.Scale |
( |
float |
in_x, |
|
|
float |
in_y, |
|
|
float |
in_z |
|
) |
| |
|
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.
◆ Set()
Copies the data from the source MatrixKit into this object.
◆ SetElement() [1/2]
HPS.MatrixKit HPS.MatrixKit.SetElement |
( |
ulong |
in_row, |
|
|
ulong |
in_column, |
|
|
float |
in_value |
|
) |
| |
|
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.
◆ SetElement() [2/2]
HPS.MatrixKit HPS.MatrixKit.SetElement |
( |
ulong |
in_ordinal_zero_to_fifteen, |
|
|
float |
in_value |
|
) |
| |
|
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.
◆ SetElements()
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.
◆ ShowAdjoint()
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.
◆ ShowDeterminant()
bool HPS.MatrixKit.ShowDeterminant |
( |
out float |
out_determinant | ) |
|
|
inline |
Computes the matrix determinant of this matrix.
- Parameters
-
out_determinant | The matrix determinant. |
- Returns
- true if the setting is valid, false otherwise.
◆ ShowElement() [1/2]
bool HPS.MatrixKit.ShowElement |
( |
ulong |
in_row, |
|
|
ulong |
in_column, |
|
|
out float |
out_value |
|
) |
| |
|
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.
◆ ShowElement() [2/2]
bool HPS.MatrixKit.ShowElement |
( |
ulong |
in_ordinal_zero_to_fifteen, |
|
|
out float |
out_value |
|
) |
| |
|
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.
◆ ShowElements()
bool HPS.MatrixKit.ShowElements |
( |
out float [] |
out_matrix | ) |
|
|
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.
◆ ShowInverse()
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() [1/8]
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() [2/8]
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.
◆ Transform() [3/8]
Transform a vector through this matrix.
- Parameters
-
in_source | The vector to apply a transformation to. |
- Returns
- A new vector representing the transformed vector.
◆ Transform() [4/8]
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() [5/8]
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() [6/8]
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.
◆ Transform() [7/8]
Transform a SimpleCuboid through this matrix.
- Parameters
-
in_source | The cuboid to apply a transformation to. |
- Returns
- A new SimpleCuboid representing the transformed cuboid.
◆ Transform() [8/8]
Transform a SimpleSphere through this matrix.
- Parameters
-
in_source | The sphere to apply a transformation to. |
- Returns
- A new SimpleSphere representing the transformed sphere.
◆ Translate() [1/2]
HPS.MatrixKit HPS.MatrixKit.Translate |
( |
float |
in_x, |
|
|
float |
in_y, |
|
|
float |
in_z |
|
) |
| |
|
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.
◆ Translate() [2/2]
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.
◆ UnsetEverything()
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