#include <mbd_edge.h>
Public Types | |
typedef mbd_types::math_policy::index_type | size_type |
typedef mbd_types::body_type | body_type |
typedef mbd_types::edge_type | edge_type |
typedef mbd_types::material_type | material_type |
typedef mbd_types::contact_iterator | contact_iterator |
typedef mbd_types::const_contact_iterator | const_contact_iterator |
Public Member Functions | |
body_type const * | get_body_A () const |
body_type * | get_body_A () |
body_type const * | get_body_B () const |
body_type * | get_body_B () |
contact_iterator | contact_begin () |
contact_iterator | contact_end () |
const_contact_iterator | contact_begin () const |
const_contact_iterator | contact_end () const |
size_type | size_contacts () const |
contact_container * | get_contacts () |
material_type const * | get_material () const |
material_type * | get_material () |
Edge () | |
virtual | ~Edge () |
bool & | prunned () |
bool const & | prunned () const |
void | init (body_type *const body_A, body_type *const body_B) |
bool | operator== (edge_type const &edge) const |
bool | operator!= (edge_type const &edge) const |
bool | operator< (edge_type const &edge) const |
size_type | hash_key () const |
bool | is_up_to_date () const |
Static Public Member Functions | |
static size_type | hash_key (body_type const *A, body_type const *B) |
Public Attributes | |
material_type * | m_material |
A pointer to the material properties between A and B. | |
bool | m_relative_resting |
size_type | m_updated_time_stamp |
collision_detection_policy * | m_collision_detection |
A pointer to the collision detection engine that detected this edge. | |
Protected Types | |
typedef mbd_types::contact_container | contact_container |
typedef mbd_types::collision_detection_policy | collision_detection_policy |
Protected Attributes | |
body_type * | m_A |
Pointer to body with smallest index. | |
body_type * | m_B |
Pointer to body with highest index. | |
contact_container | m_contacts |
All contacts between A and B. | |
bool | m_prunned |
Booelan flag indicating whether the edge has been prunned by some collision detection module during a collision query. |
typedef mbd_types::body_type OpenTissue::mbd::Edge< mbd_types >::body_type |
typedef mbd_types::collision_detection_policy OpenTissue::mbd::Edge< mbd_types >::collision_detection_policy [protected] |
typedef mbd_types::const_contact_iterator OpenTissue::mbd::Edge< mbd_types >::const_contact_iterator |
typedef mbd_types::contact_container OpenTissue::mbd::Edge< mbd_types >::contact_container [protected] |
typedef mbd_types::contact_iterator OpenTissue::mbd::Edge< mbd_types >::contact_iterator |
typedef mbd_types::edge_type OpenTissue::mbd::Edge< mbd_types >::edge_type |
typedef mbd_types::material_type OpenTissue::mbd::Edge< mbd_types >::material_type |
typedef mbd_types::math_policy::index_type OpenTissue::mbd::Edge< mbd_types >::size_type |
OpenTissue::mbd::Edge< mbd_types >::Edge | ( | ) | [inline] |
virtual OpenTissue::mbd::Edge< mbd_types >::~Edge | ( | ) | [inline, virtual] |
contact_iterator OpenTissue::mbd::Edge< mbd_types >::contact_begin | ( | ) | [inline] |
const_contact_iterator OpenTissue::mbd::Edge< mbd_types >::contact_begin | ( | ) | const [inline] |
const_contact_iterator OpenTissue::mbd::Edge< mbd_types >::contact_end | ( | ) | const [inline] |
contact_iterator OpenTissue::mbd::Edge< mbd_types >::contact_end | ( | ) | [inline] |
body_type const* OpenTissue::mbd::Edge< mbd_types >::get_body_A | ( | ) | const [inline] |
body_type* OpenTissue::mbd::Edge< mbd_types >::get_body_A | ( | ) | [inline] |
body_type* OpenTissue::mbd::Edge< mbd_types >::get_body_B | ( | ) | [inline] |
body_type const* OpenTissue::mbd::Edge< mbd_types >::get_body_B | ( | ) | const [inline] |
contact_container* OpenTissue::mbd::Edge< mbd_types >::get_contacts | ( | ) | [inline] |
material_type const* OpenTissue::mbd::Edge< mbd_types >::get_material | ( | ) | const [inline] |
material_type* OpenTissue::mbd::Edge< mbd_types >::get_material | ( | ) | [inline] |
static size_type OpenTissue::mbd::Edge< mbd_types >::hash_key | ( | body_type const * | A, | |
body_type const * | B | |||
) | [inline, static] |
Get Hash Key. This method is usefull if one want to get the hash key of a body edge that needs to be looked up in a hash map.
A | ||
B |
size_type OpenTissue::mbd::Edge< mbd_types >::hash_key | ( | ) | const [inline] |
void OpenTissue::mbd::Edge< mbd_types >::init | ( | body_type *const | body_A, | |
body_type *const | body_B | |||
) | [inline] |
bool OpenTissue::mbd::Edge< mbd_types >::is_up_to_date | ( | ) | const [inline] |
Is Up-To-Date Query. This method determines whether the cached contact information in the edge is up-to-date.
bool OpenTissue::mbd::Edge< mbd_types >::operator!= | ( | edge_type const & | edge | ) | const [inline] |
bool OpenTissue::mbd::Edge< mbd_types >::operator< | ( | edge_type const & | edge | ) | const [inline] |
bool OpenTissue::mbd::Edge< mbd_types >::operator== | ( | edge_type const & | edge | ) | const [inline] |
bool const& OpenTissue::mbd::Edge< mbd_types >::prunned | ( | ) | const [inline] |
bool& OpenTissue::mbd::Edge< mbd_types >::prunned | ( | ) | [inline] |
Get Prunned Flag.
size_type OpenTissue::mbd::Edge< mbd_types >::size_contacts | ( | ) | const [inline] |
body_type* OpenTissue::mbd::Edge< mbd_types >::m_A [protected] |
Pointer to body with smallest index.
body_type* OpenTissue::mbd::Edge< mbd_types >::m_B [protected] |
Pointer to body with highest index.
collision_detection_policy* OpenTissue::mbd::Edge< mbd_types >::m_collision_detection |
A pointer to the collision detection engine that detected this edge.
contact_container OpenTissue::mbd::Edge< mbd_types >::m_contacts [protected] |
All contacts between A and B.
material_type* OpenTissue::mbd::Edge< mbd_types >::m_material |
A pointer to the material properties between A and B.
bool OpenTissue::mbd::Edge< mbd_types >::m_prunned [protected] |
Booelan flag indicating whether the edge has been prunned by some collision detection module during a collision query.
bool OpenTissue::mbd::Edge< mbd_types >::m_relative_resting |
Boolean value indicating whatever the bodies are in relative rest since the last invocation of the collision detection engine. This flag can be used to determine whatever caching could be exploited. (for instance to skip narrow phase collision detection and contact determination).
size_type OpenTissue::mbd::Edge< mbd_types >::m_updated_time_stamp |
Timestamp of last time when this edge contains up-to-date information. Compare this to the time stamp of the collision detection engine, if they are equal the edge contains valid cached contact information, if they are unequal the cached information is non-valid and should not be used.