#include <hps.h>
|
ModellingMatrixControl & | Adjoint () |
|
ModellingMatrixControl & | Concatenate (MatrixKit const &in_kit) |
|
ModellingMatrixControl & | Invert () |
|
| ModellingMatrixControl (SegmentKey const &in_seg) |
|
| ModellingMatrixControl (ReferenceKey const &in_ref) |
|
| ModellingMatrixControl (ModellingMatrixControl const &in_that) |
|
| ModellingMatrixControl (ModellingMatrixControl &&in_that) |
|
ModellingMatrixControl & | Normalize () |
|
HPS::Type | ObjectType () const |
|
ModellingMatrixControl & | operator= (ModellingMatrixControl &&in_that) |
|
ModellingMatrixControl & | operator= (ModellingMatrixControl const &in_that) |
|
ModellingMatrixControl & | Rotate (float in_x, float in_y, float in_z) |
|
ModellingMatrixControl & | RotateOffAxis (Vector const &in_vector, float in_theta) |
|
ModellingMatrixControl & | Scale (float in_x, float in_y, float in_z) |
|
ModellingMatrixControl & | Set (MatrixKit const &in_matrix) |
|
ModellingMatrixControl & | SetElement (size_t in_row, size_t in_column, float in_value) |
|
ModellingMatrixControl & | SetElement (size_t in_ordinal_zero_to_fifteen, float in_value) |
|
ModellingMatrixControl & | SetElements (FloatArray const &in_values) |
|
ModellingMatrixControl & | SetElements (size_t in_value_count, float const in_values []) |
|
bool | Show (MatrixKit &out_matrix) const |
|
bool | ShowAdjoint (MatrixKit &out_matrix) const |
|
bool | ShowDeterminant (float &out_determinant) const |
|
bool | ShowElement (size_t in_row, size_t in_column, float &out_value) const |
|
bool | ShowElement (size_t in_ordinal_zero_to_fifteen, float &out_value) const |
|
bool | ShowElements (FloatArray &out_matrix) const |
|
bool | ShowInverse (MatrixKit &out_matrix) const |
|
ModellingMatrixControl & | Translate (float in_x, float in_y, float in_z) |
|
ModellingMatrixControl & | Translate (Vector const &in_translation) |
|
virtual HPS::Type | Type () const |
|
ModellingMatrixControl & | UnsetEverything () |
|
| ~ModellingMatrixControl () |
|
virtual bool | Empty () const |
|
intptr_t | GetClassID () const |
|
intptr_t | GetInstanceID () const |
|
bool | HasType (HPS::Type in_mask) const |
|
| Object (Object const &that) |
|
| Object (Object &&in_that) |
|
Object & | operator= (Object const &other_object) |
|
Object & | operator= (Object &&in_that) |
|
virtual void | Reset () |
|
|
static const HPS::Type | staticType = HPS::Type::ModellingMatrixControl |
|
static const HPS::Type | staticType = HPS::Type::Control |
|
static const HPS::Type | staticType = HPS::Type::None |
|
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.
◆ ModellingMatrixControl() [1/4]
HPS::ModellingMatrixControl::ModellingMatrixControl |
( |
SegmentKey const & |
in_seg | ) |
|
|
explicit |
Initializes a control tied to the segment in_seg.
◆ ModellingMatrixControl() [2/4]
HPS::ModellingMatrixControl::ModellingMatrixControl |
( |
ReferenceKey const & |
in_ref | ) |
|
|
explicit |
Initializes a control tied to the geometry reference in_ref.
◆ ModellingMatrixControl() [3/4]
Initializes a control tied to the same object as in_that.
◆ ModellingMatrixControl() [4/4]
◆ ~ModellingMatrixControl()
HPS::ModellingMatrixControl::~ModellingMatrixControl |
( |
| ) |
|
Releases a reference to the database object this control is tied to.
◆ 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.
◆ 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.
◆ Normalize()
Divides this matrix by its determinant. If this matrix is singular (determinant = 0), it will be unchanged.
- Returns
- A reference to this object.
◆ ObjectType()
HPS::Type HPS::ModellingMatrixControl::ObjectType |
( |
| ) |
const |
|
inlinevirtual |
This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
- Returns
- The declared type of the object in question, which may differ from the true, underlying type.
Reimplemented from HPS::Control.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ Rotate()
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()
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 all settings from the source MatrixKit into this object.
- Parameters
-
◆ SetElement() [1/2]
ModellingMatrixControl& HPS::ModellingMatrixControl::SetElement |
( |
size_t |
in_row, |
|
|
size_t |
in_column, |
|
|
float |
in_value |
|
) |
| |
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]
ModellingMatrixControl& HPS::ModellingMatrixControl::SetElement |
( |
size_t |
in_ordinal_zero_to_fifteen, |
|
|
float |
in_value |
|
) |
| |
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() [1/2]
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.
◆ SetElements() [2/2]
ModellingMatrixControl& HPS::ModellingMatrixControl::SetElements |
( |
size_t |
in_value_count, |
|
|
float const |
in_values[] |
|
) |
| |
Sets some or all elements in the matrix from an array, starting with the first element.
- Parameters
-
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. |
- Returns
- A reference to this object.
◆ Show()
bool HPS::ModellingMatrixControl::Show |
( |
MatrixKit & |
out_matrix | ) |
const |
Copies all settings from this control into the given MatrixKit.
- Parameters
-
out_matrix | The MatrixKit to populate with the contents of this object. |
◆ ShowAdjoint()
bool HPS::ModellingMatrixControl::ShowAdjoint |
( |
MatrixKit & |
out_matrix | ) |
const |
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::ModellingMatrixControl::ShowDeterminant |
( |
float & |
out_determinant | ) |
const |
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::ModellingMatrixControl::ShowElement |
( |
size_t |
in_row, |
|
|
size_t |
in_column, |
|
|
float & |
out_value |
|
) |
| const |
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::ModellingMatrixControl::ShowElement |
( |
size_t |
in_ordinal_zero_to_fifteen, |
|
|
float & |
out_value |
|
) |
| const |
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::ModellingMatrixControl::ShowElements |
( |
FloatArray & |
out_matrix | ) |
const |
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()
bool HPS::ModellingMatrixControl::ShowInverse |
( |
MatrixKit & |
out_matrix | ) |
const |
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.
◆ Translate() [1/2]
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.
◆ Type()
virtual HPS::Type HPS::ModellingMatrixControl::Type |
( |
| ) |
const |
|
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.
- Warning
- This function must synchronize the database (by waiting for all pending database operations to complete) in order to know the type status of this object with certainty. Therefore this function can negatively impact performance. You should vigorously avoid using this function in high-traffic or peformance-critical areas of your code.
- Returns
- The true type of the object in question.
Reimplemented from HPS::Control.
◆ UnsetEverything()
Removes all settings from this object.
- Returns
- A reference to this object.
The documentation for this class was generated from the following file: