The ModellingMatrixControl class is a smart pointer that is tied to a database object. This control gives you access to a segment's modelling matrix. You can set an entire matrix or individual elements. Additionally, this class provides a small set of utility methods for all the basic transformations, as well as getting the matrix adjoint and determinant. Elements of modelling matrices are in row-major order. More...

Public Member Functions | |
HPS.ModellingMatrixControl | 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.ModellingMatrixControl | Concatenate (HPS.MatrixKit in_kit) |
Replaces this matrix with the matrix product of itself multiplied by another matrix. More... | |
override void | Dispose () |
HPS.ModellingMatrixControl | Invert () |
Replaces this matrix with it's matrix inverse. If this matrix is singular (determinant = 0), it will be unchanged. More... | |
ModellingMatrixControl (HPS.SegmentKey in_seg) | |
Initializes a control tied to the segment in_seg. More... | |
ModellingMatrixControl (HPS.ReferenceKey in_ref) | |
Initializes a control tied to the geometry reference in_ref. More... | |
ModellingMatrixControl (HPS.ModellingMatrixControl in_that) | |
Initializes a control tied to the same object as in_that. More... | |
HPS.ModellingMatrixControl | 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.ModellingMatrixControl | 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.ModellingMatrixControl | RotateOffAxis (HPS.Vector in_vector, float in_theta) |
Concatenates a rotation matrix to this matrix with rotation around an arbitrary vector. More... | |
HPS.ModellingMatrixControl | 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.ModellingMatrixControl | SetElement (ulong in_row, ulong in_column, float in_value) |
Sets a single matrix element. More... | |
HPS.ModellingMatrixControl | 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.ModellingMatrixControl | 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.ModellingMatrixControl | Translate (float in_x, float in_y, float in_z) |
Concatenates a translation matrix to this matrix that moves geometry. More... | |
HPS.ModellingMatrixControl | Translate (HPS.Vector in_translation) |
Concatenates a translation matrix to this matrix that moves geometry. More... | |
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... | |
HPS.ModellingMatrixControl | UnsetEverything () |
Removes all settings from this object. More... | |
![]() | |
Control (HPS.Control in_that) | |
![]() | |
virtual bool | Empty () |
Indicates whether this object has any values set on it. 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... | |
Protected Member Functions | |
override void | deleteCptr () |
![]() | |
virtual IntPtr | GetNonDirectorClassID () |
Additional Inherited Members | |
![]() | |
static IntPtr | ClassID< T > () |
![]() | |
bool | cMemOwn |
HandleRef | cptr |
Detailed Description
The ModellingMatrixControl class is a smart pointer that is tied to a database object. This control gives you access to a segment's modelling matrix. You can set an entire matrix or individual elements. Additionally, this class provides a small set of utility methods for all the basic transformations, as well as getting the matrix adjoint and determinant. Elements of modelling matrices are in row-major order.
Constructor & Destructor Documentation
|
inline |
Initializes a control tied to the segment in_seg.
|
inline |
Initializes a control tied to the geometry reference in_ref.
|
inline |
Initializes a control tied to the same object as in_that.
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 |
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 |
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.Control.
|
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 |
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.
|
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.
|
inlinevirtual |
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.
- Returns
- The true type of the object in question.
Reimplemented from HPS.Control.
|
inline |
Removes all settings from this object.
- Returns
- A reference to this object.
The documentation for this class was generated from the following file:
- internals/hps_core/source/cs/HPS.ModellingMatrixControl.cs