Classes | Public Member Functions | Protected Types | Protected Attributes

OpenTissue::mbd::StackAnalysis< mbd_types > Class Template Reference

#include <mbd_stack_analysis.h>

Inheritance diagram for OpenTissue::mbd::StackAnalysis< mbd_types >:
OpenTissue::mbd::StackPropagation< mbd_types >

List of all members.

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.

Detailed Description

template<typename mbd_types>
class OpenTissue::mbd::StackAnalysis< mbd_types >

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.


Member Typedef Documentation

template<typename mbd_types>
typedef std::list<body_type*> OpenTissue::mbd::StackAnalysis< mbd_types >::body_ptr_queue [protected]
template<typename mbd_types>
typedef mbd_types::body_type OpenTissue::mbd::StackAnalysis< mbd_types >::body_type [protected]
template<typename mbd_types>
typedef std::vector<contact_type*> OpenTissue::mbd::StackAnalysis< mbd_types >::contact_ptr_heap [protected]
template<typename mbd_types>
typedef mbd_types::contact_type OpenTissue::mbd::StackAnalysis< mbd_types >::contact_type [protected]
template<typename mbd_types>
typedef mbd_types::edge_ptr_container OpenTissue::mbd::StackAnalysis< mbd_types >::edge_ptr_container [protected]
template<typename mbd_types>
typedef mbd_types::edge_type OpenTissue::mbd::StackAnalysis< mbd_types >::edge_type [protected]
template<typename mbd_types>
typedef mbd_types::group_container OpenTissue::mbd::StackAnalysis< mbd_types >::group_container [protected]
template<typename mbd_types>
typedef mbd_types::group_type OpenTissue::mbd::StackAnalysis< mbd_types >::group_type [protected]
template<typename mbd_types>
typedef mbd_types::math_policy::index_type OpenTissue::mbd::StackAnalysis< mbd_types >::index_type [protected]
template<typename mbd_types>
typedef mbd_types::indirect_edge_iterator OpenTissue::mbd::StackAnalysis< mbd_types >::indirect_edge_iterator [protected]
template<typename mbd_types>
typedef mbd_types::material_type OpenTissue::mbd::StackAnalysis< mbd_types >::material_type [protected]
template<typename mbd_types>
typedef mbd_types::math_policy::index_type OpenTissue::mbd::StackAnalysis< mbd_types >::size_type [protected]

Constructor & Destructor Documentation

template<typename mbd_types>
OpenTissue::mbd::StackAnalysis< mbd_types >::StackAnalysis (  )  [inline]

Member Function Documentation

template<typename mbd_types>
size_type OpenTissue::mbd::StackAnalysis< mbd_types >::analyze ( group_type group,
group_container layers 
) [inline]

Analyse Contact group_type.

Parameters:
group The contact group that should be analysed.
layers Upon return this argument holds the stack layers, they are stored in increasing height.
Returns:
The number of stack layers, this is equal to the maximum height of the stack.

Member Data Documentation

template<typename mbd_types>
index_type OpenTissue::mbd::StackAnalysis< mbd_types >::m_time_stamp [protected]

Time-stamp of last time algorithm was invoked.


The documentation for this class was generated from the following file: