#include <meshless_deformation_shape_matching_simulator.h>
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_type > | particle_container |
typedef particle_container::iterator | particle_iterator |
typedef detail::Cluster < math_types > | cluster_type |
typedef std::list< cluster_type > | cluster_container |
typedef cluster_container::iterator | cluster_iterator |
Public Member Functions | |
particle_type * | create_particle () |
cluster_type * | create_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. |
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).
typedef std::list<cluster_type> OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::cluster_container |
typedef cluster_container::iterator OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::cluster_iterator |
typedef detail::Cluster<math_types> OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::cluster_type |
typedef std::list<particle_type> OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::particle_container |
typedef particle_container::iterator OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::particle_iterator |
typedef detail::Particle<math_types> OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::particle_type |
typedef math_types::real_type OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::real_type |
typedef math_types::vector3_type OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::vector3_type |
void OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::clear | ( | ) | [inline] |
cluster_type* OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::create_cluster | ( | ) | [inline] |
particle_type* OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::create_particle | ( | ) | [inline] |
void OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::init | ( | ) | [inline] |
particle_iterator OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::particle_begin | ( | ) | [inline] |
particle_iterator OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::particle_end | ( | ) | [inline] |
void OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::run | ( | real_type const & | dt | ) | [inline] |
Remember to setup external forces prior to invokation.
dt | Time step size. |
size_t OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::size_clusters | ( | ) | const [inline] |
size_t OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::size_particles | ( | ) | const [inline] |
cluster_container OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::m_clusters [protected] |
Collection of all clusters.
particle_container OpenTissue::meshless_deformation::ShapeMatchingSimulator< math_types >::m_particles [protected] |
Collection of all particles.