CompactSpatialTensorT< Cmpt > Class Template Reference

Templated 3D transposed compact spatial tensor derived from MatrixSpace used to represent transformations of spatial vectors of rigid bodies. More...

Inheritance diagram for CompactSpatialTensorT< Cmpt >:
[legend]
Collaboration diagram for CompactSpatialTensorT< Cmpt >:
[legend]

Public Member Functions

 CompactSpatialTensorT ()
 Construct null. More...
 
 CompactSpatialTensorT (const Foam::zero)
 
 CompactSpatialTensorT (const typename CompactSpatialTensorT::msType &)
 Construct given MatrixSpace of the same rank. More...
 
 CompactSpatialTensorT (const Cmpt &t00, const Cmpt &t01, const Cmpt &t02, const Cmpt &t10, const Cmpt &t11, const Cmpt &t12, const Cmpt &t20, const Cmpt &t21, const Cmpt &t22, const Cmpt &t30, const Cmpt &t31, const Cmpt &t32, const Cmpt &t40, const Cmpt &t41, const Cmpt &t42, const Cmpt &t50, const Cmpt &t51, const Cmpt &t52)
 Construct given 18 components. More...
 
 CompactSpatialTensorT (Istream &)
 Construct from Istream. More...
 
- Public Member Functions inherited from MatrixSpace< CompactSpatialTensorT< Cmpt >, Cmpt, 3, 6 >
 MatrixSpace ()=default
 Default construct. More...
 
 MatrixSpace (const Foam::zero)
 Construct initialized to zero. More...
 
 MatrixSpace (const VectorSpace< Form2, Cmpt2, Mrows *Ncols > &)
 Construct as copy of a VectorSpace with the same size. More...
 
 MatrixSpace (const Block2< CompactSpatialTensorT< Cmpt >, BRowStart, BColStart > &block)
 Construct from a block of another matrix space. More...
 
 MatrixSpace (Istream &is)
 Construct from Istream. More...
 
const Cmpt & elmt () const
 Fast const element access using compile-time addressing. More...
 
Cmpt & elmt ()
 Fast element access using compile-time addressing. More...
 
const Cmpt & xx () const
 
Cmpt & xx ()
 
const Cmpt & xy () const
 
Cmpt & xy ()
 
const Cmpt & xz () const
 
Cmpt & xz ()
 
const Cmpt & yx () const
 
Cmpt & yx ()
 
const Cmpt & yy () const
 
Cmpt & yy ()
 
const Cmpt & yz () const
 
Cmpt & yz ()
 
const Cmpt & zx () const
 
Cmpt & zx ()
 
const Cmpt & zy () const
 
Cmpt & zy ()
 
const Cmpt & zz () const
 
Cmpt & zz ()
 
typeOfTranspose< Cmpt, CompactSpatialTensorT< Cmpt > >::type T () const
 Return the transpose of the matrix. More...
 
ConstBlock< SubTensor, BRowStart, BColStart > block () const
 Return a const sub-block corresponding to the specified type. More...
 
Block< SubTensor, BRowStart, BColStart > block ()
 Return a sub-block corresponding to the specified type. More...
 
Foam::MatrixSpace< CompactSpatialTensorT< Cmpt >, Cmpt, Mrows, Ncols >::template ConstBlock< SubTensor, BRowStart, BColStart > block () const
 
Foam::MatrixSpace< CompactSpatialTensorT< Cmpt >, Cmpt, Mrows, Ncols >::template Block< SubTensor, BRowStart, BColStart > block ()
 
const Cmpt & operator() (const direction &i, const direction &j) const
 (i, j) const element access operator More...
 
Cmpt & operator() (const direction &i, const direction &j)
 (i, j) element access operator More...
 
void operator= (const Foam::zero)
 Assignment to zero. More...
 
void operator= (const Block2< CompactSpatialTensorT< Cmpt >, BRowStart, BColStart > &block)
 Assignment to a block of another matrix space. More...
 
void operator&= (const MatrixSpace< CompactSpatialTensorT< Cmpt >, Cmpt, Ncols, Ncols > &matrix)
 Inner product with a compatible square matrix. More...
 
- Public Member Functions inherited from VectorSpace< Form, Cmpt, Ncmpts >
 VectorSpace ()=default
 Default construct. More...
 
 VectorSpace (const Foam::zero)
 Construct initialized to zero. More...
 
 VectorSpace (const VectorSpace< Form, Cmpt, Ncmpts > &vs)
 Copy construct. More...
 
template<class Form2 , class Cmpt2 >
 VectorSpace (const VectorSpace< Form2, Cmpt2, Ncmpts > &)
 Copy construct of a VectorSpace with the same size. More...
 
 VectorSpace (Istream &is)
 Construct from Istream. More...
 
const Cmpt & component (const direction) const
 
Cmpt & component (const direction)
 
void component (Cmpt &, const direction) const
 
void replace (const direction, const Cmpt &)
 
const Cmpt * cdata () const noexcept
 Return const pointer to the first data element. More...
 
Cmpt * data () noexcept
 Return pointer to the first data element. More...
 
template<class SubVector , direction BStart>
const ConstBlock< SubVector, BStart > block () const
 
const Cmpt & operator[] (const direction) const
 
Cmpt & operator[] (const direction)
 
void operator= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator+= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator-= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator= (const Foam::zero)
 
void operator*= (const scalar)
 
void operator/= (const scalar)
 
iterator begin () noexcept
 Return an iterator to begin of VectorSpace. More...
 
iterator end () noexcept
 Return an iterator to end of VectorSpace. More...
 
const_iterator cbegin () const noexcept
 Return const_iterator to begin of VectorSpace. More...
 
const_iterator cend () const noexcept
 Return const_iterator to end of VectorSpace. More...
 
const_iterator begin () const noexcept
 Return const_iterator to begin of VectorSpace. More...
 
const_iterator end () const noexcept
 Return const_iterator to end of VectorSpace. More...
 
template<class SubVector , Foam::direction BStart>
const Foam::VectorSpace< Form, Cmpt, Ncmpts >::template ConstBlock< SubVector, BStart > block () const
 

Additional Inherited Members

- Public Types inherited from MatrixSpace< CompactSpatialTensorT< Cmpt >, Cmpt, 3, 6 >
typedef MatrixSpace< CompactSpatialTensorT< Cmpt >, Cmpt, Mrows, Ncols > msType
 MatrixSpace type. More...
 
- Public Types inherited from VectorSpace< Form, Cmpt, Ncmpts >
typedef VectorSpace< Form, Cmpt, Ncmpts > vsType
 VectorSpace type. More...
 
typedef Cmpt cmptType
 Component type. More...
 
typedef Cmpt magType
 Magnitude type. More...
 
typedef Cmpt * iterator
 Random access iterator for traversing VectorSpace. More...
 
typedef const Cmpt * const_iterator
 Random access iterator for traversing VectorSpace. More...
 
- Static Public Member Functions inherited from MatrixSpace< CompactSpatialTensorT< Cmpt >, Cmpt, 3, 6 >
static direction m () noexcept
 The number of rows. More...
 
static direction n () noexcept
 The number of columns. More...
 
static msType identity ()
 An identity matrix for square matrix-spaces. More...
 
- Static Public Member Functions inherited from VectorSpace< Form, Cmpt, Ncmpts >
static constexpr direction size () noexcept
 The number of elements in the VectorSpace = Ncmpts. More...
 
static Form uniform (const Cmpt &s)
 Return a VectorSpace with all elements = s. More...
 
- Public Attributes inherited from VectorSpace< Form, Cmpt, Ncmpts >
Cmpt v_ [Ncmpts]
 The components of this vector space. More...
 
- Static Public Attributes inherited from MatrixSpace< CompactSpatialTensorT< Cmpt >, Cmpt, 3, 6 >
static constexpr direction mRows
 
static constexpr direction nCols
 
- Static Public Attributes inherited from VectorSpace< Form, Cmpt, Ncmpts >
static constexpr direction dim = 3
 Dimensionality of space. More...
 
static constexpr direction nComponents = Ncmpts
 Number of components in this vector space. More...
 
static constexpr direction mRows = Ncmpts
 
static constexpr direction nCols = 1
 
static const char *const typeName = "diagTensor"
 
static const char *const componentNames []
 
static const Form zero
 
static const Form one
 
static const Form max
 
static const Form min
 
static const Form rootMax
 
static const Form rootMin
 

Detailed Description

template<class Cmpt>
class Foam::CompactSpatialTensorT< Cmpt >

Templated 3D transposed compact spatial tensor derived from MatrixSpace used to represent transformations of spatial vectors of rigid bodies.

Reference:

    Featherstone, R. (2008).
    Rigid body dynamics algorithms.
    Springer.
Source files
See also
Foam::MatrixSpace Foam::CompactSpatialTensor

Definition at line 64 of file CompactSpatialTensorT.H.

Constructor & Destructor Documentation

◆ CompactSpatialTensorT() [1/5]

Construct null.

Definition at line 31 of file CompactSpatialTensorTI.H.

◆ CompactSpatialTensorT() [2/5]

CompactSpatialTensorT ( const Foam::zero  )
inline

Definition at line 36 of file CompactSpatialTensorTI.H.

◆ CompactSpatialTensorT() [3/5]

CompactSpatialTensorT ( const typename CompactSpatialTensorT< Cmpt >::msType ms)
inline

Construct given MatrixSpace of the same rank.

Definition at line 46 of file CompactSpatialTensorTI.H.

◆ CompactSpatialTensorT() [4/5]

CompactSpatialTensorT ( const Cmpt &  t00,
const Cmpt &  t01,
const Cmpt &  t02,
const Cmpt &  t10,
const Cmpt &  t11,
const Cmpt &  t12,
const Cmpt &  t20,
const Cmpt &  t21,
const Cmpt &  t22,
const Cmpt &  t30,
const Cmpt &  t31,
const Cmpt &  t32,
const Cmpt &  t40,
const Cmpt &  t41,
const Cmpt &  t42,
const Cmpt &  t50,
const Cmpt &  t51,
const Cmpt &  t52 
)
inline

Construct given 18 components.

Definition at line 56 of file CompactSpatialTensorTI.H.

◆ CompactSpatialTensorT() [5/5]

CompactSpatialTensorT ( Istream is)
inline

Construct from Istream.

Definition at line 93 of file CompactSpatialTensorTI.H.


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