delete preconditioner in destructor

This commit is contained in:
Xuchen Han
2019-08-21 22:44:10 -07:00
parent 750ff33f26
commit b93c3c56ed
3 changed files with 9 additions and 4 deletions

View File

@@ -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");

View File

@@ -26,13 +26,11 @@
#include "btDeformableMultiBodyDynamicsWorld.h"
#include "LinearMath/btQuickprof.h"
//class btDeformableMultiBodyDynamicsWorld;
class btDeformableBackwardEulerObjective
{
public:
typedef btAlignedObjectArray<btVector3> TVStack;
btScalar m_dt;
// btDeformableMultiBodyDynamicsWorld* m_world;
btAlignedObjectArray<btDeformableLagrangianForce*> m_lf;
btAlignedObjectArray<btSoftBody *>& m_softBodies;
Preconditioner* m_preconditioner;
@@ -41,7 +39,7 @@ public:
btAlignedObjectArray<btSoftBody::Node* > m_nodes;
btDeformableBackwardEulerObjective(btAlignedObjectArray<btSoftBody *>& softBodies, const TVStack& backup_v);
virtual ~btDeformableBackwardEulerObjective() {}
virtual ~btDeformableBackwardEulerObjective();
void initialize(){}

View File

@@ -22,6 +22,7 @@ public:
typedef btAlignedObjectArray<btVector3> 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