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

OpenTissue::edm::Model< edm_types > Class Template Reference

#include <edm_model.h>

List of all members.

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_typeEDMVector

Public Member Functions

 Model (model_id_type type)
virtual ~Model ()
model_id_type const & type () const
real_typestrength ()
real_type const & strength () const
real_typetimestep ()
real_type const & timestep () const
Modeladd (force_type const &f)
Modelremove (force_type const &f)
Modeladd (particle_type const &a, force_type const &f)
Modelremove (particle_type const &a, force_type const &f)
Modeladd (object_type const &o)
Modelremove (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_typem_rest
vector3_typem_init
size_t m_max_nodes

template<typename edm_types>
class OpenTissue::edm::Model< edm_types >


Member Typedef Documentation

template<typename edm_types >
typedef std::map<particle_type const *, Forces> OpenTissue::edm::Model< edm_types >::EDMLocalForces
template<typename edm_types >
typedef ublas::compressed_matrix<real_type> OpenTissue::edm::Model< edm_types >::EDMMatrix
template<typename edm_types >
typedef ublas::vector<real_type> OpenTissue::edm::Model< edm_types >::EDMVector
template<typename edm_types >
typedef edm_types::force_type OpenTissue::edm::Model< edm_types >::force_type
template<typename edm_types >
typedef std::list<force_type const *> OpenTissue::edm::Model< edm_types >::Forces
template<typename edm_types >
typedef edm_types::model_id_type OpenTissue::edm::Model< edm_types >::model_id_type
template<typename edm_types >
typedef edm_types::object_type OpenTissue::edm::Model< edm_types >::object_type
template<typename edm_types >
typedef std::list<object_type const *> OpenTissue::edm::Model< edm_types >::Objects
template<typename edm_types >
typedef edm_types::Particle OpenTissue::edm::Model< edm_types >::particle_type
template<typename edm_types >
typedef edm_types::real_type OpenTissue::edm::Model< edm_types >::real_type
template<typename edm_types >
typedef edm_types::value_traits OpenTissue::edm::Model< edm_types >::value_traits
template<typename edm_types >
typedef edm_types::vector3_type OpenTissue::edm::Model< edm_types >::vector3_type

Constructor & Destructor Documentation

template<typename edm_types >
OpenTissue::edm::Model< edm_types >::Model ( model_id_type  type  )  [inline]
template<typename edm_types >
virtual OpenTissue::edm::Model< edm_types >::~Model (  )  [inline, virtual]

Member Function Documentation

template<typename edm_types >
Model& OpenTissue::edm::Model< edm_types >::add ( force_type const &  f  )  [inline]
template<typename edm_types >
Model& OpenTissue::edm::Model< edm_types >::add ( particle_type const &  a,
force_type const &  f 
) [inline]
template<typename edm_types >
Model& OpenTissue::edm::Model< edm_types >::add ( object_type const &  o  )  [inline]
template<typename edm_types >
bool OpenTissue::edm::Model< edm_types >::collision_projection ( vector3_type r  )  const [inline, protected]
template<typename edm_types >
vector3_type OpenTissue::edm::Model< edm_types >::compute_external_forces ( particle_type const &  a  )  const [inline, protected]
template<typename edm_types >
bool OpenTissue::edm::Model< edm_types >::lock_particle ( size_t  idx  )  [inline]
template<typename edm_types >
bool OpenTissue::edm::Model< edm_types >::move_particle ( size_t  idx,
vector3_type const &  displacement 
) [inline]
template<typename edm_types >
size_t OpenTissue::edm::Model< edm_types >::num_particles (  )  const [inline]
template<typename edm_types >
particle_type const& OpenTissue::edm::Model< edm_types >::particle ( size_t  idx  )  const [inline]
template<typename edm_types >
vector3_type const& OpenTissue::edm::Model< edm_types >::position ( size_t  idx  )  const [inline]
template<typename edm_types >
Model& OpenTissue::edm::Model< edm_types >::remove ( particle_type const &  a,
force_type const &  f 
) [inline]
template<typename edm_types >
Model& OpenTissue::edm::Model< edm_types >::remove ( object_type const &  o  )  [inline]
template<typename edm_types >
Model& OpenTissue::edm::Model< edm_types >::remove ( force_type const &  f  )  [inline]
template<typename edm_types >
void OpenTissue::edm::Model< edm_types >::run ( bool  compute_elasticity  )  [inline]

< This variable holds the number of used iterations in the conjugate gradient solver

template<typename edm_types >
void OpenTissue::edm::Model< edm_types >::set ( size_t  num_nodes  )  [inline, protected]
template<typename edm_types >
real_type& OpenTissue::edm::Model< edm_types >::strength (  )  [inline]
template<typename edm_types >
real_type const& OpenTissue::edm::Model< edm_types >::strength (  )  const [inline]
template<typename edm_types >
real_type const& OpenTissue::edm::Model< edm_types >::timestep (  )  const [inline]
template<typename edm_types >
real_type& OpenTissue::edm::Model< edm_types >::timestep (  )  [inline]
template<typename edm_types >
model_id_type const& OpenTissue::edm::Model< edm_types >::type (  )  const [inline]
template<typename edm_types >
bool OpenTissue::edm::Model< edm_types >::unlock_particle ( size_t  idx  )  [inline]

Member Data Documentation

template<typename edm_types >
real_type OpenTissue::edm::Model< edm_types >::m_dt [protected]

timestep (delta t)

template<typename edm_types >
Forces OpenTissue::edm::Model< edm_types >::m_Fs [protected]

external forces acting on all particles

template<typename edm_types >
vector3_type* OpenTissue::edm::Model< edm_types >::m_init [protected]
template<typename edm_types >
EDMLocalForces OpenTissue::edm::Model< edm_types >::m_LFs [protected]

specified external forces acting on a single particle

template<typename edm_types >
size_t OpenTissue::edm::Model< edm_types >::m_max_nodes [protected]
template<typename edm_types >
Objects OpenTissue::edm::Model< edm_types >::m_Os [protected]

IIIOs the body should perform collision against.

template<typename edm_types >
vector3_type* OpenTissue::edm::Model< edm_types >::m_rest [protected]
template<typename edm_types >
real_type OpenTissue::edm::Model< edm_types >::m_strength [protected]

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