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

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

#include <psys_surface_mesh.h>

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

List of all members.

Public Types

typedef MassSpringSystem
< types, integrator_policy > 
base_class
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 Stick< typesstick_type
typedef Spring< typesspring_type
typedef types::coupling_type coupling_type
typedef types::mesh_type mesh_type

Public Member Functions

int & rigidty ()
int const & rigidty () const
coupling_typecoupling ()
coupling_type const & coupling () const
 SurfaceMesh ()
virtual ~SurfaceMesh ()
virtual void clear ()
virtual void init (mesh_type &mesh, bool create_sticks, bool create_springs)

Public Attributes

coupling_type m_coupling
 Internal data structure used to find correspond particle of vertex.
int m_rigidty
 Constant used to determine how rigid a surface should be.
stick_container m_sticks
 Internal data structure used to store all stick constraints.
stick_lut_type m_stick_lut
 Internal datas tructure to record stick connections.
spring_container m_springs
 Internal data structure used to store all spring constraints.
spring_lut_type m_spring_lut
 Internal datas tructure to record spring connections.

Protected Types

typedef mesh_type::vertex_type vertex_type
typedef mesh_type::vertex_iterator vertex_iterator
typedef
mesh_type::vertex_halfedge_circulator 
vertex_halfedge_circulator
typedef std::list< stick_typestick_container
typedef std::list< stick_type * > stick_ptr_container
typedef std::map
< particle_type
*, stick_ptr_container
stick_lut_type
typedef std::list< spring_typespring_container
typedef std::list< spring_type * > spring_ptr_container
typedef std::map
< particle_type
*, spring_ptr_container
spring_lut_type

Protected Member Functions

bool exist_stick (particle_type *A, particle_type *B)
bool exist_spring (particle_type *A, particle_type *B)
void add_stick (particle_type *A, particle_type *B)
void add_spring (particle_type *A, particle_type *B)
template<typename vertex_iterator_container >
void traverse (vertex_iterator root, vertex_iterator from, bool create_sticks, bool create_springs, int dist, vertex_iterator_container &visited)

Detailed Description

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

Surface Mesh.

Takes a mesh and builds a particle system from it.


Member Typedef Documentation

template<typename types , typename integrator_policy >
typedef MassSpringSystem<types,integrator_policy> OpenTissue::psys::SurfaceMesh< types, integrator_policy >::base_class
template<typename types , typename integrator_policy >
typedef types::coupling_type OpenTissue::psys::SurfaceMesh< types, integrator_policy >::coupling_type
template<typename types , typename integrator_policy >
typedef types::math_types OpenTissue::psys::SurfaceMesh< types, integrator_policy >::math_types
template<typename types , typename integrator_policy >
typedef types::mesh_type OpenTissue::psys::SurfaceMesh< types, integrator_policy >::mesh_type
template<typename types , typename integrator_policy >
typedef types::particle_type OpenTissue::psys::SurfaceMesh< types, integrator_policy >::particle_type
template<typename types , typename integrator_policy >
typedef math_types::real_type OpenTissue::psys::SurfaceMesh< types, integrator_policy >::real_type
template<typename types , typename integrator_policy >
typedef std::list<spring_type> OpenTissue::psys::SurfaceMesh< types, integrator_policy >::spring_container [protected]
template<typename types , typename integrator_policy >
typedef std::map<particle_type*, spring_ptr_container > OpenTissue::psys::SurfaceMesh< types, integrator_policy >::spring_lut_type [protected]
template<typename types , typename integrator_policy >
typedef std::list<spring_type*> OpenTissue::psys::SurfaceMesh< types, integrator_policy >::spring_ptr_container [protected]
template<typename types , typename integrator_policy >
typedef Spring<types> OpenTissue::psys::SurfaceMesh< types, integrator_policy >::spring_type
template<typename types , typename integrator_policy >
typedef std::list<stick_type> OpenTissue::psys::SurfaceMesh< types, integrator_policy >::stick_container [protected]
template<typename types , typename integrator_policy >
typedef std::map<particle_type*, stick_ptr_container > OpenTissue::psys::SurfaceMesh< types, integrator_policy >::stick_lut_type [protected]
template<typename types , typename integrator_policy >
typedef std::list<stick_type*> OpenTissue::psys::SurfaceMesh< types, integrator_policy >::stick_ptr_container [protected]
template<typename types , typename integrator_policy >
typedef Stick<types> OpenTissue::psys::SurfaceMesh< types, integrator_policy >::stick_type
template<typename types , typename integrator_policy >
typedef math_types::vector3_type OpenTissue::psys::SurfaceMesh< types, integrator_policy >::vector3_type
template<typename types , typename integrator_policy >
typedef mesh_type::vertex_halfedge_circulator OpenTissue::psys::SurfaceMesh< types, integrator_policy >::vertex_halfedge_circulator [protected]
template<typename types , typename integrator_policy >
typedef mesh_type::vertex_iterator OpenTissue::psys::SurfaceMesh< types, integrator_policy >::vertex_iterator [protected]
template<typename types , typename integrator_policy >
typedef mesh_type::vertex_type OpenTissue::psys::SurfaceMesh< types, integrator_policy >::vertex_type [protected]

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename types , typename integrator_policy >
void OpenTissue::psys::SurfaceMesh< types, integrator_policy >::add_spring ( particle_type A,
particle_type B 
) [inline, protected]
template<typename types , typename integrator_policy >
void OpenTissue::psys::SurfaceMesh< types, integrator_policy >::add_stick ( particle_type A,
particle_type B 
) [inline, protected]
template<typename types , typename integrator_policy >
virtual void OpenTissue::psys::SurfaceMesh< types, integrator_policy >::clear ( void   )  [inline, virtual]
template<typename types , typename integrator_policy >
coupling_type const& OpenTissue::psys::SurfaceMesh< types, integrator_policy >::coupling (  )  const [inline]
template<typename types , typename integrator_policy >
coupling_type& OpenTissue::psys::SurfaceMesh< types, integrator_policy >::coupling (  )  [inline]
template<typename types , typename integrator_policy >
bool OpenTissue::psys::SurfaceMesh< types, integrator_policy >::exist_spring ( particle_type A,
particle_type B 
) [inline, protected]
template<typename types , typename integrator_policy >
bool OpenTissue::psys::SurfaceMesh< types, integrator_policy >::exist_stick ( particle_type A,
particle_type B 
) [inline, protected]
template<typename types , typename integrator_policy >
virtual void OpenTissue::psys::SurfaceMesh< types, integrator_policy >::init ( mesh_type mesh,
bool  create_sticks,
bool  create_springs 
) [inline, virtual]
template<typename types , typename integrator_policy >
int& OpenTissue::psys::SurfaceMesh< types, integrator_policy >::rigidty (  )  [inline]
template<typename types , typename integrator_policy >
int const& OpenTissue::psys::SurfaceMesh< types, integrator_policy >::rigidty (  )  const [inline]
template<typename types , typename integrator_policy >
template<typename vertex_iterator_container >
void OpenTissue::psys::SurfaceMesh< types, integrator_policy >::traverse ( vertex_iterator  root,
vertex_iterator  from,
bool  create_sticks,
bool  create_springs,
int  dist,
vertex_iterator_container &  visited 
) [inline, protected]

Member Data Documentation

template<typename types , typename integrator_policy >
coupling_type OpenTissue::psys::SurfaceMesh< types, integrator_policy >::m_coupling

Internal data structure used to find correspond particle of vertex.

template<typename types , typename integrator_policy >
int OpenTissue::psys::SurfaceMesh< types, integrator_policy >::m_rigidty

Constant used to determine how rigid a surface should be.

template<typename types , typename integrator_policy >
spring_lut_type OpenTissue::psys::SurfaceMesh< types, integrator_policy >::m_spring_lut

Internal datas tructure to record spring connections.

template<typename types , typename integrator_policy >
spring_container OpenTissue::psys::SurfaceMesh< types, integrator_policy >::m_springs

Internal data structure used to store all spring constraints.

template<typename types , typename integrator_policy >
stick_lut_type OpenTissue::psys::SurfaceMesh< types, integrator_policy >::m_stick_lut

Internal datas tructure to record stick connections.

template<typename types , typename integrator_policy >
stick_container OpenTissue::psys::SurfaceMesh< types, integrator_policy >::m_sticks

Internal data structure used to store all stick constraints.


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