![]() |
Parasol Planning Library (PPL)
|
#include <CDInfo.h>
Public Types | |
Local Types | |
typedef std::pair< const Body *, const Body * > | BodyKey |
typedef std::pair< const MultiBody *, const MultiBody * > | MultiBodyKey |
typedef std::map< BodyKey, double > | BodyMap |
typedef std::map< MultiBodyKey, double > | MultiBodyMap |
typedef BodyMap::const_iterator | iterator |
Public Member Functions | |
Modifiers | |
void | Merge (const CDClearanceMap &_other) |
void | SetClearance (const Body *const _a, const Body *const _b, const double _clearance) |
void | Clear () |
Reset the structure. More... | |
Queries | |
double | GetClearance (const Body *const _a, const Body *const _b) const noexcept |
double | GetClearance (const MultiBody *const _a, const MultiBody *const _b) const noexcept |
double | GetMinClearance () const noexcept |
Get the lowest reported clearance. More... | |
BodyKey | GetClosestBodies () const noexcept |
Get the body pair which had the lowest clearance value. More... | |
MultiBodyKey | GetClosestMultiBodies () const noexcept |
Get the multibody pair which had the lowest clearance value. More... | |
iterator | begin () const noexcept |
iterator | end () const noexcept |
Map for tracking the detected clearance between bodies during collision detection.
typedef std::pair<const Body*, const Body*> CDClearanceMap::BodyKey |
typedef std::map<BodyKey, double> CDClearanceMap::BodyMap |
typedef BodyMap::const_iterator CDClearanceMap::iterator |
typedef std::pair<const MultiBody*, const MultiBody*> CDClearanceMap::MultiBodyKey |
typedef std::map<MultiBodyKey, double> CDClearanceMap::MultiBodyMap |
|
noexcept |
void CDClearanceMap::Clear | ( | ) |
Reset the structure.
|
noexcept |
Get the observed clearance between two bodies.
_a | The first body. |
_b | The second body. |
|
noexcept |
Get the observed clearance between two multibodies.
_a | The first multibody. |
_b | The second multibody. |
|
noexcept |
Get the body pair which had the lowest clearance value.
|
noexcept |
Get the multibody pair which had the lowest clearance value.
|
noexcept |
Get the lowest reported clearance.
void CDClearanceMap::Merge | ( | const CDClearanceMap & | _other | ) |
Merge another clearance map into this one. If a key is present in both maps, the lowest clearance will be maintained.
_other | The map to merge into this one. |
void CDClearanceMap::SetClearance | ( | const Body *const | _a, |
const Body *const | _b, | ||
const double | _clearance | ||
) |
Set the observed clearance between two bodies.
_a | The first body. |
_b | The second body. |
_clearance | The clearance observed between _a and _b. |