#include <psys_mass_spring_system.h>
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 |
typedef system_type::const_particle_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::const_particle_iterator |
Reimplemented from OpenTissue::psys::System< types >.
typedef boost::indirect_iterator< typename constraint_ptr_container::iterator, constraint_type> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_iterator |
typedef std::list<constraint_type *> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_ptr_container [protected] |
typedef types::constraint_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_type |
typedef types::contact_point_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::contact_point_type |
typedef boost::indirect_iterator< typename force_ptr_container::iterator, force_type> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_iterator |
typedef std::list<force_type *> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_ptr_container [protected] |
typedef types::force_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_type |
typedef std::list<geometry_holder_type> OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_container [protected] |
typedef types::geometry_holder_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_holder_type |
typedef geometry_container::iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_iterator |
typedef types::math_types OpenTissue::psys::MassSpringSystem< types, integrator_policy >::math_types |
Reimplemented from OpenTissue::psys::System< types >.
Reimplemented in OpenTissue::psys::Cloth< types, integrator_policy >, and OpenTissue::psys::SurfaceMesh< types, integrator_policy >.
typedef system_type::particle_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::particle_iterator |
Reimplemented from OpenTissue::psys::System< types >.
typedef types::particle_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::particle_type |
Reimplemented from OpenTissue::psys::System< types >.
Reimplemented in OpenTissue::psys::SurfaceMesh< types, integrator_policy >.
typedef math_types::real_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::real_type |
Reimplemented from OpenTissue::psys::System< types >.
Reimplemented in OpenTissue::psys::Cloth< types, integrator_policy >, and OpenTissue::psys::SurfaceMesh< types, integrator_policy >.
typedef types::system_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::system_type |
typedef math_types::vector3_type OpenTissue::psys::MassSpringSystem< types, integrator_policy >::vector3_type |
Reimplemented from OpenTissue::psys::System< types >.
Reimplemented in OpenTissue::psys::Cloth< types, integrator_policy >, and OpenTissue::psys::SurfaceMesh< types, integrator_policy >.
OpenTissue::psys::MassSpringSystem< types, integrator_policy >::MassSpringSystem | ( | void | ) | [inline] |
OpenTissue::psys::MassSpringSystem< types, integrator_policy >::~MassSpringSystem | ( | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::add_constraint | ( | constraint_type * | C | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::add_force | ( | force_type * | F | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::add_geometry | ( | geometry_type * | G | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::clear | ( | void | ) | [inline] |
Reimplemented from OpenTissue::psys::System< types >.
Reimplemented in OpenTissue::psys::SurfaceMesh< types, integrator_policy >.
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::compute_accelerations | ( | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::compute_forces | ( | ) | [inline] |
constraint_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_begin | ( | ) | [inline] |
constraint_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::constraint_end | ( | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::do_projection | ( | ) | [inline, protected] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::do_relaxation | ( | ) | [inline, protected] |
force_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_begin | ( | ) | [inline] |
force_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::force_end | ( | ) | [inline] |
geometry_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_begin | ( | ) | [inline] |
geometry_iterator OpenTissue::psys::MassSpringSystem< types, integrator_policy >::geometry_end | ( | ) | [inline] |
unsigned int& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::iterations | ( | ) | [inline] |
unsigned int const& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::iterations | ( | ) | const [inline] |
bool const& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::projection | ( | ) | const [inline] |
bool& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::projection | ( | ) | [inline] |
bool const& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::relaxation | ( | ) | const [inline] |
bool& OpenTissue::psys::MassSpringSystem< types, integrator_policy >::relaxation | ( | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::remove_constraint | ( | constraint_type * | C | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::remove_force | ( | force_type * | F | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::remove_geometry | ( | geometry_type * | G | ) | [inline] |
void OpenTissue::psys::MassSpringSystem< types, integrator_policy >::run | ( | real_type | timestep | ) | [inline] |
constraint_ptr_container OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_constraints [protected] |
A list of constraints.
force_ptr_container OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_forces [protected] |
A list of forces.
geometry_container OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_geometries [protected] |
A list of geometries that this particle cluster should perform collision detection against.
unsigned int OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_iterations [protected] |
Maximum number of iterations of the constraint relaxation.
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.
bool OpenTissue::psys::MassSpringSystem< types, integrator_policy >::m_relaxation [protected] |
Boolean flag indicating wheter contraint relaxation (shake and rattle) should be used.