Public Types | Public Member Functions | Protected Types | Protected Attributes

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

#include <mbd_configuration.h>

List of all members.

Public Types

typedef mbd_types::body_type body_type
typedef mbd_types::edge_type edge_type
typedef
mbd_types::material_library_type 
material_library_type
typedef
mbd_types::math_policy::index_type 
size_type
typedef
boost::indirect_iterator
< body_ptr_lut_iterator
body_iterator
typedef
boost::indirect_iterator
< joint_ptr_lut_iterator
joint_iterator
typedef
OpenTissue::utility::map_data_iterator
< typename
edge_lut_type::iterator > 
edge_iterator

Public Member Functions

body_iterator body_begin ()
body_iterator body_end ()
edge_iterator edge_begin ()
edge_iterator edge_end ()
joint_iterator joint_begin ()
joint_iterator joint_end ()
size_type size_bodies () const
 Configuration ()
 ~Configuration ()
void set_material_library (material_library_type &library)
material_library_typeget_material_library () const
void set_collision_envelope (real_type const &value)
real_type const & get_collision_envelope () const
void connect (collision_detection_policy &collision_detection)
group_typeget_all_body_group ()
bool add (body_type *body)
bool remove (body_type *body)
bool add (joint_type *joint)
bool remove (joint_type *joint)
edge_typeget_edge (body_type *A, body_type *B)
edge_typeadd (body_type *A, body_type *B)
void remove (edge_type *edge)
void clear ()

Protected Types

typedef
mbd_types::math_policy::real_type 
real_type
typedef mbd_types::joint_type joint_type
typedef mbd_types::group_type group_type
typedef
mbd_types::collision_detection_policy 
collision_detection_policy
typedef stdext::hash_map
< size_type, body_type * > 
body_ptr_lut_type
typedef stdext::hash_map
< size_type, joint_type * > 
joint_ptr_lut_type
typedef stdext::hash_map
< size_type, edge_type
edge_lut_type
typedef
OpenTissue::utility::map_data_iterator
< typename
body_ptr_lut_type::iterator > 
body_ptr_lut_iterator
typedef
OpenTissue::utility::map_data_iterator
< typename
joint_ptr_lut_type::iterator > 
joint_ptr_lut_iterator

Protected Attributes

collision_detection_policym_collision_detection
 Collision Detection Engine.
material_library_typem_material_library
 material_type library
group_type m_all
 Internal data strucure used by the method ``get_all_body_group()''.
body_ptr_lut_type m_bodies
 All bodies currently added to the simulator.
joint_ptr_lut_type m_joints
 All joints currently added to the simulator.
edge_lut_type m_edges
 All edges that currently exist in the simulator.
real_type m_collision_envelope
 Size of collision envelope.

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


Member Typedef Documentation

template<typename mbd_types >
typedef boost::indirect_iterator<body_ptr_lut_iterator> OpenTissue::mbd::Configuration< mbd_types >::body_iterator
template<typename mbd_types >
typedef OpenTissue::utility::map_data_iterator<typename body_ptr_lut_type::iterator> OpenTissue::mbd::Configuration< mbd_types >::body_ptr_lut_iterator [protected]
template<typename mbd_types >
typedef stdext::hash_map<size_type, body_type*> OpenTissue::mbd::Configuration< mbd_types >::body_ptr_lut_type [protected]
template<typename mbd_types >
typedef mbd_types::body_type OpenTissue::mbd::Configuration< mbd_types >::body_type
template<typename mbd_types >
typedef mbd_types::collision_detection_policy OpenTissue::mbd::Configuration< mbd_types >::collision_detection_policy [protected]
template<typename mbd_types >
typedef OpenTissue::utility::map_data_iterator<typename edge_lut_type::iterator> OpenTissue::mbd::Configuration< mbd_types >::edge_iterator
template<typename mbd_types >
typedef stdext::hash_map<size_type, edge_type> OpenTissue::mbd::Configuration< mbd_types >::edge_lut_type [protected]
template<typename mbd_types >
typedef mbd_types::edge_type OpenTissue::mbd::Configuration< mbd_types >::edge_type
template<typename mbd_types >
typedef mbd_types::group_type OpenTissue::mbd::Configuration< mbd_types >::group_type [protected]
template<typename mbd_types >
typedef boost::indirect_iterator<joint_ptr_lut_iterator> OpenTissue::mbd::Configuration< mbd_types >::joint_iterator
template<typename mbd_types >
typedef OpenTissue::utility::map_data_iterator<typename joint_ptr_lut_type::iterator> OpenTissue::mbd::Configuration< mbd_types >::joint_ptr_lut_iterator [protected]
template<typename mbd_types >
typedef stdext::hash_map<size_type, joint_type*> OpenTissue::mbd::Configuration< mbd_types >::joint_ptr_lut_type [protected]
template<typename mbd_types >
typedef mbd_types::joint_type OpenTissue::mbd::Configuration< mbd_types >::joint_type [protected]
template<typename mbd_types >
typedef mbd_types::material_library_type OpenTissue::mbd::Configuration< mbd_types >::material_library_type
template<typename mbd_types >
typedef mbd_types::math_policy::real_type OpenTissue::mbd::Configuration< mbd_types >::real_type [protected]
template<typename mbd_types >
typedef mbd_types::math_policy::index_type OpenTissue::mbd::Configuration< mbd_types >::size_type

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename mbd_types >
bool OpenTissue::mbd::Configuration< mbd_types >::add ( body_type body  )  [inline]
template<typename mbd_types >
bool OpenTissue::mbd::Configuration< mbd_types >::add ( joint_type joint  )  [inline]
template<typename mbd_types >
edge_type* OpenTissue::mbd::Configuration< mbd_types >::add ( body_type A,
body_type B 
) [inline]

Add edge_type.

Parameters:
A A pointer to one of the incident bodies of the edge.
B A pointer to the other incident body of the edge.
Returns:
A pointer to the newly added edge.
template<typename mbd_types >
body_iterator OpenTissue::mbd::Configuration< mbd_types >::body_begin (  )  [inline]
template<typename mbd_types >
body_iterator OpenTissue::mbd::Configuration< mbd_types >::body_end (  )  [inline]
template<typename mbd_types >
void OpenTissue::mbd::Configuration< mbd_types >::clear (  )  [inline]
template<typename mbd_types >
void OpenTissue::mbd::Configuration< mbd_types >::connect ( collision_detection_policy collision_detection  )  [inline]

Collision Detection Connect Method. Used by simulator class to connect configuration with collision detection engine.

Parameters:
collision_detection The Collision Detection Engine.
template<typename mbd_types >
edge_iterator OpenTissue::mbd::Configuration< mbd_types >::edge_begin (  )  [inline]
template<typename mbd_types >
edge_iterator OpenTissue::mbd::Configuration< mbd_types >::edge_end (  )  [inline]
template<typename mbd_types >
group_type* OpenTissue::mbd::Configuration< mbd_types >::get_all_body_group (  )  [inline]

Get All body_type group_type. This method sets us a body group, containing (ONLY) all currently active bodies in the configuration at the time of invocation.

Returns:
A pointer to a BodyGroup, containting all active bodies.
template<typename mbd_types >
real_type const& OpenTissue::mbd::Configuration< mbd_types >::get_collision_envelope (  )  const [inline]
template<typename mbd_types >
edge_type* OpenTissue::mbd::Configuration< mbd_types >::get_edge ( body_type A,
body_type B 
) [inline]
template<typename mbd_types >
material_library_type* OpenTissue::mbd::Configuration< mbd_types >::get_material_library (  )  const [inline]
template<typename mbd_types >
joint_iterator OpenTissue::mbd::Configuration< mbd_types >::joint_begin (  )  [inline]
template<typename mbd_types >
joint_iterator OpenTissue::mbd::Configuration< mbd_types >::joint_end (  )  [inline]
template<typename mbd_types >
void OpenTissue::mbd::Configuration< mbd_types >::remove ( edge_type edge  )  [inline]
template<typename mbd_types >
bool OpenTissue::mbd::Configuration< mbd_types >::remove ( joint_type joint  )  [inline]
template<typename mbd_types >
bool OpenTissue::mbd::Configuration< mbd_types >::remove ( body_type body  )  [inline]
template<typename mbd_types >
void OpenTissue::mbd::Configuration< mbd_types >::set_collision_envelope ( real_type const &  value  )  [inline]
template<typename mbd_types >
void OpenTissue::mbd::Configuration< mbd_types >::set_material_library ( material_library_type library  )  [inline]
template<typename mbd_types >
size_type OpenTissue::mbd::Configuration< mbd_types >::size_bodies (  )  const [inline]

Member Data Documentation

template<typename mbd_types >
group_type OpenTissue::mbd::Configuration< mbd_types >::m_all [protected]

Internal data strucure used by the method ``get_all_body_group()''.

template<typename mbd_types >
body_ptr_lut_type OpenTissue::mbd::Configuration< mbd_types >::m_bodies [protected]

All bodies currently added to the simulator.

template<typename mbd_types >
collision_detection_policy* OpenTissue::mbd::Configuration< mbd_types >::m_collision_detection [protected]

Collision Detection Engine.

template<typename mbd_types >
real_type OpenTissue::mbd::Configuration< mbd_types >::m_collision_envelope [protected]

Size of collision envelope.

template<typename mbd_types >
edge_lut_type OpenTissue::mbd::Configuration< mbd_types >::m_edges [protected]

All edges that currently exist in the simulator.

template<typename mbd_types >
joint_ptr_lut_type OpenTissue::mbd::Configuration< mbd_types >::m_joints [protected]

All joints currently added to the simulator.

template<typename mbd_types >
material_library_type* OpenTissue::mbd::Configuration< mbd_types >::m_material_library [protected]

material_type library


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