diff --git a/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp b/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp index 1dee17be8..41b1f74c7 100644 --- a/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp +++ b/src/BulletSoftBody/btDeformableBackwardEulerObjective.cpp @@ -24,6 +24,11 @@ btDeformableBackwardEulerObjective::btDeformableBackwardEulerObjective(btAligned m_preconditioner = new DefaultPreconditioner(); } +btDeformableBackwardEulerObjective::~btDeformableBackwardEulerObjective() +{ + delete m_preconditioner; +} + void btDeformableBackwardEulerObjective::reinitialize(bool nodeUpdated, btScalar dt) { BT_PROFILE("reinitialize"); diff --git a/src/BulletSoftBody/btDeformableBackwardEulerObjective.h b/src/BulletSoftBody/btDeformableBackwardEulerObjective.h index cf8ba9920..e028564c5 100644 --- a/src/BulletSoftBody/btDeformableBackwardEulerObjective.h +++ b/src/BulletSoftBody/btDeformableBackwardEulerObjective.h @@ -26,13 +26,11 @@ #include "btDeformableMultiBodyDynamicsWorld.h" #include "LinearMath/btQuickprof.h" -//class btDeformableMultiBodyDynamicsWorld; class btDeformableBackwardEulerObjective { public: typedef btAlignedObjectArray TVStack; btScalar m_dt; -// btDeformableMultiBodyDynamicsWorld* m_world; btAlignedObjectArray m_lf; btAlignedObjectArray& m_softBodies; Preconditioner* m_preconditioner; @@ -41,7 +39,7 @@ public: btAlignedObjectArray m_nodes; btDeformableBackwardEulerObjective(btAlignedObjectArray& softBodies, const TVStack& backup_v); - virtual ~btDeformableBackwardEulerObjective() {} + virtual ~btDeformableBackwardEulerObjective(); void initialize(){} diff --git a/src/BulletSoftBody/btPreconditioner.h b/src/BulletSoftBody/btPreconditioner.h index 15ee949a5..32d697a63 100644 --- a/src/BulletSoftBody/btPreconditioner.h +++ b/src/BulletSoftBody/btPreconditioner.h @@ -22,6 +22,7 @@ public: typedef btAlignedObjectArray TVStack; virtual void operator()(const TVStack& x, TVStack& b) = 0; virtual void reinitialize(bool nodeUpdated) = 0; + virtual ~Preconditioner(){} }; class DefaultPreconditioner : public Preconditioner @@ -35,8 +36,9 @@ public: } virtual void reinitialize(bool nodeUpdated) { - } + + virtual ~DefaultPreconditioner(){} }; class MassPreconditioner : public Preconditioner