Public Types | Public Member Functions | Protected Attributes

OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types > Class Template Reference

#include <meshless_deformation_shape_matching_simulator.h>

List of all members.

Public Types

typedef math_types::real_type real_type
typedef math_types::vector3_type vector3_type
typedef detail::Particle
< math_types
particle_type
typedef std::list< particle_typeparticle_container
typedef
particle_container::iterator 
particle_iterator
typedef detail::Cluster
< math_types
cluster_type
typedef std::list< cluster_typecluster_container
typedef cluster_container::iterator cluster_iterator

Public Member Functions

particle_typecreate_particle ()
cluster_typecreate_cluster ()
size_t size_particles () const
size_t size_clusters () const
particle_iterator particle_begin ()
particle_iterator particle_end ()
void clear ()
void init ()
void run (real_type const &dt)

Protected Attributes

cluster_container m_clusters
 Collection of all clusters.
particle_container m_particles
 Collection of all particles.

Detailed Description

template<typename math_types>
class OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >

Meshless Deformation based on Shape Matching.

This implementation is based on the paper

{1073216, author = {Matthias M"{u}ller and Bruno Heidelberger and Matthias Teschner and Markus Gross}, title = {Meshless deformations based on shape matching}, journal = {ACM Trans. Graph.}, volume = {24}, number = {3}, year = {2005}, issn = {0730-0301}, pages = {471--478}, doi = {http://doi.acm.org/10.1145/1073204.1073216}, publisher = {ACM}, address = {New York, NY, USA}, }

One uses the method by doing the following steps

1) Create all clusters 2) Create all partciles 3) Bind particles to the clusters one wants them in. 4) Bind particle positions to any external data (for instance coordinates of vertices in a mesh).


Member Typedef Documentation

template<typename math_types >
typedef cluster_container::iterator OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::cluster_iterator
template<typename math_types >
typedef particle_container::iterator OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::particle_iterator

Member Function Documentation

template<typename math_types >
void OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::clear (  )  [inline]
template<typename math_types >
cluster_type* OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::create_cluster (  )  [inline]
template<typename math_types >
particle_type* OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::create_particle (  )  [inline]
template<typename math_types >
void OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::init (  )  [inline]
template<typename math_types >
particle_iterator OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::particle_begin (  )  [inline]
template<typename math_types >
particle_iterator OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::particle_end (  )  [inline]
template<typename math_types >
void OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::run ( real_type const &  dt  )  [inline]

Remember to setup external forces prior to invokation.

Parameters:
dt Time step size.
template<typename math_types >
size_t OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::size_clusters (  )  const [inline]
template<typename math_types >
size_t OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::size_particles (  )  const [inline]

Member Data Documentation

Collection of all clusters.

Collection of all particles.


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