Commit 1c779894 by Francois Gygi

Cleaned up destructors and virtual destructors


git-svn-id: http://qboxcode.org/svn/qb/trunk@664 cba15fb0-1239-40c8-b417-11db7ca47a34
parent 0d42924a
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// AngleConstraint.h // AngleConstraint.h
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// $Id: AngleConstraint.h,v 1.6 2008-09-08 15:56:17 fgygi Exp $ // $Id: AngleConstraint.h,v 1.7 2008-11-14 04:01:25 fgygi Exp $
#ifndef ANGLECONSTRAINT_H #ifndef ANGLECONSTRAINT_H
#define ANGLECONSTRAINT_H #define ANGLECONSTRAINT_H
...@@ -55,6 +55,7 @@ class AngleConstraint : public Constraint ...@@ -55,6 +55,7 @@ class AngleConstraint : public Constraint
force_ = 0.0; force_ = 0.0;
weight_ = 1.0; weight_ = 1.0;
} }
~AngleConstraint(void) {}
std::string type(void) const { return "angle"; } std::string type(void) const { return "angle"; }
double value(void) const { return angle_; } double value(void) const { return angle_; }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// AtomSet.C // AtomSet.C
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// $Id: AtomSet.C,v 1.24 2008-09-08 15:56:17 fgygi Exp $ // $Id: AtomSet.C,v 1.25 2008-11-14 04:01:26 fgygi Exp $
#include "AtomSet.h" #include "AtomSet.h"
#include "Species.h" #include "Species.h"
...@@ -26,6 +26,18 @@ ...@@ -26,6 +26,18 @@
using namespace std; using namespace std;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
AtomSet::~AtomSet(void)
{
for ( int is = 0; is < species_list.size(); is++ )
{
for ( int ia = 0; ia < atom_list[is].size(); ia++ )
{
delete atom_list[is][ia];
}
delete species_list[is];
}
}
////////////////////////////////////////////////////////////////////////////////
bool AtomSet::addSpecies(Species* sp, string name) bool AtomSet::addSpecies(Species* sp, string name)
{ {
if ( findSpecies(name) ) if ( findSpecies(name) )
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// AtomSet.h // AtomSet.h
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// $Id: AtomSet.h,v 1.22 2008-09-08 15:56:18 fgygi Exp $ // $Id: AtomSet.h,v 1.23 2008-11-14 04:01:26 fgygi Exp $
#ifndef ATOMSET_H #ifndef ATOMSET_H
#define ATOMSET_H #define ATOMSET_H
...@@ -49,6 +49,7 @@ class AtomSet ...@@ -49,6 +49,7 @@ class AtomSet
public: public:
AtomSet(const Context& ctxt) : ctxt_(ctxt), nel_(0) {} AtomSet(const Context& ctxt) : ctxt_(ctxt), nel_(0) {}
~AtomSet(void);
std::vector<std::vector<Atom *> > atom_list; // atom_list[is][ia] std::vector<std::vector<Atom *> > atom_list; // atom_list[is][ia]
std::vector<Species *> species_list; // species_list[is] std::vector<Species *> species_list; // species_list[is]
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// Constraint.h // Constraint.h
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// $Id: Constraint.h,v 1.6 2008-09-08 15:56:18 fgygi Exp $ // $Id: Constraint.h,v 1.7 2008-11-14 04:01:26 fgygi Exp $
#ifndef CONSTRAINT_H #ifndef CONSTRAINT_H
#define CONSTRAINT_H #define CONSTRAINT_H
...@@ -35,6 +35,7 @@ class Constraint ...@@ -35,6 +35,7 @@ class Constraint
public: public:
virtual ~Constraint(void){}
virtual std::string type(void) const = 0; virtual std::string type(void) const = 0;
virtual double value(void) const = 0; virtual double value(void) const = 0;
virtual double velocity(void) const = 0; virtual double velocity(void) const = 0;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// ConstraintSet.C // ConstraintSet.C
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// $Id: ConstraintSet.C,v 1.6 2008-09-08 15:56:18 fgygi Exp $ // $Id: ConstraintSet.C,v 1.7 2008-11-14 04:01:26 fgygi Exp $
#include "ConstraintSet.h" #include "ConstraintSet.h"
#include "DistanceConstraint.h" #include "DistanceConstraint.h"
...@@ -32,6 +32,13 @@ using namespace std; ...@@ -32,6 +32,13 @@ using namespace std;
const int constraints_maxiter = 10; const int constraints_maxiter = 10;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
ConstraintSet::~ConstraintSet(void)
{
for ( int ic = 0; ic < constraint_list.size(); ic++ )
delete constraint_list[ic];
}
////////////////////////////////////////////////////////////////////////////////
bool ConstraintSet::define_constraint(AtomSet &atoms, int argc, char **argv) bool ConstraintSet::define_constraint(AtomSet &atoms, int argc, char **argv)
{ {
enum constraint_type { unknown, distance_type, multidistance_type, enum constraint_type { unknown, distance_type, multidistance_type,
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// ConstraintSet.h // ConstraintSet.h
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// $Id: ConstraintSet.h,v 1.6 2008-09-08 15:56:18 fgygi Exp $ // $Id: ConstraintSet.h,v 1.7 2008-11-14 04:01:26 fgygi Exp $
#ifndef CONSTRAINTSET_H #ifndef CONSTRAINTSET_H
#define CONSTRAINTSET_H #define CONSTRAINTSET_H
...@@ -38,6 +38,7 @@ class ConstraintSet ...@@ -38,6 +38,7 @@ class ConstraintSet
public: public:
ConstraintSet(const Context& ctxt) : ctxt_(ctxt) {} ConstraintSet(const Context& ctxt) : ctxt_(ctxt) {}
~ConstraintSet();
bool define_constraint(AtomSet &atoms, int argc, char **argv); bool define_constraint(AtomSet &atoms, int argc, char **argv);
bool set_constraint(int argc, char **argv); bool set_constraint(int argc, char **argv);
bool delete_constraint(int argc, char **argv); bool delete_constraint(int argc, char **argv);
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// DistanceConstraint.h // DistanceConstraint.h
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// $Id: DistanceConstraint.h,v 1.6 2008-09-08 15:56:18 fgygi Exp $ // $Id: DistanceConstraint.h,v 1.7 2008-11-14 04:01:26 fgygi Exp $
#ifndef DISTANCECONSTRAINT_H #ifndef DISTANCECONSTRAINT_H
#define DISTANCECONSTRAINT_H #define DISTANCECONSTRAINT_H
...@@ -47,6 +47,7 @@ class DistanceConstraint : public Constraint ...@@ -47,6 +47,7 @@ class DistanceConstraint : public Constraint
force_ = 0.0; force_ = 0.0;
weight_ = 1.0; weight_ = 1.0;
} }
~DistanceConstraint(void) {}
std::string type(void) const { return "distance"; } std::string type(void) const { return "distance"; }
double value(void) const { return distance_; } double value(void) const { return distance_; }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// Sample.h // Sample.h
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// $Id: Sample.h,v 1.11 2008-09-08 15:56:19 fgygi Exp $ // $Id: Sample.h,v 1.12 2008-11-14 04:01:26 fgygi Exp $
#ifndef SAMPLE_H #ifndef SAMPLE_H
#define SAMPLE_H #define SAMPLE_H
...@@ -43,5 +43,6 @@ class Sample ...@@ -43,5 +43,6 @@ class Sample
Sample(const Context& ctxt) : ctxt_(ctxt), atoms(ctxt), constraints(ctxt), Sample(const Context& ctxt) : ctxt_(ctxt), atoms(ctxt), constraints(ctxt),
wf(ctxt), wfv(0) {} wf(ctxt), wfv(0) {}
~Sample(void) { delete wfv; }
}; };
#endif #endif
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
// TorsionConstraint.h // TorsionConstraint.h
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// $Id: TorsionConstraint.h,v 1.6 2008-09-08 15:56:19 fgygi Exp $ // $Id: TorsionConstraint.h,v 1.7 2008-11-14 04:01:26 fgygi Exp $
#ifndef TORSIONCONSTRAINT_H #ifndef TORSIONCONSTRAINT_H
#define TORSIONCONSTRAINT_H #define TORSIONCONSTRAINT_H
...@@ -58,6 +58,7 @@ class TorsionConstraint : public Constraint ...@@ -58,6 +58,7 @@ class TorsionConstraint : public Constraint
force_ = 0.0; force_ = 0.0;
weight_ = 1.0; weight_ = 1.0;
} }
~TorsionConstraint(void) {}
std::string type(void) const { return "torsion"; } std::string type(void) const { return "torsion"; }
double value(void) const { return angle_; } double value(void) const { return angle_; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment