HPS.TextureMatrixControl Class Reference
Inheritance diagram for HPS.TextureMatrixControl:
HPS.Control HPS.Object

Public Member Functions

HPS.TextureMatrixControl Adjoint ()
 
HPS.TextureMatrixControl Concatenate (HPS.MatrixKit in_kit)
 
override void Dispose ()
 
HPS.TextureMatrixControl Invert ()
 
HPS.TextureMatrixControl Normalize ()
 
override HPS.Type ObjectType ()
 
HPS.TextureMatrixControl Rotate (float in_x, float in_y, float in_z)
 
HPS.TextureMatrixControl RotateOffAxis (HPS.Vector in_vector, float in_theta)
 
HPS.TextureMatrixControl Scale (float in_x, float in_y, float in_z)
 
HPS.TextureMatrixControl Set (HPS.MatrixKit in_matrix)
 
HPS.TextureMatrixControl SetElement (ulong in_row, ulong in_column, float in_value)
 
HPS.TextureMatrixControl SetElement (ulong in_ordinal_zero_to_fifteen, float in_value)
 
HPS.TextureMatrixControl SetElements (float[] in_values)
 
bool Show (out HPS.MatrixKit out_matrix)
 
bool ShowAdjoint (out HPS.MatrixKit out_matrix)
 
bool ShowDeterminant (out float out_determinant)
 
bool ShowElement (ulong in_row, ulong in_column, out float out_value)
 
bool ShowElement (ulong in_ordinal_zero_to_fifteen, out float out_value)
 
bool ShowElements (out float[] out_matrix)
 
bool ShowInverse (out HPS.MatrixKit out_matrix)
 
 TextureMatrixControl (HPS.SegmentKey in_seg)
 
 TextureMatrixControl (HPS.TextureMatrixControl in_that)
 
HPS.TextureMatrixControl Translate (float in_x, float in_y, float in_z)
 
override HPS.Type Type ()
 
HPS.TextureMatrixControl UnsetEverything ()
 
- Public Member Functions inherited from HPS.Control
 Control (HPS.Control in_that)
 
- Public Member Functions inherited from HPS.Object
virtual bool Empty ()
 
IntPtr GetClassID ()
 
IntPtr GetInstanceID ()
 
bool HasType (HPS.Type in_mask)
 
 Object (HPS.Object that)
 
virtual void Reset ()
 

Protected Member Functions

override void deleteCptr ()
 
- Protected Member Functions inherited from HPS.Object
virtual IntPtr GetNonDirectorClassID ()
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS.Object
static IntPtr ClassID< T > ()
 
- Protected Attributes inherited from HPS.Object
bool cMemOwn
 
HandleRef cptr
 

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

◆ TextureMatrixControl() [1/2]

HPS.TextureMatrixControl.TextureMatrixControl ( HPS.SegmentKey  in_seg)
inline

Initializes a control tied to the segment in_seg.

◆ TextureMatrixControl() [2/2]

HPS.TextureMatrixControl.TextureMatrixControl ( HPS.TextureMatrixControl  in_that)
inline

Initializes a control tied to the same object as in_that.

Member Function Documentation

◆ Adjoint()

HPS.TextureMatrixControl HPS.TextureMatrixControl.Adjoint ( )
inline

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()

HPS.TextureMatrixControl HPS.TextureMatrixControl.Concatenate ( HPS.MatrixKit  in_kit)
inline

Replaces this matrix with the matrix product of itself multiplied by another matrix.

Parameters
in_kitthe right side operand of the matrix multiplication.
Returns
A reference to this object.

◆ Invert()

HPS.TextureMatrixControl HPS.TextureMatrixControl.Invert ( )
inline

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()

HPS.TextureMatrixControl HPS.TextureMatrixControl.Normalize ( )
inline

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

Returns
A reference to this object.

◆ ObjectType()

override HPS.Type HPS.TextureMatrixControl.ObjectType ( )
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.

◆ Rotate()

HPS.TextureMatrixControl HPS.TextureMatrixControl.Rotate ( float  in_x,
float  in_y,
float  in_z 
)
inline

Concatenates a rotation matrix to this matrix with rotation around the primary axes.

Parameters
in_xThe number of degrees to rotate around the x-axis.
in_yThe number of degrees to rotate around the y-axis.
in_zThe number of degrees to rotate around the z-axis.
Returns
A reference to this object.

◆ RotateOffAxis()

HPS.TextureMatrixControl HPS.TextureMatrixControl.RotateOffAxis ( HPS.Vector  in_vector,
float  in_theta 
)
inline

Concatenates a rotation matrix to this matrix with rotation around an arbitrary vector.

Parameters
in_vectorThe vector to rotate around.
in_thetathe number of degrees to rotate around the specified vector
Returns
A reference to this object.

◆ Scale()

HPS.TextureMatrixControl HPS.TextureMatrixControl.Scale ( float  in_x,
float  in_y,
float  in_z 
)
inline

Concatenates a scale matrix to this matrix that represents a uniform scaling of the scene.

Parameters
in_xThe scale multiplier along the x-axis.
in_yThe scale multiplier along the y-axis.
in_zThe scale multiplier along the z-axis.
Returns
A reference to this object.

◆ Set()

HPS.TextureMatrixControl HPS.TextureMatrixControl.Set ( HPS.MatrixKit  in_matrix)
inline

Copies all settings from the source MatrixKit into this object.

Parameters
in_matrixThe source MatrixKit to copy.

◆ SetElement() [1/2]

HPS.TextureMatrixControl HPS.TextureMatrixControl.SetElement ( ulong  in_row,
ulong  in_column,
float  in_value 
)
inline

Sets a single matrix element.

Parameters
in_rowThe row index. Valid range is [0, 3].
in_columnThe column index. Valid range is [0, 3].
in_valueThe matrix element.
Returns
A reference to this object.

◆ SetElement() [2/2]

HPS.TextureMatrixControl HPS.TextureMatrixControl.SetElement ( ulong  in_ordinal_zero_to_fifteen,
float  in_value 
)
inline

Sets a single matrix element, indexed as a linear array in row-major order.

Parameters
in_ordinal_zero_to_fifteenThe offset into the matrix. Valid range is [0, 15].
in_valueThe matrix element.
Returns
A reference to this object.

◆ SetElements()

HPS.TextureMatrixControl HPS.TextureMatrixControl.SetElements ( float []  in_values)
inline

Sets some or all elements in the matrix from an array, starting with the first element.

Parameters
in_valuesAn 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.TextureMatrixControl.Show ( out HPS.MatrixKit  out_matrix)
inline

Copies all settings from this control into the given MatrixKit.

Parameters
out_matrixThe MatrixKit to populate with the contents of this object.

◆ ShowAdjoint()

bool HPS.TextureMatrixControl.ShowAdjoint ( out HPS.MatrixKit  out_matrix)
inline

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_matrixThe matrix adjoint of this matrix.
Returns
true if the setting is valid, false otherwise.

◆ ShowDeterminant()

bool HPS.TextureMatrixControl.ShowDeterminant ( out float  out_determinant)
inline

Computes the matrix determinant of this matrix.

Parameters
out_determinantThe matrix determinant.
Returns
true if the setting is valid, false otherwise.

◆ ShowElement() [1/2]

bool HPS.TextureMatrixControl.ShowElement ( ulong  in_row,
ulong  in_column,
out float  out_value 
)
inline

Shows a single matrix element.

Parameters
in_rowThe row index. Valid range is [0, 3].
in_columnThe column index. Valid range is [0, 3].
out_valueThe matrix element.
Returns
true if the setting is valid, false otherwise.

◆ ShowElement() [2/2]

bool HPS.TextureMatrixControl.ShowElement ( ulong  in_ordinal_zero_to_fifteen,
out float  out_value 
)
inline

Shows a single matrix element, indexed as a linear array in row-major order.

Parameters
in_ordinal_zero_to_fifteenThe offset into the matrix. Valid range is [0, 15].
out_valueThe matrix element.
Returns
true if the setting is valid, false otherwise.

◆ ShowElements()

bool HPS.TextureMatrixControl.ShowElements ( out float []  out_matrix)
inline

Shows all elements of this matrix as an array.

Parameters
out_matrixThe 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.TextureMatrixControl.ShowInverse ( out HPS.MatrixKit  out_matrix)
inline

Computes the matrix inverse of this matrix. Fails if this matrix is singular (determinant = 0).

Parameters
out_matrixThe matrix inverse of this matrix.
Returns
true if the setting is valid, false otherwise.

◆ Translate()

HPS.TextureMatrixControl HPS.TextureMatrixControl.Translate ( float  in_x,
float  in_y,
float  in_z 
)
inline

Concatenates a translation matrix to this matrix that moves geometry.

Parameters
in_xThe number of units to translate along the x-axis.
in_yThe number of units to translate along the y-axis.
in_zThe number of units to translate along the z-axis.
Returns
A reference to this object.

◆ Type()

override HPS.Type HPS.TextureMatrixControl.Type ( )
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()

HPS.TextureMatrixControl HPS.TextureMatrixControl.UnsetEverything ( )
inline

Removes all settings from this object.

Returns
A reference to this object.

The documentation for this class was generated from the following file:
  • internals/hps_core/source/cs/HPS.TextureMatrixControl.cs