Public Member Functions | List of all members
CompactSpatialTensor< Cmpt > Class Template Reference

Templated 3D compact spatial tensor derived from MatrixSpace used to represent transformations of spatial vectors and the angular and linear inertia of rigid bodies. More...

Inheritance diagram for CompactSpatialTensor< Cmpt >:
Inheritance graph
[legend]
Collaboration diagram for CompactSpatialTensor< Cmpt >:
Collaboration graph
[legend]

Public Member Functions

 CompactSpatialTensor ()
 
 CompactSpatialTensor (const Foam::zero)
 
 CompactSpatialTensor (const typename CompactSpatialTensor::msType &)
 
 CompactSpatialTensor (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)
 
 CompactSpatialTensor (Istream &)
 
- Public Member Functions inherited from MatrixSpace< CompactSpatialTensor< Cmpt >, Cmpt, 6, 3 >
 MatrixSpace ()=default
 
 MatrixSpace (const Foam::zero)
 
 MatrixSpace (const VectorSpace< Form2, Cmpt2, Mrows *Ncols > &)
 
 MatrixSpace (const Block2< CompactSpatialTensor< Cmpt >, BRowStart, BColStart > &block)
 
 MatrixSpace (Istream &is)
 
const Cmpt & elmt () const
 
Cmpt & elmt ()
 
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, CompactSpatialTensor< Cmpt > >::type T () const
 
ConstBlock< SubTensor, BRowStart, BColStart > block () const
 
Block< SubTensor, BRowStart, BColStart > block ()
 
Foam::MatrixSpace< CompactSpatialTensor< Cmpt >, Cmpt, Mrows, Ncols >::template ConstBlock< SubTensor, BRowStart, BColStart > block () const
 
Foam::MatrixSpace< CompactSpatialTensor< Cmpt >, Cmpt, Mrows, Ncols >::template Block< SubTensor, BRowStart, BColStart > block ()
 
const Cmpt & operator() (const direction &i, const direction &j) const
 
Cmpt & operator() (const direction &i, const direction &j)
 
void operator= (const Foam::zero)
 
void operator= (const Block2< CompactSpatialTensor< Cmpt >, BRowStart, BColStart > &block)
 
void operator&= (const MatrixSpace< CompactSpatialTensor< Cmpt >, Cmpt, Ncols, Ncols > &matrix)
 
- Public Member Functions inherited from VectorSpace< CompactSpatialTensor< Cmpt >, Cmpt, Mrows *Ncols >
 VectorSpace ()=default
 
 VectorSpace (const Foam::zero)
 
 VectorSpace (const VectorSpace< Form, Cmpt, Ncmpts > &vs)
 
 VectorSpace (const VectorSpace< Form2, Cmpt2, Ncmpts > &)
 
 VectorSpace (Istream &is)
 
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
 
Cmpt * data () noexcept
 
const ConstBlock< SubVector, BStart > block () const
 
const Foam::VectorSpace< Form, Cmpt, Ncmpts >::template 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 Foam::zero)
 
void operator+= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator-= (const VectorSpace< Form, Cmpt, Ncmpts > &)
 
void operator*= (const scalar)
 
void operator/= (const scalar)
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 

Additional Inherited Members

- Public Types inherited from MatrixSpace< CompactSpatialTensor< Cmpt >, Cmpt, 6, 3 >
typedef MatrixSpace< CompactSpatialTensor< Cmpt >, Cmpt, Mrows, Ncols > msType
 
- Public Types inherited from VectorSpace< CompactSpatialTensor< Cmpt >, Cmpt, Mrows *Ncols >
typedef VectorSpace< Form, Cmpt, Ncmpts > vsType
 
typedef Cmpt cmptType
 
typedef Cmpt magType
 
typedef Cmpt * iterator
 
- Static Public Member Functions inherited from MatrixSpace< CompactSpatialTensor< Cmpt >, Cmpt, 6, 3 >
static direction m () noexcept
 
static direction n () noexcept
 
static msType identity ()
 
- Static Public Member Functions inherited from VectorSpace< CompactSpatialTensor< Cmpt >, Cmpt, Mrows *Ncols >
static constexpr direction size () noexcept
 
static Form uniform (const Cmpt &s)
 
- Public Attributes inherited from VectorSpace< CompactSpatialTensor< Cmpt >, Cmpt, Mrows *Ncols >
const typedef Cmpt * const_iterator
 
Cmpt v_ [Ncmpts]
 
- Static Public Attributes inherited from MatrixSpace< CompactSpatialTensor< Cmpt >, Cmpt, 6, 3 >
static constexpr direction mRows
 
static constexpr direction nCols
 
- Static Public Attributes inherited from VectorSpace< CompactSpatialTensor< Cmpt >, Cmpt, Mrows *Ncols >
static constexpr direction dim
 
static constexpr direction nComponents
 
static constexpr direction mRows
 
static constexpr direction nCols
 
static const char *const typeName
 
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::CompactSpatialTensor< Cmpt >

Templated 3D compact spatial tensor derived from MatrixSpace used to represent transformations of spatial vectors and the angular and linear inertia of rigid bodies.

Reference:

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

Definition at line 61 of file CompactSpatialTensor.H.

Constructor & Destructor Documentation

◆ CompactSpatialTensor() [1/5]

Definition at line 24 of file CompactSpatialTensorI.H.

◆ CompactSpatialTensor() [2/5]

CompactSpatialTensor ( const Foam::zero  )
inline

Definition at line 30 of file CompactSpatialTensorI.H.

◆ CompactSpatialTensor() [3/5]

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

Definition at line 40 of file CompactSpatialTensorI.H.

◆ CompactSpatialTensor() [4/5]

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

Definition at line 50 of file CompactSpatialTensorI.H.

◆ CompactSpatialTensor() [5/5]

CompactSpatialTensor ( Istream is)
inline

Definition at line 86 of file CompactSpatialTensorI.H.


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