delete preconditioner in destructor
This commit is contained in:
@@ -24,6 +24,11 @@ btDeformableBackwardEulerObjective::btDeformableBackwardEulerObjective(btAligned
|
|||||||
m_preconditioner = new DefaultPreconditioner();
|
m_preconditioner = new DefaultPreconditioner();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
btDeformableBackwardEulerObjective::~btDeformableBackwardEulerObjective()
|
||||||
|
{
|
||||||
|
delete m_preconditioner;
|
||||||
|
}
|
||||||
|
|
||||||
void btDeformableBackwardEulerObjective::reinitialize(bool nodeUpdated, btScalar dt)
|
void btDeformableBackwardEulerObjective::reinitialize(bool nodeUpdated, btScalar dt)
|
||||||
{
|
{
|
||||||
BT_PROFILE("reinitialize");
|
BT_PROFILE("reinitialize");
|
||||||
|
|||||||
@@ -26,13 +26,11 @@
|
|||||||
#include "btDeformableMultiBodyDynamicsWorld.h"
|
#include "btDeformableMultiBodyDynamicsWorld.h"
|
||||||
#include "LinearMath/btQuickprof.h"
|
#include "LinearMath/btQuickprof.h"
|
||||||
|
|
||||||
//class btDeformableMultiBodyDynamicsWorld;
|
|
||||||
class btDeformableBackwardEulerObjective
|
class btDeformableBackwardEulerObjective
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef btAlignedObjectArray<btVector3> TVStack;
|
typedef btAlignedObjectArray<btVector3> TVStack;
|
||||||
btScalar m_dt;
|
btScalar m_dt;
|
||||||
// btDeformableMultiBodyDynamicsWorld* m_world;
|
|
||||||
btAlignedObjectArray<btDeformableLagrangianForce*> m_lf;
|
btAlignedObjectArray<btDeformableLagrangianForce*> m_lf;
|
||||||
btAlignedObjectArray<btSoftBody *>& m_softBodies;
|
btAlignedObjectArray<btSoftBody *>& m_softBodies;
|
||||||
Preconditioner* m_preconditioner;
|
Preconditioner* m_preconditioner;
|
||||||
@@ -41,7 +39,7 @@ public:
|
|||||||
btAlignedObjectArray<btSoftBody::Node* > m_nodes;
|
btAlignedObjectArray<btSoftBody::Node* > m_nodes;
|
||||||
btDeformableBackwardEulerObjective(btAlignedObjectArray<btSoftBody *>& softBodies, const TVStack& backup_v);
|
btDeformableBackwardEulerObjective(btAlignedObjectArray<btSoftBody *>& softBodies, const TVStack& backup_v);
|
||||||
|
|
||||||
virtual ~btDeformableBackwardEulerObjective() {}
|
virtual ~btDeformableBackwardEulerObjective();
|
||||||
|
|
||||||
void initialize(){}
|
void initialize(){}
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ public:
|
|||||||
typedef btAlignedObjectArray<btVector3> TVStack;
|
typedef btAlignedObjectArray<btVector3> TVStack;
|
||||||
virtual void operator()(const TVStack& x, TVStack& b) = 0;
|
virtual void operator()(const TVStack& x, TVStack& b) = 0;
|
||||||
virtual void reinitialize(bool nodeUpdated) = 0;
|
virtual void reinitialize(bool nodeUpdated) = 0;
|
||||||
|
virtual ~Preconditioner(){}
|
||||||
};
|
};
|
||||||
|
|
||||||
class DefaultPreconditioner : public Preconditioner
|
class DefaultPreconditioner : public Preconditioner
|
||||||
@@ -35,8 +36,9 @@ public:
|
|||||||
}
|
}
|
||||||
virtual void reinitialize(bool nodeUpdated)
|
virtual void reinitialize(bool nodeUpdated)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual ~DefaultPreconditioner(){}
|
||||||
};
|
};
|
||||||
|
|
||||||
class MassPreconditioner : public Preconditioner
|
class MassPreconditioner : public Preconditioner
|
||||||
|
|||||||
Reference in New Issue
Block a user