walberla::mesa_pd::data::ConvexPolyhedron Class Reference

#include <ConvexPolyhedron.h>

+ Inheritance diagram for walberla::mesa_pd::data::ConvexPolyhedron:

Public Member Functions

 ConvexPolyhedron (const mesh::TriangleMesh &)
 
 ConvexPolyhedron ()
 
void updateMassAndInertia (const real_t) override
 Updates mass and inertia according to the actual shape. More...
 
real_t getVolume () const override
 
Vec3 support (const Vec3 &) const override
 
void pack (walberla::mpi::SendBuffer &) override
 
void unpack (walberla::mpi::RecvBuffer &) override
 
- Public Member Functions inherited from walberla::mesa_pd::data::BaseShape
 BaseShape ()=default
 
 BaseShape (const int shapeType)
 
virtual ~BaseShape ()=default
 
const real_tgetMass () const
 
const real_tgetInvMass () const
 
const Mat3getInertiaBF () const
 
const Mat3getInvInertiaBF () const
 
const ShapeTypeTgetShapeType () const
 

Static Public Attributes

constexpr static int IS_AVAILABLE = false
 
constexpr static int SHAPE_TYPE = 5
 Unique shape type identifier for convex polyhedrons. More...
 
- Static Public Attributes inherited from walberla::mesa_pd::data::BaseShape
static const int INVALID_SHAPE = -1
 Unique invalid shape type identifier. More...
 

Additional Inherited Members

- Public Types inherited from walberla::mesa_pd::data::BaseShape
using ShapeTypeT = int
 
- Protected Attributes inherited from walberla::mesa_pd::data::BaseShape
real_t mass_ = real_t(0)
 mass More...
 
real_t invMass_ = real_t(0)
 inverse mass More...
 
Mat3 inertiaBF_ = Mat3(real_t(0))
 inertia matrix in the body frame More...
 
Mat3 invInertiaBF_ = Mat3(real_t(0))
 inverse inertia matrix in the body frame More...
 
ShapeTypeT shapeType_ = INVALID_SHAPE
 

Constructor & Destructor Documentation

◆ ConvexPolyhedron() [1/2]

walberla::mesa_pd::data::ConvexPolyhedron::ConvexPolyhedron ( const mesh::TriangleMesh )
inlineexplicit

◆ ConvexPolyhedron() [2/2]

walberla::mesa_pd::data::ConvexPolyhedron::ConvexPolyhedron ( )
inline

Member Function Documentation

◆ getVolume()

real_t walberla::mesa_pd::data::ConvexPolyhedron::getVolume ( ) const
inlineoverridevirtual

◆ pack()

void walberla::mesa_pd::data::ConvexPolyhedron::pack ( walberla::mpi::SendBuffer )
inlineoverridevirtual

◆ support()

Vec3 walberla::mesa_pd::data::ConvexPolyhedron::support ( const Vec3 ) const
inlineoverridevirtual

◆ unpack()

void walberla::mesa_pd::data::ConvexPolyhedron::unpack ( walberla::mpi::RecvBuffer )
inlineoverridevirtual

◆ updateMassAndInertia()

void walberla::mesa_pd::data::ConvexPolyhedron::updateMassAndInertia ( const  density)
inlineoverridevirtual

Updates mass and inertia according to the actual shape.

Reimplemented from walberla::mesa_pd::data::BaseShape.

Member Data Documentation

◆ IS_AVAILABLE

constexpr static int walberla::mesa_pd::data::ConvexPolyhedron::IS_AVAILABLE = false
staticconstexpr

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