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

OpenTissue::psys::MassSpringSystem< types, integrator_policy > Class Template Reference

#include <psys_mass_spring_system.h>

Inheritance diagram for OpenTissue::psys::MassSpringSystem< types, integrator_policy >:
OpenTissue::psys::System< types > OpenTissue::psys::SurfaceMesh< types, integrator_policy > OpenTissue::psys::Cloth< types, integrator_policy >

List of all members.

Public Types

typedef types::system_type system_type
typedef
system_type::particle_iterator 
particle_iterator
typedef
system_type::const_particle_iterator 
const_particle_iterator
typedef types::math_types math_types
typedef math_types::real_type real_type
typedef math_types::vector3_type vector3_type
typedef types::particle_type particle_type
typedef types::constraint_type constraint_type
typedef types::force_type force_type
typedef types::geometry_holder_type geometry_holder_type
typedef types::contact_point_type contact_point_type
typedef
boost::indirect_iterator
< typename
force_ptr_container::iterator,
force_type
force_iterator
typedef
boost::indirect_iterator
< typename
constraint_ptr_container::iterator,
constraint_type
constraint_iterator
typedef
geometry_container::iterator 
geometry_iterator

Public Member Functions

bool & relaxation ()
bool const & relaxation () const
bool & projection ()
bool const & projection () const
unsigned int & iterations ()
unsigned int const & iterations () const
force_iterator force_begin ()
force_iterator force_end ()
constraint_iterator constraint_begin ()
constraint_iterator constraint_end ()
geometry_iterator geometry_begin ()
geometry_iterator geometry_end ()
void clear (void)
void add_force (force_type *F)
void remove_force (force_type *F)
void add_constraint (constraint_type *C)
void remove_constraint (constraint_type *C)
template<typename geometry_type >
void add_geometry (geometry_type *G)
template<typename geometry_type >
void remove_geometry (geometry_type *G)
 MassSpringSystem (void)
 ~MassSpringSystem ()
void run (real_type timestep)
void compute_accelerations ()
void compute_forces ()

Protected Types

typedef std::list< force_type * > force_ptr_container
typedef std::list
< geometry_holder_type
geometry_container
typedef std::list
< constraint_type * > 
constraint_ptr_container

Protected Member Functions

void do_relaxation ()
void do_projection ()

Protected Attributes

unsigned int m_iterations
 Maximum number of iterations of the constraint relaxation.
bool m_relaxation
 Boolean flag indicating wheter contraint relaxation (shake and rattle) should be used.
bool m_projection
 Boolean flag indicating wheter projection is used under relaxation to hande collisions with other objects.
force_ptr_container m_forces
 A list of forces.
constraint_ptr_container m_constraints
 A list of constraints.
geometry_container m_geometries

template<typename types, typename integrator_policy>
class OpenTissue::psys::MassSpringSystem< types, integrator_policy >


Member Typedef Documentation

template<typename types , typename integrator_policy >
typedef system_type::const_particle_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::const_particle_iterator

Reimplemented from OpenTissue::psys::System< types >.

template<typename types , typename integrator_policy >
typedef boost::indirect_iterator< typename constraint_ptr_container::iterator, constraint_type> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_iterator
template<typename types , typename integrator_policy >
typedef std::list<constraint_type *> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_ptr_container [protected]
template<typename types , typename integrator_policy >
typedef types::constraint_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_type
template<typename types , typename integrator_policy >
typedef types::contact_point_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::contact_point_type
template<typename types , typename integrator_policy >
typedef boost::indirect_iterator< typename force_ptr_container::iterator, force_type> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_iterator
template<typename types , typename integrator_policy >
typedef std::list<force_type *> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_ptr_container [protected]
template<typename types , typename integrator_policy >
typedef types::force_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_type
template<typename types , typename integrator_policy >
typedef std::list<geometry_holder_type> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_container [protected]
template<typename types , typename integrator_policy >
typedef types::geometry_holder_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_holder_type
template<typename types , typename integrator_policy >
typedef geometry_container::iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_iterator
template<typename types , typename integrator_policy >
typedef system_type::particle_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::particle_iterator

Reimplemented from OpenTissue::psys::System< types >.

template<typename types , typename integrator_policy >
typedef types::particle_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::particle_type
template<typename types , typename integrator_policy >
typedef types::system_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::system_type

Constructor & Destructor Documentation

template<typename types , typename integrator_policy >
OpenTissue::psys::MassSpringSystem< types, integrator_policy >::MassSpringSystem ( void   )  [inline]
template<typename types , typename integrator_policy >
OpenTissue::psys::MassSpringSystem< types, integrator_policy >::~MassSpringSystem (  )  [inline]

Member Function Documentation

template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::add_constraint ( constraint_type C  )  [inline]
template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::add_force ( force_type F  )  [inline]
template<typename types , typename integrator_policy >
template<typename geometry_type >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::add_geometry ( geometry_type *  G  )  [inline]
template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::clear ( void   )  [inline]
template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::compute_accelerations (  )  [inline]
template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::compute_forces (  )  [inline]
template<typename types , typename integrator_policy >
constraint_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_begin (  )  [inline]
template<typename types , typename integrator_policy >
constraint_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_end (  )  [inline]
template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::do_projection (  )  [inline, protected]
template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::do_relaxation (  )  [inline, protected]
template<typename types , typename integrator_policy >
force_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_begin (  )  [inline]
template<typename types , typename integrator_policy >
force_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_end (  )  [inline]
template<typename types , typename integrator_policy >
geometry_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_begin (  )  [inline]
template<typename types , typename integrator_policy >
geometry_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_end (  )  [inline]
template<typename types , typename integrator_policy >
unsigned int& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::iterations (  )  [inline]
template<typename types , typename integrator_policy >
unsigned int const& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::iterations (  )  const [inline]
template<typename types , typename integrator_policy >
bool const& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::projection (  )  const [inline]
template<typename types , typename integrator_policy >
bool& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::projection (  )  [inline]
template<typename types , typename integrator_policy >
bool const& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::relaxation (  )  const [inline]
template<typename types , typename integrator_policy >
bool& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::relaxation (  )  [inline]
template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::remove_constraint ( constraint_type C  )  [inline]
template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::remove_force ( force_type F  )  [inline]
template<typename types , typename integrator_policy >
template<typename geometry_type >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::remove_geometry ( geometry_type *  G  )  [inline]
template<typename types , typename integrator_policy >
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::run ( real_type  timestep  )  [inline]

Member Data Documentation

template<typename types , typename integrator_policy >
constraint_ptr_container OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_constraints [protected]

A list of constraints.

template<typename types , typename integrator_policy >
force_ptr_container OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_forces [protected]

A list of forces.

template<typename types , typename integrator_policy >
geometry_container OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_geometries [protected]

A list of geometries that this particle cluster should perform collision detection against.

template<typename types , typename integrator_policy >
unsigned int OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_iterations [protected]

Maximum number of iterations of the constraint relaxation.

template<typename types , typename integrator_policy >
bool OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_projection [protected]

Boolean flag indicating wheter projection is used under relaxation to hande collisions with other objects.

template<typename types , typename integrator_policy >
bool OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_relaxation [protected]

Boolean flag indicating wheter contraint relaxation (shake and rattle) should be used.


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