AGX Dynamics 2.42.3.0
Loading...
Searching...
No Matches
agx::AddedMassInteraction::Matrix6x6 Class Reference

6x6 matrix class with blockwise interface to get or set 3x3 matrices: [ M(0, 0) M(0, 1) ] [ M(1, 0) M(1, 1) ] More...

#include <AddedMassInteraction.h>

Public Member Functions

 Matrix6x6 ()
 Default constructor, sets all elements to 0.
 
 Matrix6x6 (const Matrix6x6 &other)
 Copy constructor.
 
agx::Real & at (size_t i, size_t j)
 
const agx::Real & at (size_t i, size_t j) const
 
agx::Matrix3x3 block (size_t i, size_t j) const
 
void block (size_t i, size_t j, const agx::Matrix3x3 &matrix)
 
void multiply (const agx::Vec3 v1, const agx::Vec3 v2, agx::Real *result) const
 Performs result += M * [v1] [v2].
 
agx::Real & operator() (size_t i, size_t j)
 
agx::Real operator() (size_t i, size_t j) const
 
Matrix6x6 & operator= (const Matrix6x6 &other)
 Assignment operator.
 
agx::Real * operator[] (size_t i)
 
const agx::Real * operator[] (size_t i) const
 
void reset ()
 Resets all values to zero.
 
void restore (agxStream::InputArchive &in)
 Internal.
 
void set (size_t i, size_t j, agx::Real value)
 
void store (agxStream::OutputArchive &out) const
 Internal.
 
Matrix6x6 transform (const agx::Matrix3x3 &left, const agx::Matrix3x3 &right) const
 Returns a transformed version of this matrix: [ left M(0, 0) right left M(0, 1) right ] [ left M(1, 0) right left M(1, 1) right ].
 
Matrix6x6 transposed () const
 

Detailed Description

6x6 matrix class with blockwise interface to get or set 3x3 matrices: [ M(0, 0) M(0, 1) ] [ M(1, 0) M(1, 1) ]

Definition at line 47 of file AddedMassInteraction.h.

Constructor & Destructor Documentation

◆ Matrix6x6() [1/2]

agx::AddedMassInteraction::Matrix6x6::Matrix6x6 ( )

Default constructor, sets all elements to 0.

◆ Matrix6x6() [2/2]

agx::AddedMassInteraction::Matrix6x6::Matrix6x6 ( const Matrix6x6 &  other)

Copy constructor.

Member Function Documentation

◆ at() [1/2]

Real & agx::AddedMassInteraction::Matrix6x6::at ( size_t  i,
size_t  j 
)
Parameters
i- row to access
j- column to access
Returns
element at row i and column j

Definition at line 415 of file AddedMassInteraction.h.

References agxAssert.

◆ at() [2/2]

const Real & agx::AddedMassInteraction::Matrix6x6::at ( size_t  i,
size_t  j 
) const
Parameters
i- row to access
j- column to access
Returns
element at row i and column j

Definition at line 401 of file AddedMassInteraction.h.

References agxAssert.

◆ block() [1/2]

agx::Matrix3x3 agx::AddedMassInteraction::Matrix6x6::block ( size_t  i,
size_t  j 
) const
Parameters
i- block row index
j- block column index
Note
Changing the values of the returned 3x3 block wont affect this matrix.
Returns
the values of block row i and block row j (i < 2 and j < 2)

◆ block() [2/2]

void agx::AddedMassInteraction::Matrix6x6::block ( size_t  i,
size_t  j,
const agx::Matrix3x3 &  matrix 
)
Parameters
i- block row index
j- block column index
Note
Changing the values of the returned 3x3 block wont affect this matrix.
Returns
the values of block row i and block row j (i < 2 and j < 2)

◆ multiply()

void agx::AddedMassInteraction::Matrix6x6::multiply ( const agx::Vec3  v1,
const agx::Vec3  v2,
agx::Real *  result 
) const

Performs result += M * [v1] [v2].

◆ operator()() [1/2]

Real & agx::AddedMassInteraction::Matrix6x6::operator() ( size_t  i,
size_t  j 
)
Parameters
i- row to access
j- column to access
Returns
reference to element at row i and column j

Definition at line 395 of file AddedMassInteraction.h.

References agxAssert.

◆ operator()() [2/2]

Real agx::AddedMassInteraction::Matrix6x6::operator() ( size_t  i,
size_t  j 
) const
Parameters
i- row to access
j- column to access
Returns
element at row i and column j

Definition at line 389 of file AddedMassInteraction.h.

References agxAssert.

◆ operator=()

Matrix6x6 & agx::AddedMassInteraction::Matrix6x6::operator= ( const Matrix6x6 &  other)

Assignment operator.

Returns
this

◆ operator[]() [1/2]

Real * agx::AddedMassInteraction::Matrix6x6::operator[] ( size_t  i)
Parameters
i- row to access
Note
Debug bounds check for row only.
See also
at( size_t i, size_t j )
Returns
row i of this 6x6 matrix (i < 6)

Definition at line 383 of file AddedMassInteraction.h.

References agxAssert.

◆ operator[]() [2/2]

const Real * agx::AddedMassInteraction::Matrix6x6::operator[] ( size_t  i) const
Parameters
i- row to access
Note
Debug bounds check for row only.
See also
at( size_t i, size_t j )
Returns
row i of this 6x6 matrix (i < 6)

Definition at line 377 of file AddedMassInteraction.h.

References agxAssert.

◆ reset()

void agx::AddedMassInteraction::Matrix6x6::reset ( )

Resets all values to zero.

◆ restore()

void agx::AddedMassInteraction::Matrix6x6::restore ( agxStream::InputArchive &  in)

Internal.

Restore this object.

◆ set()

void agx::AddedMassInteraction::Matrix6x6::set ( size_t  i,
size_t  j,
agx::Real  value 
)
Parameters
i- row to access
j- column to access
value- The new value for i,j
Returns
element at row i and column j

Definition at line 407 of file AddedMassInteraction.h.

References agxAssert.

◆ store()

void agx::AddedMassInteraction::Matrix6x6::store ( agxStream::OutputArchive &  out) const

Internal.

Store this object.

◆ transform()

Matrix6x6 agx::AddedMassInteraction::Matrix6x6::transform ( const agx::Matrix3x3 &  left,
const agx::Matrix3x3 &  right 
) const

Returns a transformed version of this matrix: [ left M(0, 0) right left M(0, 1) right ] [ left M(1, 0) right left M(1, 1) right ].

Parameters
left- 3x3 matrix to multiply each block from the left
right- 3x3 matrix to multiply each block from the right
Returns
transformed version of this matrix

◆ transposed()

Matrix6x6 agx::AddedMassInteraction::Matrix6x6::transposed ( ) const
Returns
the transpose of this matrix

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