|
|
MaterialID | getMaterial () const |
| Returns the material of the geometric primitive. More...
|
|
Public Member Functions inherited from walberla::pe::RigidBody |
virtual | ~RigidBody ()=0 |
| Destructor for the RigidBody class. More...
|
|
void | wake () |
| Waking the rigid body and ending the sleep mode. More...
|
|
void | calcMotion () |
| Calculating the current motion of a rigid body. More...
|
|
bool | hasManager () const |
| Returns whether the rigid body currently has a supervising rigid body manager. More...
|
|
ManagerID | getManager () |
| Returns the supervising rigid body manager of the rigid body. More...
|
|
ConstManagerID | getManager () const |
|
bool | hasSuperBody () const |
| Returns whether the rigid body is contained in a superordinate body. More...
|
|
BodyID | getSuperBody () |
| Returns the superordinate body in which the rigid body is contained. More...
|
|
ConstBodyID | getSuperBody () const |
|
BodyID | getTopSuperBody () |
| Returns the top level superordinate body in which the rigid body is contained. More...
|
|
ConstBodyID | getTopSuperBody () const |
|
virtual bool | hasSubBodies () const |
|
bool | isFinite () const |
| Returns whether the rigid body is finite or not. More...
|
|
bool | isAwake () const |
| Returns whether the rigid body is awake or not. More...
|
|
bool | isFixed () const |
| Returns whether the rigid body's position is fixed or not. More...
|
|
bool | hasInfiniteMass () const |
| Checks if a body is "mobile" e.g. More...
|
|
bool | isVisible () const |
| Returns whether the rigid body is visible or not. More...
|
|
bool | isMarkedForDeletion () const |
|
id_t | getSystemID () const |
| Returns the unique system-specific ID of the rigid body. More...
|
|
id_t | getID () const |
| Returns the user-specific ID of the rigid body. More...
|
|
const Vec3 | getRelPosition () const |
| Returns the relative position of the rigid body within the superordinate body. More...
|
|
const Vec3 | getPosition () const |
| Returns the global position of the center of mass of the rigid body. More...
|
|
const Vec3 | getBodyLinearVel () const |
| Returns the relative linear velocity of the rigid body. More...
|
|
const Vec3 | getLinearVel () const |
| Returns the global linear velocity of the rigid body. More...
|
|
const Vec3 | getBodyAngularVel () const |
| Returns the relative angular velocity. More...
|
|
const Vec3 & | getAngularVel () const |
| Returns the global angular velocity. More...
|
|
const Quat | getRelQuaternion () const |
| Returns the relative orientation of the rigid body to its superbody. More...
|
|
const Quat | getQuaternion () const |
| Returns the orientation of the rigid body. More...
|
|
const Mat3 | getRotation () const |
| Returns the rotation of the rigid body. More...
|
|
real_t | getMass () const |
| Returns the total mass of the rigid body. More...
|
|
real_t | getInvMass () const |
| Returns the inverse total mass of the rigid body. More...
|
|
virtual real_t | getVolume () const |
| Returns the volume of the rigid body. More...
|
|
const Mat3 & | getBodyInertia () const |
| Returns the moment of inertia in reference to the body frame of the rigid body. More...
|
|
const Mat3 | getInertia () const |
| Returns the moment of inertia in reference to the global world frame. More...
|
|
const Mat3 & | getInvBodyInertia () const |
| Returns the inverse moment of inertia in reference to the body frame of the rigid body. More...
|
|
const Mat3 | getInvInertia () const |
| Returns the inverse moment of inertia in reference to the global world frame. More...
|
|
const AABB & | getAABB () const |
| Returns the axis-aligned bounding box of the rigid body. More...
|
|
real_t | getAABBSize () const |
| Returns the length of the longest side of the AABB of the rigid body. More...
|
|
real_t | getKineticEnergy () const |
| Returns the kinetic energy of the rigid body. More...
|
|
real_t | getRotationalEnergy () const |
| Returns the rotational energy of the rigid body. More...
|
|
real_t | getEnergy () const |
| Returns the energy of the rigid body. More...
|
|
const Vec3 | vectorFromBFtoWF (real_t vx, real_t vy, real_t vz) const |
| Transformation from a relative to a global vector. More...
|
|
const Vec3 | vectorFromBFtoWF (const Vec3 &v) const |
| Transformation from a relative to a global vector. More...
|
|
const Vec3 | pointFromBFtoWF (real_t px, real_t py, real_t pz) const |
| Transformation from a relative to a global coordinate. More...
|
|
const Vec3 | pointFromBFtoWF (const Vec3 &rpos) const |
| Transformation from a relative to a global coordinate. More...
|
|
virtual Vec3 | velFromBF (real_t px, real_t py, real_t pz) const |
| Calculation of the global velocity of a relative point. More...
|
|
virtual Vec3 | velFromBF (const Vec3 &rpos) const |
| Calculation of the global velocity of a relative point. More...
|
|
const Vec3 | vectorFromWFtoBF (real_t vx, real_t vy, real_t vz) const |
| Transformation from a global to a relative vector. More...
|
|
const Vec3 | vectorFromWFtoBF (const Vec3 &v) const |
| Transformation from a global to a relative vector. More...
|
|
const Vec3 | pointFromWFtoBF (real_t px, real_t py, real_t pz) const |
| Transformation from a global to a relative coordinate. More...
|
|
const Vec3 | pointFromWFtoBF (const Vec3 &gpos) const |
| Transformation from a global to a relative coordinate. More...
|
|
virtual Vec3 | velFromWF (real_t px, real_t py, real_t pz) const |
| Calculation of the global velocity of a point in global coordinates. More...
|
|
virtual Vec3 | velFromWF (const Vec3 &gpos) const |
| Calculation of the global velocity of a point in global coordinates. More...
|
|
const Vec3 | accFromWF (real_t px, real_t py, real_t pz) const |
| Calculation of the global acceleration of a point in global coordinates. More...
|
|
const Vec3 | accFromWF (const Vec3 &gpos) const |
| Calculation of the global acceleration of a point in global coordinates. More...
|
|
id_t | getTypeID () const |
|
void | translate (real_t dx, real_t dy, real_t dz) |
| Translation of the center of mass of the rigid body by the displacement vector. More...
|
|
void | translate (const Vec3 &dp) |
| Translation of the center of mass of the rigid body by the displacement vector dp. More...
|
|
void | rotate (real_t x, real_t y, real_t z, real_t angle) |
| Rotation of the rigid body around the global rotation axis (x,y,z) by the rotation angle angle. More...
|
|
void | rotate (const Vec3 &axis, real_t angle) |
| Rotation of the rigid body around the specified global rotation axis by the rotation. More...
|
|
void | rotate (real_t xangle, real_t yangle, real_t zangle) |
| Rotation of the rigid body by the Euler angles xangle, yangle and zangle. More...
|
|
void | rotate (const Vec3 &euler) |
| Rotation of the rigid body by the Euler angles euler. More...
|
|
void | rotate (const Quat &dq) |
| Rotation of the rigid body by the quaternion dq. More...
|
|
void | rotateAroundOrigin (real_t x, real_t y, real_t z, real_t angle) |
| Rotation of the rigid body around the origin of the global world frame. More...
|
|
void | rotateAroundOrigin (const Vec3 &axis, real_t angle) |
| Rotation of the rigid body around the origin of the global world frame. More...
|
|
void | rotateAroundOrigin (real_t xangle, real_t yangle, real_t zangle) |
| Rotation of the rigid body around the origin of the global world frame. More...
|
|
void | rotateAroundOrigin (const Vec3 &euler) |
| Rotation of the rigid body around the origin of the global world frame. More...
|
|
void | rotateAroundOrigin (const Quat &dq) |
| Rotation of the rigid body around the origin of the global world frame. More...
|
|
void | rotateAroundPoint (const Vec3 &point, const Vec3 &axis, real_t angle) |
| Rotation of the rigid body around a specific global coordinate. More...
|
|
void | rotateAroundPoint (const Vec3 &point, const Vec3 &euler) |
| Rotation of the rigid body around a specific global coordinate. More...
|
|
bool | containsRelPoint (real_t px, real_t py, real_t pz) const |
| Checks, whether a point in body relative coordinates lies inside the rigid body. More...
|
|
bool | containsRelPoint (const Vec3 &rpos) const |
| Checks, whether a point in body relative coordinates lies inside the rigid body. More...
|
|
bool | containsPoint (real_t px, real_t py, real_t pz) const |
| Checks, whether a point in global coordinates lies inside the rigid body. More...
|
|
bool | containsPoint (const Vec3 &gpos) const |
| Checks, whether a point in global coordinates lies inside the rigid body. More...
|
|
bool | isSurfaceRelPoint (real_t px, real_t py, real_t pz) const |
| Checks, whether a point in relative coordinates lies on the surface of the rigid body. More...
|
|
bool | isSurfaceRelPoint (const Vec3 &rpos) const |
| Checks, whether a point in body relative coordinates lies on the surface of the rigid body. More...
|
|
bool | isSurfacePoint (real_t px, real_t py, real_t pz) const |
| Checks, whether a point in global coordinates lies on the surface of the rigid body. More...
|
|
bool | isSurfacePoint (const Vec3 &gpos) const |
| Checks, whether a point in global coordinates lies on the surface of the rigid body. More...
|
|
virtual Vec3 | support (const Vec3 &d) const |
| Estimates the point which is farthest in direction d. More...
|
|
virtual Vec3 | supportContactThreshold (const Vec3 &d) const |
| Estimates the point which is farthest in direction d. More...
|
|
virtual void | calcBoundingBox ()=0 |
|
bool | hasForce () const |
| Returns whether the rigid body has non-zero acting forces or torques. More...
|
|
const Vec3 & | getForce () const |
| Returns the current force acting on the body's center of mass. More...
|
|
const Vec3 & | getTorque () const |
| Returns the current torque acting on the body's center of mass. More...
|
|
void | setForce (const Vec3 &f) |
| Set the force acting at the body's center of mass. More...
|
|
void | setTorque (const Vec3 &tau) |
| Set the torque acting at the body's center of mass. More...
|
|
void | addRelForce (real_t fx, real_t fy, real_t fz) |
| Increases the total force acting in the body's center of mass. More...
|
|
void | addRelForce (const Vec3 &f) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addForce (real_t fx, real_t fy, real_t fz) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addForce (const Vec3 &f) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addRelForceAtRelPos (real_t fx, real_t fy, real_t fz, real_t px, real_t py, real_t pz) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addRelForceAtRelPos (const Vec3 &f, const Vec3 &rpos) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addRelForceAtPos (real_t fx, real_t fy, real_t fz, real_t px, real_t py, real_t pz) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addRelForceAtPos (const Vec3 &f, const Vec3 &gpos) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addForceAtRelPos (real_t fx, real_t fy, real_t fz, real_t px, real_t py, real_t pz) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addForceAtRelPos (const Vec3 &f, const Vec3 &rpos) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addForceAtPos (real_t fx, real_t fy, real_t fz, real_t px, real_t py, real_t pz) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addForceAtPos (const Vec3 &f, const Vec3 &gpos) |
| Increases the force acting in the body's center of mass. More...
|
|
void | addTorque (real_t tx, real_t ty, real_t tz) |
| Increasing the torque acting in the body's center of mass. More...
|
|
void | addTorque (const Vec3 &t) |
| Increasing the torque acting in the body's center of mass. More...
|
|
virtual void | resetForceAndTorque () |
| Resetting all acting forces and torques from the rigid body. More...
|
|
void | addImpulse (real_t jx, real_t jy, real_t jz) |
| Applying an impulse in the body's center of mass. More...
|
|
void | addImpulse (const Vec3 &j) |
| Applying an impulse in the body's center of mass. More...
|
|
void | addImpulseAtPos (real_t jx, real_t jy, real_t jz, real_t px, real_t py, real_t pz) |
| Applying an impulse at the given global coordinate. More...
|
|
void | addImpulseAtPos (const Vec3 &j, const Vec3 &p) |
| Applying an impulse at the given global coordinate. More...
|
|
bool | isRemote () const |
| Returns whether the rigid body is remote or not. More...
|
|
virtual void | setRemote (bool remote) |
| Setting the remote flag of the rigid body. More...
|
|
bool | isGlobal () const |
| Returns whether the rigid body is global or not. More...
|
|
void | setGlobal (const bool global) |
| Setting the global flag of the rigid body. More...
|
|
bool | isCommunicating () const |
| Returns whether the rigid body is local or not. More...
|
|
void | setCommunicating (const bool communicating) |
| Setting the local flag of the rigid body. More...
|
|
virtual void | print (std::ostream &os, const char *tab) const =0 |
|
virtual bool | checkInvariants () |
| Checks the validity of the state of the rigid body. More...
|
|
void | setSB (BodyID body) |
| Sets the super body for the current body. More...
|
|
void | resetSB () |
| Resets the super body for the current body. More...
|
|
void | setFinite (const bool finite) |
|
void | setVisible (bool visible) |
| Setting the rigid body visible/invisible. More...
|
|
void | setPosition (real_t px, real_t py, real_t pz) |
| Setting the global position of the rigid body. More...
|
|
void | setPosition (const Vec3 &gpos) |
| Setting the global position of the rigid body. More...
|
|
void | setRelPosition (const Vec3 &gpos) |
| Setting the global position of the rigid body. More...
|
|
void | setOrientation (real_t r, real_t i, real_t j, real_t k) |
| Setting the global orientation of the rigid body. More...
|
|
void | setOrientation (const Quat &q) |
| Setting the global orientation of the rigid body. More...
|
|
void | setRelOrientation (const Quat &q) |
| Setting the relative position of the rigid body. More...
|
|
void | setMassAndInertiaToInfinity () |
| Setting the mass to infinity. This will also make the inertia tensor infinite. More...
|
|
void | setRelLinearVel (real_t vx, real_t vy, real_t vz) |
| Setting the relative linear velocity of the rigid body. More...
|
|
void | setRelLinearVel (const Vec3 &lvel) |
|
void | setLinearVel (real_t vx, real_t vy, real_t vz) |
| Setting the global linear velocity of the rigid body. More...
|
|
void | setLinearVel (const Vec3 &lvel) |
| /see setLinearVel( real_t vx, real_t vy, real_t vz ) More...
|
|
void | setRelAngularVel (real_t ax, real_t ay, real_t az) |
| Setting the relative angular velocity of the rigid body. More...
|
|
void | setRelAngularVel (const Vec3 &avel) |
| /see setRelAngularVel( real_t ax, real_t ay, real_t az ) More...
|
|
void | setAngularVel (real_t ax, real_t ay, real_t az) |
| Setting the global angular velocity of the rigid body. More...
|
|
void | setAngularVel (const Vec3 &avel) |
| /see setAngularVel( real_t ax, real_t ay, real_t az ) More...
|
|
void | markForDeletion () |
| Marks the rigid body for deletion during the next synchronization. More...
|
|
Public Member Functions inherited from walberla::pe::ccd::HashGridsBodyTrait |
void * | getGrid () const |
| Returns the grid the rigid body is currently assigned to. More...
|
|
size_t | getHash () const |
| Returns the current hash value of the rigid body. More...
|
|
size_t | getCellId () const |
| Returns the current body container index within the cell the body is currently assigned to. More...
|
|
void | setGrid (void *grid) |
| Setting the grid the rigid body is associated with. More...
|
|
void | setHash (size_t hash) |
| Setting the hash value of the rigid body. More...
|
|
void | setCellId (size_t cell) |
| Setting the body container index within the cell the body is currently assigned to. More...
|
|