#include <mbd_single_group_analysis.h>
Classes | |
class | constraint_traits |
class | edge_traits |
class | node_traits |
Public Member Functions | |
SingleGroupAnalysis () | |
const bool | post_broad_phase_analysis (edge_ptr_container &edges) |
void | post_narrow_phase_analysis (edge_ptr_container &edges) |
void | post_contact_determination_analysis (edge_ptr_container &edges, group_ptr_container &groups) |
void | clear () |
void | add (body_type *) |
void | remove (body_type *) |
void | init (configuration_type &configuration) |
Protected Types | |
typedef types::math_policy::index_type | size_type |
typedef types::math_policy::real_type | real_type |
typedef types::math_policy::vector3_type | vector3_type |
typedef types::math_policy::quaternion_type | quaternion_type |
typedef types::math_policy::coordsys_type | coordsys_type |
typedef types::configuration_type | configuration_type |
typedef types::group_container | group_container |
typedef types::group_ptr_container | group_ptr_container |
typedef types::group_type | group_type |
typedef types::edge_ptr_container | edge_ptr_container |
typedef types::indirect_edge_iterator | indirect_edge_iterator |
typedef types::body_type | body_type |
typedef types::contact_type | contact_type |
typedef types::edge_type | edge_type |
typedef types::joint_type | joint_type |
Protected Member Functions | |
void | do_absolute_resting_test () |
Protected Attributes | |
configuration_type * | m_configuration |
A pointer to the configuration that holds the current configuration. | |
group_type | m_group |
A body group used to collected isolated bodies. | |
size_type | m_time_stamp |
Time-stamp indicating which iteration the STC analysis i performed in. |
typedef types::body_type OpenTissue::mbd::SingleGroupAnalysis< types >::body_type [protected] |
typedef types::configuration_type OpenTissue::mbd::SingleGroupAnalysis< types >::configuration_type [protected] |
typedef types::contact_type OpenTissue::mbd::SingleGroupAnalysis< types >::contact_type [protected] |
typedef types::math_policy::coordsys_type OpenTissue::mbd::SingleGroupAnalysis< types >::coordsys_type [protected] |
typedef types::edge_ptr_container OpenTissue::mbd::SingleGroupAnalysis< types >::edge_ptr_container [protected] |
typedef types::edge_type OpenTissue::mbd::SingleGroupAnalysis< types >::edge_type [protected] |
typedef types::group_container OpenTissue::mbd::SingleGroupAnalysis< types >::group_container [protected] |
typedef types::group_ptr_container OpenTissue::mbd::SingleGroupAnalysis< types >::group_ptr_container [protected] |
typedef types::group_type OpenTissue::mbd::SingleGroupAnalysis< types >::group_type [protected] |
typedef types::indirect_edge_iterator OpenTissue::mbd::SingleGroupAnalysis< types >::indirect_edge_iterator [protected] |
typedef types::joint_type OpenTissue::mbd::SingleGroupAnalysis< types >::joint_type [protected] |
typedef types::math_policy::quaternion_type OpenTissue::mbd::SingleGroupAnalysis< types >::quaternion_type [protected] |
typedef types::math_policy::real_type OpenTissue::mbd::SingleGroupAnalysis< types >::real_type [protected] |
typedef types::math_policy::index_type OpenTissue::mbd::SingleGroupAnalysis< types >::size_type [protected] |
typedef types::math_policy::vector3_type OpenTissue::mbd::SingleGroupAnalysis< types >::vector3_type [protected] |
OpenTissue::mbd::SingleGroupAnalysis< types >::SingleGroupAnalysis | ( | ) | [inline] |
void OpenTissue::mbd::SingleGroupAnalysis< types >::add | ( | body_type * | ) | [inline] |
void OpenTissue::mbd::SingleGroupAnalysis< types >::clear | ( | ) | [inline] |
void OpenTissue::mbd::SingleGroupAnalysis< types >::do_absolute_resting_test | ( | ) | [inline, protected] |
Absolute Resting Test. This method examines each body in the configuration and tries to determine wheter it has moved since last invocation. If not then the body is said to be in absolute rest.
The term absolute rest, reflects how geometry is percieved it has nothing to do with the dynamic state of a body.
void OpenTissue::mbd::SingleGroupAnalysis< types >::init | ( | configuration_type & | configuration | ) | [inline] |
const bool OpenTissue::mbd::SingleGroupAnalysis< types >::post_broad_phase_analysis | ( | edge_ptr_container & | edges | ) | [inline] |
Post Broad Phase Analysis.
edges | The overlaps reported from the broad phase collision detection phase. |
void OpenTissue::mbd::SingleGroupAnalysis< types >::post_contact_determination_analysis | ( | edge_ptr_container & | edges, | |
group_ptr_container & | groups | |||
) | [inline] |
void OpenTissue::mbd::SingleGroupAnalysis< types >::post_narrow_phase_analysis | ( | edge_ptr_container & | edges | ) | [inline] |
Post Narrow Phase Analysis. In this analysis all body pairs (i.e. overlaps or edges) that were processed by the narrow phase collision detection algorithm are examined.
For each body pair the contact state is determined and all separated body pairs are filtred from the set of processed body pairs. This is because it does not make sense to run contact determination on a separated body pair.
edges |
void OpenTissue::mbd::SingleGroupAnalysis< types >::remove | ( | body_type * | ) | [inline] |
configuration_type* OpenTissue::mbd::SingleGroupAnalysis< types >::m_configuration [protected] |
A pointer to the configuration that holds the current configuration.
group_type OpenTissue::mbd::SingleGroupAnalysis< types >::m_group [protected] |
A body group used to collected isolated bodies.
size_type OpenTissue::mbd::SingleGroupAnalysis< types >::m_time_stamp [protected] |
Time-stamp indicating which iteration the STC analysis i performed in.