Workspace 6.21.5
Public Member Functions | List of all members
Matrix3x3Group Class Reference

Object group containing a 3x3 matrix of floating point numbers. More...

#include <Mesh/Geometry/matrix3x3group.h>

Inheritance diagram for Matrix3x3Group:
[legend]

Public Member Functions

 Matrix3x3Group ()
 
 Matrix3x3Group (const double m[])
 
 Matrix3x3Group (const Matrix3x3 &m)
 
 Matrix3x3Group (const Matrix3x3Group &m)
 
 Matrix3x3Group (double d00, double d01, double d02, double d10, double d11, double d12, double d20, double d21, double d22)
 
 ~Matrix3x3Group () override
 
bool canSerialize () const override
 
Matrix3x3Groupclone () const override
 
bool load (const DataExecution::SerializedItem &item) override
 
 operator Matrix3x3 () const
 
double & operator() (int i, int j)
 
double operator() (int i, int j) const
 
Matrix3x3Groupoperator= (const Matrix3x3Group &m)
 
bool operator== (const Matrix3x3Group &m) const
 
bool save (DataExecution::SerializedItem &item) const override
 
- Public Member Functions inherited from Clonable
virtual ~Clonable ()=default
 
virtual Clonableclone () const =0
 
- Public Member Functions inherited from Serialize
virtual ~Serialize ()=default
 
virtual bool canSerialize () const =0
 
virtual bool load (const SerializedItem &item)=0
 
virtual bool save (SerializedItem &item) const =0
 

Detailed Description

This class is meant to hold a 3x3 matrix. It would not be suitable for heavy-duty computation, but it has a conversion to Matrix3x3 which would be more suitable for that purpose.

Constructor & Destructor Documentation

◆ Matrix3x3Group() [1/5]

◆ Matrix3x3Group() [2/5]

◆ Matrix3x3Group() [3/5]

Matrix3x3Group ( double  d00,
double  d01,
double  d02,
double  d10,
double  d11,
double  d12,
double  d20,
double  d21,
double  d22 
)

◆ Matrix3x3Group() [4/5]

Matrix3x3Group ( const Matrix3x3 m)

◆ Matrix3x3Group() [5/5]

Matrix3x3Group ( const double  m[])

◆ ~Matrix3x3Group()

~Matrix3x3Group ( )
override

Member Function Documentation

◆ canSerialize()

bool canSerialize ( ) const
overridevirtual
Returns
True if this object can be serialized.

For objects that can be serialized, the save and load functions will be used to do the serialization. If this function returns false, both load() and save() must also return false.

Implements Serialize.

◆ clone()

Matrix3x3Group * clone ( ) const
overridevirtual
Returns
A clone of this object.
Note
Subclasses would normally return their own type rather than the Clonable type. The C++ language rules allow a more derived type to be returned from a virtual function and the compiler will still treat it as a valid override.

Implements Clonable.

◆ load()

bool load ( const DataExecution::SerializedItem item)
overridevirtual
Parameters
itemSupplies the state to be loaded into this object.

This function will load the state of this object from item. For many object types, this is most easily implemented in terms of the object's input operator (>>).

It would be reasonable for subclass implementations to assume that the data provided in item is in the same form as would have been saved from a call to save.

Returns
If the state of the object could not be loaded, the function returns false. A return value of true implies that the object state was successfully loaded. If canSerialize() returns false, this function must do nothing except return false as well.

Implements Serialize.

◆ operator Matrix3x3()

operator Matrix3x3 ( ) const

◆ operator()() [1/2]

double & operator() ( int  i,
int  j 
)

◆ operator()() [2/2]

double operator() ( int  i,
int  j 
) const

◆ operator=()

Matrix3x3Group & operator= ( const Matrix3x3Group m)

◆ operator==()

bool operator== ( const Matrix3x3Group m) const

◆ save()

bool save ( DataExecution::SerializedItem item) const
overridevirtual
Parameters
itemWhere to save the state of this object.

This function will serialise the object by saving it to item. For most object types, this is most easily implemented in terms of the object's output operator (<<).

It is allowable for an object to only serialize part of itself. This would be useful if the data it represents has a set of defaults and only those values different to the defaults need to be serialized. Such an implementation then needs to be careful how it handles the complimentary load member function.

Returns
If an object could not be serialised or if the underlying object type does not support serialisation, this function should return false. A return value of true implies that the object was successfully saved to item. If canSerialize() returns false, this function must do nothing except return false as well.

Implements Serialize.