# 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

Hello I'm HOOPSY!

HOOPSY BETA

Hello I am HOOPSY! your Docs generative AI assistant.

Ask me anything about HOOPS Visualize HPS or choose a sample question below to start a conversation:

Additional info

HOOPSY may store chats to provide and maintain the service according to OpenAI's data policy.

This feature is currently experimental. While we are continually enhancing its performance and quality, the underlying AI model may generate inaccurate or fabricated responses, especially if prompted to do so.

New Conversation
Continue generating