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 @@
// 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
#define ANGLECONSTRAINT_H
......@@ -55,6 +55,7 @@ class AngleConstraint : public Constraint
force_ = 0.0;
weight_ = 1.0;
}
~AngleConstraint(void) {}
std::string type(void) const { return "angle"; }
double value(void) const { return angle_; }
......
......@@ -15,7 +15,7 @@
// 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 "Species.h"
......@@ -26,6 +26,18 @@
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)
{
if ( findSpecies(name) )
......
......@@ -15,7 +15,7 @@
// 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
#define ATOMSET_H
......@@ -49,6 +49,7 @@ class AtomSet
public:
AtomSet(const Context& ctxt) : ctxt_(ctxt), nel_(0) {}
~AtomSet(void);
std::vector<std::vector<Atom *> > atom_list; // atom_list[is][ia]
std::vector<Species *> species_list; // species_list[is]
......
......@@ -15,7 +15,7 @@
// 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
#define CONSTRAINT_H
......@@ -35,6 +35,7 @@ class Constraint
public:
virtual ~Constraint(void){}
virtual std::string type(void) const = 0;
virtual double value(void) const = 0;
virtual double velocity(void) const = 0;
......
......@@ -15,7 +15,7 @@
// 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 "DistanceConstraint.h"
......@@ -32,6 +32,13 @@ using namespace std;
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)
{
enum constraint_type { unknown, distance_type, multidistance_type,
......
......@@ -15,7 +15,7 @@
// 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
#define CONSTRAINTSET_H
......@@ -38,6 +38,7 @@ class ConstraintSet
public:
ConstraintSet(const Context& ctxt) : ctxt_(ctxt) {}
~ConstraintSet();
bool define_constraint(AtomSet &atoms, int argc, char **argv);
bool set_constraint(int argc, char **argv);
bool delete_constraint(int argc, char **argv);
......
......@@ -15,7 +15,7 @@
// 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
#define DISTANCECONSTRAINT_H
......@@ -47,6 +47,7 @@ class DistanceConstraint : public Constraint
force_ = 0.0;
weight_ = 1.0;
}
~DistanceConstraint(void) {}
std::string type(void) const { return "distance"; }
double value(void) const { return distance_; }
......
......@@ -15,7 +15,7 @@
// 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
#define SAMPLE_H
......@@ -43,5 +43,6 @@ class Sample
Sample(const Context& ctxt) : ctxt_(ctxt), atoms(ctxt), constraints(ctxt),
wf(ctxt), wfv(0) {}
~Sample(void) { delete wfv; }
};
#endif
......@@ -15,7 +15,7 @@
// 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
#define TORSIONCONSTRAINT_H
......@@ -58,6 +58,7 @@ class TorsionConstraint : public Constraint
force_ = 0.0;
weight_ = 1.0;
}
~TorsionConstraint(void) {}
std::string type(void) const { return "torsion"; }
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