#include <hps.h>

Public Member Functions | |
TextureMatrixControl & | Adjoint () |
TextureMatrixControl & | Concatenate (MatrixKit const &in_kit) |
TextureMatrixControl & | Invert () |
TextureMatrixControl & | Normalize () |
HPS::Type | ObjectType () const |
TextureMatrixControl & | operator= (TextureMatrixControl &&in_that) |
TextureMatrixControl & | operator= (TextureMatrixControl const &in_that) |
TextureMatrixControl & | Rotate (float in_x, float in_y, float in_z) |
TextureMatrixControl & | RotateOffAxis (Vector const &in_vector, float in_theta) |
TextureMatrixControl & | Scale (float in_x, float in_y, float in_z) |
TextureMatrixControl & | SetElement (size_t in_row, size_t in_column, float in_value) |
TextureMatrixControl & | SetElement (size_t in_ordinal_zero_to_fifteen, float in_value) |
TextureMatrixControl & | SetElements (FloatArray const &in_values) |
TextureMatrixControl & | SetElements (size_t in_value_count, float const in_values[]) |
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 |
TextureMatrixControl (SegmentKey &in_seg) | |
TextureMatrixControl (const TextureMatrixControl &in_that) | |
TextureMatrixControl (TextureMatrixControl &&in_that) | |
TextureMatrixControl & | Translate (float in_x, float in_y, float in_z) |
virtual HPS::Type | Type () const |
TextureMatrixControl & | UnsetEverything () |
~TextureMatrixControl () | |
![]() | |
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 () |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
Control (Control &&in_that) | |
Control & | operator= (Control &&in_that) |
Detailed Description
The TextureMatrixControl class is a smart pointer that is tied to a database object. It controls the various attributes related to texture matrices.
Constructor & Destructor Documentation
|
explicit |
Initializes a control tied to the segment in_seg.
HPS::TextureMatrixControl::TextureMatrixControl | ( | const TextureMatrixControl & | in_that | ) |
Initializes a control tied to the same object as in_that.
HPS::TextureMatrixControl::TextureMatrixControl | ( | TextureMatrixControl && | in_that | ) |
The move constructor creates a TextureMatrixControl by transferring the underlying impl of the rvalue reference to this TextureMatrixControl thereby avoiding a copy and allocation.
- Parameters
-
in_that An rvalue reference to a TextureMatrixControl to take the impl from.
HPS::TextureMatrixControl::~TextureMatrixControl | ( | ) |
Releases a reference to the database object this control is tied to.
Member Function Documentation
TextureMatrixControl& HPS::TextureMatrixControl::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.
TextureMatrixControl& HPS::TextureMatrixControl::Concatenate | ( | MatrixKit const & | in_kit | ) |
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.
TextureMatrixControl& HPS::TextureMatrixControl::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.
TextureMatrixControl& HPS::TextureMatrixControl::Normalize | ( | ) |
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.
TextureMatrixControl& HPS::TextureMatrixControl::operator= | ( | TextureMatrixControl && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this TextureMatrixControl thereby avoiding a copy.
- Parameters
-
in_that An rvalue reference to a TextureMatrixControl to take the impl from.
- Returns
- A reference to this TextureMatrixControl.
TextureMatrixControl& HPS::TextureMatrixControl::operator= | ( | TextureMatrixControl const & | in_that | ) |
Share the underlying smart-pointer of the TextureMatrixControl source.
- Parameters
-
in_that The TextureMatrixControl source of the assignment.
- Returns
- A reference to this TextureMatrixControl.
TextureMatrixControl& HPS::TextureMatrixControl::Rotate | ( | float | in_x, |
float | in_y, | ||
float | in_z | ||
) |
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.
TextureMatrixControl& HPS::TextureMatrixControl::RotateOffAxis | ( | Vector const & | in_vector, |
float | in_theta | ||
) |
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.
TextureMatrixControl& HPS::TextureMatrixControl::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.
- 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.
TextureMatrixControl& HPS::TextureMatrixControl::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.
TextureMatrixControl& HPS::TextureMatrixControl::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.
TextureMatrixControl& HPS::TextureMatrixControl::SetElements | ( | FloatArray const & | in_values | ) |
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.
TextureMatrixControl& HPS::TextureMatrixControl::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.
bool HPS::TextureMatrixControl::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.
bool HPS::TextureMatrixControl::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.
bool HPS::TextureMatrixControl::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.
bool HPS::TextureMatrixControl::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.
bool HPS::TextureMatrixControl::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.
bool HPS::TextureMatrixControl::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.
TextureMatrixControl& HPS::TextureMatrixControl::Translate | ( | float | in_x, |
float | in_y, | ||
float | in_z | ||
) |
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.
|
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.
TextureMatrixControl& HPS::TextureMatrixControl::UnsetEverything | ( | ) |
Removes all settings from this object.
- Returns
- A reference to this object.
The documentation for this class was generated from the following file:
- include/hps.h