Half space shape class.
#include <HalfSpace.h>
Public Member Functions | |
HalfSpace (const Vec3 &normal=Vec3(real_t(1), real_t(0), real_t(0))) | |
void | updateMassAndInertia (const real_t density) override |
Updates mass and inertia according to the actual shape. More... | |
real_t | getVolume () const override |
const Vec3 & | getNormal () const |
void | pack (walberla::mpi::SendBuffer &buf) override |
void | unpack (walberla::mpi::RecvBuffer &buf) override |
Public Member Functions inherited from walberla::mesa_pd::data::BaseShape | |
BaseShape ()=default | |
BaseShape (const int shapeType) | |
virtual | ~BaseShape ()=default |
const real_t & | getMass () const |
const real_t & | getInvMass () const |
const Mat3 & | getInertiaBF () const |
const Mat3 & | getInvInertiaBF () const |
const ShapeTypeT & | getShapeType () const |
virtual Vec3 | support (const Vec3 &) const |
Static Public Attributes | |
constexpr static int | SHAPE_TYPE = 0 |
Unique shape type identifier for half spaces. More... | |
Static Public Attributes inherited from walberla::mesa_pd::data::BaseShape | |
static const int | INVALID_SHAPE = -1 |
Unique invalid shape type identifier. More... | |
Private Attributes | |
Vec3 | normal_ |
Normal of the half space in reference to the global world frame. 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 |
|
inlineexplicit |
|
inline |
|
inlineoverridevirtual |
Reimplemented from walberla::mesa_pd::data::BaseShape.
|
inlineoverridevirtual |
Reimplemented from walberla::mesa_pd::data::BaseShape.
|
inlineoverridevirtual |
Reimplemented from walberla::mesa_pd::data::BaseShape.
|
inlineoverridevirtual |
Updates mass and inertia according to the actual shape.
Reimplemented from walberla::mesa_pd::data::BaseShape.
|
private |
Normal of the half space in reference to the global world frame.
The normal of the half space is always pointing from the occupied half space towards the open half space.