# TextureMatrixControl

class `TextureMatrixControl` : public HPS::Control

  The TextureMatrixControl class is a smart pointer that is tied to a database object. It controls the various attributes related to texture matrices.

  Public Functions

  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 &`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 &`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 &`Normalize`()

    Divides this matrix by its determinant. If this matrix is singular (determinant = 0), it will be unchanged.

    Returns: | A reference to this object.

  inline virtual HPS::Type `ObjectType`() const

    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.

  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 &`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 &`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 &`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 &`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 &`Set`(MatrixKit const &in_matrix)

    Copies all settings from the source MatrixKit into this object.

    Parameters: | in_matrix – The source MatrixKit to copy.

  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 &`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 &`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 &`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 `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.

  bool `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 `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 `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 `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 `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 `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.

  explicit `TextureMatrixControl`(SegmentKey &in_seg)

    Initializes a control tied to the segment in_seg.

  `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.

  `TextureMatrixControl`(TextureMatrixControl const &in_that)

    Initializes a control tied to the same object as in_that.

  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.

  TextureMatrixControl &`UnsetEverything`()

    Removes all settings from this object.

    Returns: | A reference to this object.

  `~TextureMatrixControl`()

    Releases a reference to the database object this control is tied to.

  Public Static Attributes

  static const HPS::Type `staticType` = HPS::Type::TextureMatrixControl

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize Desktop in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize Desktop?
What are the latest release notes for HOOPS Visualize Desktop?
How do I start evaluating HOOPS Visualize Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...