#include <mbd_stack_analysis.h>
Classes | |
class | constraint_traits |
class | edge_traits |
class | node_traits |
Public Member Functions | |
StackAnalysis () | |
size_type | analyze (group_type &group, group_container &layers) |
Protected Types | |
typedef mbd_types::math_policy::index_type | index_type |
typedef mbd_types::math_policy::index_type | size_type |
typedef mbd_types::math_policy::real_type | real_type |
typedef mbd_types::math_policy::vector3_type | vector3_type |
typedef mbd_types::group_type | group_type |
typedef mbd_types::body_type | body_type |
typedef mbd_types::edge_type | edge_type |
typedef mbd_types::contact_type | contact_type |
typedef mbd_types::material_type | material_type |
typedef mbd_types::edge_ptr_container | edge_ptr_container |
typedef mbd_types::indirect_edge_iterator | indirect_edge_iterator |
typedef mbd_types::group_container | group_container |
typedef std::vector < contact_type * > | contact_ptr_heap |
typedef std::list< body_type * > | body_ptr_queue |
Protected Attributes | |
index_type | m_time_stamp |
Time-stamp of last time algorithm was invoked. |
Stack Analysis.
This auxiliary tool analyses a contact group in order to see if it forms a ``stack''.
A stack is loosely defined as when something is in contact with a fixed body.
Contacts (and constraints) can be assigned a stack layer, equivalent to how long a path there is to the closest fixed body.
The two incident bodies at a contact can be assigned a lower or upper state. Depending on which one that is closest to a fixed body. This state can be deduced from the stack height of the bodies. Stack height is the smallest number of contacts to a fixed body.
typedef std::list<body_type*> OpenTissue::mbd::StackAnalysis< mbd_types >::body_ptr_queue [protected] |
typedef mbd_types::body_type OpenTissue::mbd::StackAnalysis< mbd_types >::body_type [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef std::vector<contact_type*> OpenTissue::mbd::StackAnalysis< mbd_types >::contact_ptr_heap [protected] |
typedef mbd_types::contact_type OpenTissue::mbd::StackAnalysis< mbd_types >::contact_type [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::edge_ptr_container OpenTissue::mbd::StackAnalysis< mbd_types >::edge_ptr_container [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::edge_type OpenTissue::mbd::StackAnalysis< mbd_types >::edge_type [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::group_container OpenTissue::mbd::StackAnalysis< mbd_types >::group_container [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::group_type OpenTissue::mbd::StackAnalysis< mbd_types >::group_type [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::math_policy::index_type OpenTissue::mbd::StackAnalysis< mbd_types >::index_type [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::indirect_edge_iterator OpenTissue::mbd::StackAnalysis< mbd_types >::indirect_edge_iterator [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::material_type OpenTissue::mbd::StackAnalysis< mbd_types >::material_type [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::math_policy::real_type OpenTissue::mbd::StackAnalysis< mbd_types >::real_type [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::math_policy::index_type OpenTissue::mbd::StackAnalysis< mbd_types >::size_type [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
typedef mbd_types::math_policy::vector3_type OpenTissue::mbd::StackAnalysis< mbd_types >::vector3_type [protected] |
Reimplemented in OpenTissue::mbd::StackPropagation< mbd_types >, and OpenTissue::mbd::StackPropagation< types >.
OpenTissue::mbd::StackAnalysis< mbd_types >::StackAnalysis | ( | ) | [inline] |
size_type OpenTissue::mbd::StackAnalysis< mbd_types >::analyze | ( | group_type & | group, | |
group_container & | layers | |||
) | [inline] |
Analyse Contact group_type.
group | The contact group that should be analysed. | |
layers | Upon return this argument holds the stack layers, they are stored in increasing height. |
index_type OpenTissue::mbd::StackAnalysis< mbd_types >::m_time_stamp [protected] |
Time-stamp of last time algorithm was invoked.