REFERENCE MANUAL
The ModellingMatrixControl class is a smart pointer that is tied to a database object. More...
Public Member Functions | |
HPS.ModellingMatrixControl | Adjoint () |
Replaces this matrix with it's matrix adjoint. 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. 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. More... | |
override HPS.Type | ObjectType () |
This function returns the type the object, as declared. 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. 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.ModellingMatrixControl | Translate (float in_x, float in_y, float in_z) |
Concatenates a translation matrix to this matrix that moves geometry. 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. 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... | |
Protected Member Functions | |
override void | deleteCptr () |
![]() | |
virtual IntPtr | GetNonDirectorClassID () |
Additional Inherited Members | |
![]() | |
static IntPtr | ClassID< T > () |
![]() | |
bool | cMemOwn |
HandleRef | cptr |
HandleRef | scptr |
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.
HPS.ModellingMatrixControl.ModellingMatrixControl | ( | HPS.SegmentKey | in_seg | ) |
Initializes a control tied to the segment in_seg.
HPS.ModellingMatrixControl.ModellingMatrixControl | ( | HPS.ReferenceKey | in_ref | ) |
Initializes a control tied to the geometry reference in_ref.
HPS.ModellingMatrixControl.ModellingMatrixControl | ( | HPS.ModellingMatrixControl | in_that | ) |
Initializes a control tied to the same object as in_that.
HPS.ModellingMatrixControl 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.
HPS.ModellingMatrixControl HPS.ModellingMatrixControl.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. |
HPS.ModellingMatrixControl HPS.ModellingMatrixControl.Invert | ( | ) |
Replaces this matrix with it's matrix inverse.
If this matrix is singular (determinant = 0), it will be unchanged.
HPS.ModellingMatrixControl HPS.ModellingMatrixControl.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.ModellingMatrixControl 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.
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.ModellingMatrixControl HPS.ModellingMatrixControl.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.ModellingMatrixControl 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.
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. |
HPS.ModellingMatrixControl HPS.ModellingMatrixControl.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.ModellingMatrixControl 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.
in_ordinal_zero_to_fifteen | The offset into the matrix. Valid range is [0, 15]. |
in_value | The matrix element. |
HPS.ModellingMatrixControl HPS.ModellingMatrixControl.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. |
bool HPS.ModellingMatrixControl.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.ModellingMatrixControl.ShowDeterminant | ( | out float | out_determinant | ) |
Computes the matrix determinant of this matrix.
out_determinant | The matrix determinant. |
bool HPS.ModellingMatrixControl.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.ModellingMatrixControl.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.ModellingMatrixControl.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.ModellingMatrixControl.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. |
HPS.ModellingMatrixControl HPS.ModellingMatrixControl.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.ModellingMatrixControl HPS.ModellingMatrixControl.UnsetEverything | ( | ) |
Removes all settings from this object.