1 #ifndef THREEPARTICLEFORCE_H
2 #define THREEPARTICLEFORCE_H
23 virtual void calculateAndApplyForce(
Atom *atom1,
Atom *atom2,
Atom *atom3) = 0;
24 virtual void calculateAndApplyForce(
Atom* atom1,
Atom* atom2,
Atom *atom3,
const Vector3 &atom2Offset,
const Vector3 &atom3Offset) = 0;
26 void setNewtonsThirdLawEnabled(
bool enable);
27 bool isNewtonsThirdLawEnabled();
28 void setCalculatePressureEnabled(
bool enable);
29 bool isCalculatePressureEnabled();
30 void setCalculatePotentialEnabled(
bool enable);
31 bool isCalculatePotentialEnabled();
32 double cutoffRadius()
const;
33 void setCutoffRadius(
double cutoffRadius);
35 bool m_isCalculatePotentialEnabled;
36 bool m_isCalculatePressureEnabled;
37 bool m_isNewtonsThirdLawEnabled;
38 double m_cutoffRadius;
42 m_isNewtonsThirdLawEnabled = enable;
46 return m_isNewtonsThirdLawEnabled;
50 m_isCalculatePressureEnabled = enable;
54 return m_isCalculatePressureEnabled;
58 m_isCalculatePotentialEnabled = enable;
62 return m_isCalculatePotentialEnabled;
65 #endif // THREEPARTICLEFORCE_H