7 #ifndef __tire_SoftSystem_h__ 8 #define __tire_SoftSystem_h__ 20 class ExternalForce :
public SemiImplicit::Force,
21 public CastableAs<ExternalForce>
24 ExternalForce(sp<SemiImplicit> a_integrator) {}
25 virtual ~ExternalForce(
void) {}
27 void bind(SemiImplicit::Particle *a_particle)
29 m_particle = a_particle;
32 virtual void accumulate(
void)
34 m_particle->m_force[0] += (t_solve_real)(m_force[0]);
35 m_particle->m_force[1] += (t_solve_real)(m_force[1]);
36 m_particle->m_force[2] += (t_solve_real)(m_force[2]);
39 void set(
const t_moa_v3 &a_force)
43 void add(
const t_moa_v3 &a_force)
47 t_solve_v3 location(
void)
49 return m_particle->m_location;
51 t_solve_v3 velocity(
void)
53 return m_particle->m_velocity;
57 SemiImplicit::Particle *m_particle;
71 void initialize(
void) {}
72 virtual void compile(
const t_note_id &a_note_id);
73 void step(t_moa_real a_dt);
80 std::vector< sp<ExternalForce> > m_spExternalForces;
81 std::vector<Record> m_forceParticles;
86 std::vector<Soft> m_softs;
kernel
Definition: namespace.dox:3
Time Stepping System.
Definition: Stepper.h:15
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Soft System.
Definition: SoftSystem.h:63
Non-persistent reference to an instance of a Layout.
Definition: WeakRecordSB.h:17