Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::MatrixKit Class Reference

The MatrixKit class is a user space object, useful for carrying a group attribute settings. More...

#include <hps.h>

Inheritance diagram for HPS::MatrixKit:
Collaboration diagram for HPS::MatrixKit:

Public Member Functions

 MatrixKit ()
 Initializes an identity matrix. More...
 
 MatrixKit (MatrixKit const &in_kit)
 The copy constructor creates a new MatrixKit object that contains the same settings as the source object. More...
 
 MatrixKit (MatrixKit &&in_that)
 The move constructor creates a MatrixKit by transferring the underlying impl of the rvalue reference to this MatrixKit thereby avoiding a copy and allocation. More...
 
MatrixKitoperator= (MatrixKit &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this MatrixKit thereby avoiding a copy. More...
 
 MatrixKit (FloatArray const &in_matrix_source)
 This constructor allows implicit construction from an array of floats. More...
 
 MatrixKit (float const in_matrix_source [])
 This constructor allows implicit construction from an array of floats. More...
 
 MatrixKit (Quaternion const &in_quaternion)
 This constructor allows implicit construction from a quaternion. More...
 
virtual ~MatrixKit ()
 Destroy this kit. More...
 
HPS::Type ObjectType () const
 
void Set (MatrixKit const &in_kit)
 Copies all settings from the source MatrixKit into this object. More...
 
void Show (MatrixKit &out_kit) const
 Copies all settings from this MatrixKit into the given MatrixKit. More...
 
MatrixKitoperator= (MatrixKit const &in_kit)
 Copies the source MatrixKit into this object. More...
 
bool Empty () const
 Indicates whether this object has any values set on it. More...
 
bool Equals (MatrixKit const &in_kit) const
 Check if the source MatrixKit is equivalent to this object. More...
 
bool operator== (MatrixKit const &in_kit) const
 Check if the source MatrixKit is equivalent to this object. More...
 
bool operator!= (MatrixKit const &in_kit) const
 Check if the source MatrixKit is not equivalent to this object. More...
 
MatrixKitSetElement (size_t in_row, size_t in_column, float in_value)
 Sets a single matrix element. More...
 
MatrixKitSetElement (size_t in_ordinal_zero_to_fifteen, float in_value)
 Sets a single matrix element, indexed as a linear array in row-major order. More...
 
MatrixKitSetElements (FloatArray const &in_values)
 Sets some or all elements in the matrix from an array, starting with the first element. More...
 
MatrixKitSetElements (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. More...
 
MatrixKitUnsetEverything ()
 Sets this kit to an identity matrix. More...
 
bool ShowElement (size_t in_row, size_t in_column, float &out_value) const
 Shows a single matrix element. More...
 
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. More...
 
bool ShowElements (FloatArray &out_matrix) const
 Shows all elements of this matrix as an array. More...
 
bool ShowElements (float out_matrix[]) const
 Shows all elements of this matrix as an array. More...
 
bool ShowDeterminant (float &out_determinant) const
 Computes the matrix determinant of this matrix. More...
 
bool ShowInverse (MatrixKit &out_matrix) const
 Computes the matrix inverse of this matrix. More...
 
bool ShowAdjoint (MatrixKit &out_matrix) const
 Computes the matrix adjoint of this matrix. More...
 
MatrixKitRotate (float in_x, float in_y, float in_z)
 Concatenates a rotation matrix to this matrix with rotation around the primary axes. More...
 
MatrixKitRotateOffAxis (Vector const &in_vector, float in_theta)
 Concatenates a rotation matrix to this matrix with rotation around an arbitrary vector. More...
 
MatrixKitTranslate (float in_x, float in_y, float in_z)
 Concatenates a translation matrix to this matrix that moves geometry. More...
 
MatrixKitTranslate (Vector const &in_translation)
 Concatenates a translation matrix to this matrix that moves geometry. More...
 
MatrixKitScale (float in_x, float in_y, float in_z)
 Concatenates a scale matrix to this matrix that represents a uniform scaling of the scene. More...
 
MatrixKitConcatenate (MatrixKit const &in_kit)
 Replaces this matrix with the matrix product of itself multiplied by another matrix. More...
 
MatrixKitNormalize ()
 Divides this matrix by its determinant. More...
 
MatrixKitInvert ()
 Replaces this matrix with it's matrix inverse. More...
 
MatrixKitAdjoint ()
 Replaces this matrix with it's matrix adjoint. More...
 
MatrixKit Multiply (MatrixKit const &in_right) const
 Performs a matrix multiplication with this object as the left operand. More...
 
MatrixKit const & MultiplyAndAssign (MatrixKit const &in_right)
 Performs a matrix multiplication with this object as the left operand and then assigns it to this object. More...
 
MatrixKit Multiply (float in_scalar) const
 Performs a scalar multiplication of this matrix. More...
 
MatrixKit const & MultiplyAndAssign (float in_scalar)
 Performs a scalar multiplication of this matrix and then assigns it to this object. More...
 
MatrixKit operator* (MatrixKit const &in_right) const
 Performs a matrix multiplication with this object as the left operand. More...
 
MatrixKit const & operator*= (MatrixKit const &in_right)
 Performs a matrix multiplication with this object as the left operand and then assigns it to this object. More...
 
MatrixKit operator* (float in_scalar) const
 Performs a scalar multiplication of this matrix. More...
 
MatrixKit const & operator*= (float in_scalar)
 Performs a scalar multiplication of this matrix and then assigns it to this object. More...
 
Point Transform (Point const &in_source) const
 Transform a point through this matrix. More...
 
PointArray Transform (PointArray const &in_source) const
 Transform an array of points through this matrix. More...
 
PointArray Transform (size_t in_count, Point const in_source []) const
 Transform an array of points through this matrix. More...
 
Vector Transform (Vector const &in_source) const
 Transform a vector through this matrix. More...
 
VectorArray Transform (VectorArray const &in_source) const
 Transform an array of vectors through this matrix. More...
 
VectorArray Transform (size_t in_count, Vector const in_source []) const
 Transform an array of vectors through this matrix. More...
 
Plane Transform (Plane const &in_source) const
 Transform a plane through this matrix. More...
 
PlaneArray Transform (PlaneArray const &in_source) const
 Transform an array of planes through this matrix. More...
 
PlaneArray Transform (size_t in_count, Plane const in_source []) const
 Transform an array of planes through this matrix. More...
 
SimpleCuboid Transform (SimpleCuboid const &in_source) const
 Transform a SimpleCuboid through this matrix. More...
 
SimpleSphere Transform (SimpleSphere const &in_source) const
 Transform a SimpleSphere through this matrix. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

static MatrixKit GetDefault ()
 Creates a MatrixKit representing the identity matrix. More...
 
template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::MatrixKit
 

Detailed Description

The MatrixKit class is a user space object, useful for carrying a group attribute settings.

Constructor & Destructor Documentation

◆ MatrixKit() [1/6]

HPS::MatrixKit::MatrixKit ( )

Initializes an identity matrix.

◆ MatrixKit() [2/6]

HPS::MatrixKit::MatrixKit ( MatrixKit const &  in_kit)

The copy constructor creates a new MatrixKit object that contains the same settings as the source object.

Parameters
in_kitThe source object to copy.

◆ MatrixKit() [3/6]

HPS::MatrixKit::MatrixKit ( MatrixKit &&  in_that)

The move constructor creates a MatrixKit by transferring the underlying impl of the rvalue reference to this MatrixKit thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to a MatrixKit to take the impl from.

◆ MatrixKit() [4/6]

HPS::MatrixKit::MatrixKit ( FloatArray const &  in_matrix_source)

This constructor allows implicit construction from an array of floats.

Parameters
in_matrix_sourceAn array of floats that will be used to construct a new matrix. If this array is not at least 16 elements in length, only the valid members will be used, leaving the remainder initialized as the identity matrix.

◆ MatrixKit() [5/6]

HPS::MatrixKit::MatrixKit ( float const  in_matrix_source[])

This constructor allows implicit construction from an array of floats.

Parameters
in_matrix_sourceAn array of floats that will be used to construct a new matrix. This array is assumed to be at least 16 elements in length. If it is not, the behavior is undefined.

◆ MatrixKit() [6/6]

HPS::MatrixKit::MatrixKit ( Quaternion const &  in_quaternion)

This constructor allows implicit construction from a quaternion.

Parameters
in_quaternionA quaternion used to construct a new matrix.

◆ ~MatrixKit()

virtual HPS::MatrixKit::~MatrixKit ( )
virtual

Destroy this kit.

Member Function Documentation

◆ Adjoint()

MatrixKit& HPS::MatrixKit::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.

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ Concatenate()

MatrixKit& HPS::MatrixKit::Concatenate ( MatrixKit const &  in_kit)

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.

◆ Empty()

bool HPS::MatrixKit::Empty ( ) const
virtual

Indicates whether this object has any values set on it.

Returns
true if no values are set on this object, false otherwise.

Reimplemented from HPS::Object.

◆ Equals()

bool HPS::MatrixKit::Equals ( MatrixKit const &  in_kit) const

Check if the source MatrixKit is equivalent to this object.

Parameters
in_kitThe source MatrixKit to compare to this object.
Returns
true if the objects are equivalent, false otherwise.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetDefault()

static MatrixKit HPS::MatrixKit::GetDefault ( )
static

Creates a MatrixKit representing the identity matrix.

Returns
An identity MatrixKit.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ Invert()

MatrixKit& HPS::MatrixKit::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.

◆ Multiply() [1/2]

MatrixKit HPS::MatrixKit::Multiply ( MatrixKit const &  in_right) const

Performs a matrix multiplication with this object as the left operand.

Parameters
in_rightA matrix used as the right operand of a matrix multiplication.
Returns
A new MatrixKit representing the product.

◆ Multiply() [2/2]

MatrixKit HPS::MatrixKit::Multiply ( float  in_scalar) const

Performs a scalar multiplication of this matrix.

Parameters
in_scalarA scalar to multiply this object by.
Returns
A new MatrixKit representing the product.

◆ MultiplyAndAssign() [1/2]

MatrixKit const& HPS::MatrixKit::MultiplyAndAssign ( MatrixKit const &  in_right)

Performs a matrix multiplication with this object as the left operand and then assigns it to this object.

Parameters
in_rightA matrix used as the right operand of a matrix multiplication.
Returns
A reference to this object after the multiplication.

◆ MultiplyAndAssign() [2/2]

MatrixKit const& HPS::MatrixKit::MultiplyAndAssign ( float  in_scalar)

Performs a scalar multiplication of this matrix and then assigns it to this object.

Parameters
in_scalarA scalar to multiply this object by.
Returns
A reference to this object after the multiplication.

◆ Normalize()

MatrixKit& HPS::MatrixKit::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::MatrixKit::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Kit.

Here is the call graph for this function:

◆ operator!=()

bool HPS::MatrixKit::operator!= ( MatrixKit const &  in_kit) const

Check if the source MatrixKit is not equivalent to this object.

Parameters
in_kitThe source MatrixKit to compare to this object.
Returns
true if the objects are not equivalent, false otherwise.

◆ operator*() [1/2]

MatrixKit HPS::MatrixKit::operator* ( MatrixKit const &  in_right) const

Performs a matrix multiplication with this object as the left operand.

Parameters
in_rightA matrix used as the right operand of a matrix multiplication.
Returns
A new MatrixKit representing the product.

◆ operator*() [2/2]

MatrixKit HPS::MatrixKit::operator* ( float  in_scalar) const

Performs a scalar multiplication of this matrix.

Parameters
in_scalarA scalar to multiply this object by.
Returns
A new MatrixKit representing the product.

◆ operator*=() [1/2]

MatrixKit const& HPS::MatrixKit::operator*= ( MatrixKit const &  in_right)

Performs a matrix multiplication with this object as the left operand and then assigns it to this object.

Parameters
in_rightA matrix used as the right operand of a matrix multiplication.
Returns
A reference to this object after the multiplication.

◆ operator*=() [2/2]

MatrixKit const& HPS::MatrixKit::operator*= ( float  in_scalar)

Performs a scalar multiplication of this matrix and then assigns it to this object.

Parameters
in_scalarA scalar to multiply this object by.
Returns
A reference to this object after the multiplication.

◆ operator=() [1/2]

MatrixKit& HPS::MatrixKit::operator= ( MatrixKit &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this MatrixKit thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to a MatrixKit to take the impl from.
Returns
A reference to this MatrixKit.

◆ operator=() [2/2]

MatrixKit& HPS::MatrixKit::operator= ( MatrixKit const &  in_kit)

Copies the source MatrixKit into this object.

Parameters
in_kitThe source MatrixKit to copy.
Returns
A reference to this object.

◆ operator==()

bool HPS::MatrixKit::operator== ( MatrixKit const &  in_kit) const

Check if the source MatrixKit is equivalent to this object.

Parameters
in_kitThe source MatrixKit to compare to this object.
Returns
true if the objects are equivalent, false otherwise.

◆ Reset()

◆ Rotate()

MatrixKit& HPS::MatrixKit::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_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()

MatrixKit& HPS::MatrixKit::RotateOffAxis ( Vector const &  in_vector,
float  in_theta 
)

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

MatrixKit& HPS::MatrixKit::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_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()

void HPS::MatrixKit::Set ( MatrixKit const &  in_kit)

Copies all settings from the source MatrixKit into this object.

Parameters
in_kitThe source MatrixKit to copy.

◆ SetElement() [1/2]

MatrixKit& HPS::MatrixKit::SetElement ( size_t  in_row,
size_t  in_column,
float  in_value 
)

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]

MatrixKit& HPS::MatrixKit::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_fifteenThe offset into the matrix. Valid range is [0, 15].
in_valueThe matrix element.
Returns
A reference to this object.

◆ SetElements() [1/2]

MatrixKit& HPS::MatrixKit::SetElements ( FloatArray const &  in_values)

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.

◆ SetElements() [2/2]

MatrixKit& HPS::MatrixKit::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_countthe number of elements in the input array. Valid range is [0, 16].
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()

void HPS::MatrixKit::Show ( MatrixKit out_kit) const

Copies all settings from this MatrixKit into the given MatrixKit.

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

◆ ShowAdjoint()

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

◆ ShowDeterminant()

bool HPS::MatrixKit::ShowDeterminant ( float &  out_determinant) const

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::MatrixKit::ShowElement ( size_t  in_row,
size_t  in_column,
float &  out_value 
) const

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::MatrixKit::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_fifteenThe offset into the matrix. Valid range is [0, 15].
out_valueThe matrix element.
Returns
true if the setting is valid, false otherwise.

◆ ShowElements() [1/2]

bool HPS::MatrixKit::ShowElements ( FloatArray out_matrix) const

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.

◆ ShowElements() [2/2]

bool HPS::MatrixKit::ShowElements ( float  out_matrix[]) const

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::MatrixKit::ShowInverse ( MatrixKit out_matrix) const

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.

◆ Transform() [1/11]

Point HPS::MatrixKit::Transform ( Point const &  in_source) const

Transform a point through this matrix.

Parameters
in_sourceThe point to apply a transformation to.
Returns
A new point representing the transformed point.

◆ Transform() [2/11]

PointArray HPS::MatrixKit::Transform ( PointArray const &  in_source) const

Transform an array of points through this matrix.

Parameters
in_sourceAn array of points to apply a transformation to.
Returns
A new point array representing the transformed points.

◆ Transform() [3/11]

PointArray HPS::MatrixKit::Transform ( size_t  in_count,
Point const  in_source[] 
) const

Transform an array of points through this matrix.

Parameters
in_countThe number of elements in the source array.
in_sourceAn array of points to apply a transformation to.
Returns
A new point array representing the transformed points.

◆ Transform() [4/11]

Vector HPS::MatrixKit::Transform ( Vector const &  in_source) const

Transform a vector through this matrix.

Parameters
in_sourceThe vector to apply a transformation to.
Returns
A new vector representing the transformed vector.

◆ Transform() [5/11]

VectorArray HPS::MatrixKit::Transform ( VectorArray const &  in_source) const

Transform an array of vectors through this matrix.

Parameters
in_sourceAn array of vectors to apply a transformation to.
Returns
A new vector array representing the transformed vectors.

◆ Transform() [6/11]

VectorArray HPS::MatrixKit::Transform ( size_t  in_count,
Vector const  in_source[] 
) const

Transform an array of vectors through this matrix.

Parameters
in_countThe number of elements in the source array.
in_sourceAn array of vectors to apply a transformation to.
Returns
A new vector array representing the transformed vectors.

◆ Transform() [7/11]

Plane HPS::MatrixKit::Transform ( Plane const &  in_source) const

Transform a plane through this matrix.

Parameters
in_sourceThe plane to apply a transformation to.
Returns
A new plane representing the transformed plane.

◆ Transform() [8/11]

PlaneArray HPS::MatrixKit::Transform ( PlaneArray const &  in_source) const

Transform an array of planes through this matrix.

Parameters
in_sourceAn array of planes to apply a transformation to.
Returns
A new plane array representing the transformed planes.

◆ Transform() [9/11]

PlaneArray HPS::MatrixKit::Transform ( size_t  in_count,
Plane const  in_source[] 
) const

Transform an array of planes through this matrix.

Parameters
in_countThe number of elements in the source array.
in_sourceAn array of planes to apply a transformation to.
Returns
A new plane array representing the transformed planes.

◆ Transform() [10/11]

SimpleCuboid HPS::MatrixKit::Transform ( SimpleCuboid const &  in_source) const

Transform a SimpleCuboid through this matrix.

Parameters
in_sourceThe cuboid to apply a transformation to.
Returns
A new SimpleCuboid representing the transformed cuboid.

◆ Transform() [11/11]

SimpleSphere HPS::MatrixKit::Transform ( SimpleSphere const &  in_source) const

Transform a SimpleSphere through this matrix.

Parameters
in_sourceThe sphere to apply a transformation to.
Returns
A new SimpleSphere representing the transformed sphere.

◆ Translate() [1/2]

MatrixKit& HPS::MatrixKit::Translate ( float  in_x,
float  in_y,
float  in_z 
)

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.

◆ Translate() [2/2]

MatrixKit& HPS::MatrixKit::Translate ( Vector const &  in_translation)

Concatenates a translation matrix to this matrix that moves geometry.

Parameters
in_translationA vector distance to translate by.
Returns
A reference to this object.

◆ Type()

virtual HPS::Type HPS::Kit::Type ( ) const
inlinevirtualinherited

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::Object.

◆ UnsetEverything()

MatrixKit& HPS::MatrixKit::UnsetEverything ( )

Sets this kit to an identity matrix.

Returns
A reference to this kit.

Member Data Documentation

◆ staticType

const HPS::Type HPS::MatrixKit::staticType = HPS::Type::MatrixKit
static

The documentation for this class was generated from the following file: