#include <edm_model.h>
Public Types | |
typedef edm_types::value_traits | value_traits |
typedef edm_types::real_type | real_type |
typedef edm_types::vector3_type | vector3_type |
typedef edm_types::model_id_type | model_id_type |
typedef edm_types::Particle | particle_type |
typedef edm_types::force_type | force_type |
typedef edm_types::object_type | object_type |
typedef std::list< force_type const * > | Forces |
typedef std::list< object_type const * > | Objects |
typedef std::map < particle_type const *, Forces > | EDMLocalForces |
typedef ublas::compressed_matrix < real_type > | EDMMatrix |
typedef ublas::vector< real_type > | EDMVector |
Public Member Functions | |
Model (model_id_type type) | |
virtual | ~Model () |
model_id_type const & | type () const |
real_type & | strength () |
real_type const & | strength () const |
real_type & | timestep () |
real_type const & | timestep () const |
Model & | add (force_type const &f) |
Model & | remove (force_type const &f) |
Model & | add (particle_type const &a, force_type const &f) |
Model & | remove (particle_type const &a, force_type const &f) |
Model & | add (object_type const &o) |
Model & | remove (object_type const &o) |
size_t | num_particles () const |
vector3_type const & | position (size_t idx) const |
particle_type const & | particle (size_t idx) const |
bool | lock_particle (size_t idx) |
bool | unlock_particle (size_t idx) |
bool | move_particle (size_t idx, vector3_type const &displacement) |
void | run (bool compute_elasticity) |
Protected Member Functions | |
vector3_type | compute_external_forces (particle_type const &a) const |
bool | collision_projection (vector3_type &r) const |
void | set (size_t num_nodes) |
Protected Attributes | |
Forces | m_Fs |
external forces acting on all particles | |
EDMLocalForces | m_LFs |
specified external forces acting on a single particle | |
Objects | m_Os |
IIIOs the body should perform collision against. | |
real_type | m_dt |
timestep (delta t) | |
real_type | m_strength |
vector3_type * | m_rest |
vector3_type * | m_init |
size_t | m_max_nodes |
typedef std::map<particle_type const *, Forces> OpenTissue::edm::Model< edm_types >::EDMLocalForces |
typedef ublas::compressed_matrix<real_type> OpenTissue::edm::Model< edm_types >::EDMMatrix |
typedef ublas::vector<real_type> OpenTissue::edm::Model< edm_types >::EDMVector |
typedef edm_types::force_type OpenTissue::edm::Model< edm_types >::force_type |
typedef std::list<force_type const *> OpenTissue::edm::Model< edm_types >::Forces |
typedef edm_types::model_id_type OpenTissue::edm::Model< edm_types >::model_id_type |
typedef edm_types::object_type OpenTissue::edm::Model< edm_types >::object_type |
typedef std::list<object_type const *> OpenTissue::edm::Model< edm_types >::Objects |
typedef edm_types::Particle OpenTissue::edm::Model< edm_types >::particle_type |
typedef edm_types::real_type OpenTissue::edm::Model< edm_types >::real_type |
typedef edm_types::value_traits OpenTissue::edm::Model< edm_types >::value_traits |
typedef edm_types::vector3_type OpenTissue::edm::Model< edm_types >::vector3_type |
OpenTissue::edm::Model< edm_types >::Model | ( | model_id_type | type | ) | [inline] |
virtual OpenTissue::edm::Model< edm_types >::~Model | ( | ) | [inline, virtual] |
Model& OpenTissue::edm::Model< edm_types >::add | ( | force_type const & | f | ) | [inline] |
Model& OpenTissue::edm::Model< edm_types >::add | ( | particle_type const & | a, | |
force_type const & | f | |||
) | [inline] |
Model& OpenTissue::edm::Model< edm_types >::add | ( | object_type const & | o | ) | [inline] |
bool OpenTissue::edm::Model< edm_types >::collision_projection | ( | vector3_type & | r | ) | const [inline, protected] |
vector3_type OpenTissue::edm::Model< edm_types >::compute_external_forces | ( | particle_type const & | a | ) | const [inline, protected] |
bool OpenTissue::edm::Model< edm_types >::lock_particle | ( | size_t | idx | ) | [inline] |
bool OpenTissue::edm::Model< edm_types >::move_particle | ( | size_t | idx, | |
vector3_type const & | displacement | |||
) | [inline] |
size_t OpenTissue::edm::Model< edm_types >::num_particles | ( | ) | const [inline] |
particle_type const& OpenTissue::edm::Model< edm_types >::particle | ( | size_t | idx | ) | const [inline] |
vector3_type const& OpenTissue::edm::Model< edm_types >::position | ( | size_t | idx | ) | const [inline] |
Model& OpenTissue::edm::Model< edm_types >::remove | ( | particle_type const & | a, | |
force_type const & | f | |||
) | [inline] |
Model& OpenTissue::edm::Model< edm_types >::remove | ( | object_type const & | o | ) | [inline] |
Model& OpenTissue::edm::Model< edm_types >::remove | ( | force_type const & | f | ) | [inline] |
void OpenTissue::edm::Model< edm_types >::run | ( | bool | compute_elasticity | ) | [inline] |
< This variable holds the number of used iterations in the conjugate gradient solver
void OpenTissue::edm::Model< edm_types >::set | ( | size_t | num_nodes | ) | [inline, protected] |
real_type& OpenTissue::edm::Model< edm_types >::strength | ( | ) | [inline] |
real_type const& OpenTissue::edm::Model< edm_types >::strength | ( | ) | const [inline] |
real_type const& OpenTissue::edm::Model< edm_types >::timestep | ( | ) | const [inline] |
real_type& OpenTissue::edm::Model< edm_types >::timestep | ( | ) | [inline] |
model_id_type const& OpenTissue::edm::Model< edm_types >::type | ( | ) | const [inline] |
bool OpenTissue::edm::Model< edm_types >::unlock_particle | ( | size_t | idx | ) | [inline] |
real_type OpenTissue::edm::Model< edm_types >::m_dt [protected] |
timestep (delta t)
Forces OpenTissue::edm::Model< edm_types >::m_Fs [protected] |
external forces acting on all particles
vector3_type* OpenTissue::edm::Model< edm_types >::m_init [protected] |
EDMLocalForces OpenTissue::edm::Model< edm_types >::m_LFs [protected] |
specified external forces acting on a single particle
size_t OpenTissue::edm::Model< edm_types >::m_max_nodes [protected] |
Objects OpenTissue::edm::Model< edm_types >::m_Os [protected] |
IIIOs the body should perform collision against.
vector3_type* OpenTissue::edm::Model< edm_types >::m_rest [protected] |
real_type OpenTissue::edm::Model< edm_types >::m_strength [protected] |