← Back to team overview

yade-dev team mailing list archive

[Branch ~yade-pkg/yade/git-trunk] Rev 4094: Remove some more .cpp-files.

 

------------------------------------------------------------
revno: 4094
committer: Anton Gladky <gladky.anton@xxxxxxxxx>
timestamp: Sat 2014-07-19 21:52:41 +0200
message:
  Remove some more .cpp-files.
removed:
  core/Bound.cpp
  core/Dispatcher.cpp
  core/EnergyTracker.cpp
  core/Engine.cpp
  core/FrontEnd.cpp
  core/PartialEngine.cpp
  core/Shape.cpp
  core/TimeStepper.cpp
  pkg/common/Aabb.cpp
  pkg/common/ElastMat.cpp
  pkg/common/PeriodicEngines.cpp
  pkg/common/PyRunner.cpp
  pkg/common/Sphere.cpp
modified:
  core/Dispatcher.hpp
  core/EnergyTracker.hpp
  core/Engine.hpp
  core/FrontEnd.hpp
  core/Functor.hpp
  core/Material.cpp
  core/Material.hpp
  core/Shape.hpp
  core/TimeStepper.hpp
  pkg/common/Aabb.hpp
  pkg/common/ElastMat.hpp
  pkg/common/ParallelEngine.cpp
  pkg/common/PeriodicEngines.hpp
  pkg/common/PyRunner.hpp
  pkg/common/Sphere.hpp


--
lp:yade
https://code.launchpad.net/~yade-pkg/yade/git-trunk

Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-pkg/yade/git-trunk/+edit-subscription
=== removed file 'core/Bound.cpp'
--- core/Bound.cpp	2009-12-04 23:07:34 +0000
+++ core/Bound.cpp	1970-01-01 00:00:00 +0000
@@ -1,12 +0,0 @@
-/*************************************************************************
-*  Copyright (C) 2004 by Olivier Galizzi                                 *
-*  olivier.galizzi@xxxxxxx                                               *
-*                                                                        *
-*  This program is free software; it is licensed under the terms of the  *
-*  GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-#include "Bound.hpp"
-
-
-

=== removed file 'core/Dispatcher.cpp'
--- core/Dispatcher.cpp	2014-07-03 17:20:40 +0000
+++ core/Dispatcher.cpp	1970-01-01 00:00:00 +0000
@@ -1,15 +0,0 @@
-/*************************************************************************
-*  Copyright (C) 2004 by Olivier Galizzi                                 *
-*  olivier.galizzi@xxxxxxx                                               *
-*                                                                        *
-*  This program is free software; it is licensed under the terms of the  *
-*  GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-
-#include<yade/core/Functor.hpp>
-Functor::~Functor(){}; // vtable
-
-#include "Dispatcher.hpp"
-
-Dispatcher::~Dispatcher(){}

=== modified file 'core/Dispatcher.hpp'
--- core/Dispatcher.hpp	2014-07-03 17:20:40 +0000
+++ core/Dispatcher.hpp	2014-07-19 19:52:41 +0000
@@ -24,7 +24,7 @@
 	virtual int getDimension() { throw; };
 	virtual string getBaseClassType(unsigned int ) { throw; };
 	//
-	virtual ~Dispatcher();
+	virtual ~Dispatcher() {};
 	YADE_CLASS_BASE_DOC(Dispatcher,Engine,"Engine dispatching control to its associated functors, based on types of argument it receives. This abstract base class provides no functionality in itself.")
 };
 REGISTER_SERIALIZABLE(Dispatcher);

=== removed file 'core/EnergyTracker.cpp'
--- core/EnergyTracker.cpp	2011-02-15 11:36:29 +0000
+++ core/EnergyTracker.cpp	1970-01-01 00:00:00 +0000
@@ -1,12 +0,0 @@
-#include<yade/core/EnergyTracker.hpp>
-
-Real EnergyTracker::total() const { Real ret=0; size_t sz=energies.size(); for(size_t id=0; id<sz; id++) ret+=energies.get(id); return ret; }
-py::list EnergyTracker::keys_py() const { py::list ret; FOREACH(pairStringInt p, names) ret.append(p.first); return ret; }
-py::list EnergyTracker::items_py() const { py::list ret; FOREACH(pairStringInt p, names) ret.append(py::make_tuple(p.first,energies.get(p.second))); return ret; }
-py::dict EnergyTracker::perThreadData() const {
-	py::dict ret;
-	std::vector<std::vector<Real> > dta=energies.getPerThreadData();
-	FOREACH(pairStringInt p,names) ret[p.first]=dta[p.second];
-	return ret;
-}
-

=== modified file 'core/EnergyTracker.hpp'
--- core/EnergyTracker.hpp	2014-07-03 17:20:40 +0000
+++ core/EnergyTracker.hpp	2014-07-19 19:52:41 +0000
@@ -38,10 +38,15 @@
 	void clear(){ energies.clear(); names.clear(); resetStep.clear();}
 	void resetResettables(){ size_t sz=energies.size(); for(size_t id=0; id<sz; id++){ if(resetStep[id]) energies.reset(id); } }
 
-	Real total() const;
-	py::list keys_py() const;
-	py::list items_py() const;
-	py::dict perThreadData() const;
+	Real total() const { Real ret=0; size_t sz=energies.size(); for(size_t id=0; id<sz; id++) ret+=energies.get(id); return ret; };
+	py::list keys_py() const { py::list ret; FOREACH(pairStringInt p, names) ret.append(p.first); return ret; };
+	py::list items_py() const { py::list ret; FOREACH(pairStringInt p, names) ret.append(py::make_tuple(p.first,energies.get(p.second))); return ret; };
+	py::dict perThreadData() const {
+		py::dict ret;
+		std::vector<std::vector<Real> > dta=energies.getPerThreadData();
+		FOREACH(pairStringInt p,names) ret[p.first]=dta[p.second];
+		return ret;
+  };
 
 	typedef std::map<std::string,int> mapStringInt;
 	typedef std::pair<std::string,int> pairStringInt;

=== removed file 'core/Engine.cpp'
--- core/Engine.cpp	2010-09-02 09:11:04 +0000
+++ core/Engine.cpp	1970-01-01 00:00:00 +0000
@@ -1,13 +0,0 @@
-#include<yade/core/Engine.hpp>
-
-CREATE_LOGGER(Engine);
-
-void Engine::action(){
-	LOG_FATAL("Engine "<<getClassName()<<" calling virtual method Engine::action(). Please submit bug report at http://bugs.launchpad.net/yade.";);
-	throw std::logic_error("Engine::action() called.");
-}
-
-void Engine::explicitAction(){
-	scene=Omega::instance().getScene().get(); action();
-}
-

=== modified file 'core/Engine.hpp'
--- core/Engine.hpp	2014-07-03 17:20:40 +0000
+++ core/Engine.hpp	2014-07-19 19:52:41 +0000
@@ -18,6 +18,8 @@
 class Body;
 class Scene;
 
+CREATE_LOGGER(Engine);
+
 class Engine: public Serializable{
 	public:
 		// pointer to the simulation, set at every step by Scene::moveToNextTimeStep
@@ -29,14 +31,17 @@
 		virtual ~Engine() {};
 	
 		virtual bool isActivated() { return true; };
-		virtual void action();
+		virtual void action() {
+			LOG_FATAL("Engine "<<getClassName()<<" calling virtual method Engine::action(). Please submit bug report at http://bugs.launchpad.net/yade.";);
+			throw std::logic_error("Engine::action() called.");
+		}
 	private:
 		// py access funcs	
 		TimingInfo::delta timingInfo_nsec_get(){return timingInfo.nsec;};
 		void timingInfo_nsec_set(TimingInfo::delta d){ timingInfo.nsec=d;}
 		long timingInfo_nExec_get(){return timingInfo.nExec;};
 		void timingInfo_nExec_set(long d){ timingInfo.nExec=d;}
-		void explicitAction(); 
+		void explicitAction() {scene=Omega::instance().getScene().get(); action();}; 
 
 	DECLARE_LOGGER;
 

=== removed file 'core/FrontEnd.cpp'
--- core/FrontEnd.cpp	2007-03-31 06:18:17 +0000
+++ core/FrontEnd.cpp	1970-01-01 00:00:00 +0000
@@ -1,21 +0,0 @@
-/*************************************************************************
-*  Copyright (C) 2004 by Olivier Galizzi                                 *
-*  olivier.galizzi@xxxxxxx                                               *
-*                                                                        *
-*  This program is free software; it is licensed under the terms of the  *
-*  GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-#include "FrontEnd.hpp"
-
-
-FrontEnd::FrontEnd()
-{	
-}
-
-
-FrontEnd::~FrontEnd()
-{
-
-}
-

=== modified file 'core/FrontEnd.hpp'
--- core/FrontEnd.hpp	2010-11-07 11:46:20 +0000
+++ core/FrontEnd.hpp	2014-07-19 19:52:41 +0000
@@ -15,8 +15,8 @@
 class FrontEnd : public Factorable
 {	
 	public :
-		FrontEnd ();
-		virtual ~FrontEnd ();
+		FrontEnd () {};
+		virtual ~FrontEnd () {};
 
 		virtual int run(int , char * []) { return -1;};
 		// called before actually invoking it

=== modified file 'core/Functor.hpp'
--- core/Functor.hpp	2014-07-02 16:11:24 +0000
+++ core/Functor.hpp	2014-07-19 19:52:41 +0000
@@ -23,7 +23,7 @@
 	shared_ptr<TimingDeltas> timingDeltas;
 	//! updated before every dispatch loop by the dispatcher; DO NOT ABUSE access to scene, except for getting global variables like scene->dt.
 	Scene* scene;
-	virtual ~Functor(); // defined in Dispatcher.cpp
+	virtual ~Functor() {}; // defined in Dispatcher.cpp
 	YADE_CLASS_BASE_DOC_ATTRS_CTOR_PY(Functor,Serializable,"Function-like object that is called by Dispatcher, if types of arguments match those the Functor declares to accept.",
 		((string,label,,,"Textual label for this object; must be a valid python identifier, you can refer to it directly from python.")),
 		/*ctor*/

=== modified file 'core/Material.cpp'
--- core/Material.cpp	2014-07-03 17:20:40 +0000
+++ core/Material.cpp	2014-07-19 19:52:41 +0000
@@ -2,8 +2,6 @@
 #include<yade/core/Material.hpp>
 #include<yade/core/Scene.hpp>
 
-Material::~Material(){}
-
 const shared_ptr<Material> Material::byId(int id, Scene* w_){
 	Scene* w=w_?w_:Omega::instance().getScene().get();
 	assert(id>=0 && (size_t)id<w->materials.size());

=== modified file 'core/Material.hpp'
--- core/Material.hpp	2014-07-03 17:20:40 +0000
+++ core/Material.hpp	2014-07-19 19:52:41 +0000
@@ -14,7 +14,7 @@
 */
 class Material: public Serializable, public Indexable{
 	public:
-		virtual ~Material();
+		virtual ~Material() {};
 
 		//! Function to return empty default-initialized instance of State that 
 		// is supposed to go along with this Material. Don't override unless you need

=== removed file 'core/PartialEngine.cpp'
--- core/PartialEngine.cpp	2010-03-20 12:40:44 +0000
+++ core/PartialEngine.cpp	1970-01-01 00:00:00 +0000
@@ -1,10 +0,0 @@
-/*************************************************************************
-*  Copyright (C) 2004 by Olivier Galizzi                                 *
-*  olivier.galizzi@xxxxxxx                                               *
-*                                                                        *
-*  This program is free software; it is licensed under the terms of the  *
-*  GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-#include "PartialEngine.hpp"
-

=== removed file 'core/Shape.cpp'
--- core/Shape.cpp	2010-02-06 16:01:07 +0000
+++ core/Shape.cpp	1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-#include<yade/core/Shape.hpp>
-Shape::~Shape(){}

=== modified file 'core/Shape.hpp'
--- core/Shape.hpp	2010-11-07 11:46:20 +0000
+++ core/Shape.hpp	2014-07-19 19:52:41 +0000
@@ -18,7 +18,7 @@
 
 class Shape: public Serializable, public Indexable {
 	public:
-		~Shape(); // vtable
+		~Shape() {}; // vtable
 		#ifdef BV_FUNCTOR_CACHE
 			shared_ptr<BoundFunctor> boundFunctor;
 		#endif

=== removed file 'core/TimeStepper.cpp'
--- core/TimeStepper.cpp	2010-08-16 21:31:08 +0000
+++ core/TimeStepper.cpp	1970-01-01 00:00:00 +0000
@@ -1,29 +0,0 @@
-/*************************************************************************
-*  Copyright (C) 2004 by Olivier Galizzi                                 *
-*  olivier.galizzi@xxxxxxx                                               *
-*  Copyright (C) 2004 by Janek Kozicki                                   *
-*  cosurgi@xxxxxxxxxx                                                    *
-*                                                                        *
-*  This program is free software; it is licensed under the terms of the  *
-*  GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-#include<yade/core/TimeStepper.hpp>
-#include<yade/core/GlobalEngine.hpp>
-#include<yade/core/Scene.hpp>
-
-bool TimeStepper::isActivated()
-{
-	return (active && (scene->iter % timeStepUpdateInterval == 0));
-}
-
-
-
-void TimeStepper::setActive(bool a, int nb)
-{
-	active = a; 
-	if (nb>0)
-		timeStepUpdateInterval = (unsigned int)nb;
-}
-
-

=== modified file 'core/TimeStepper.hpp'
--- core/TimeStepper.hpp	2010-08-24 12:54:14 +0000
+++ core/TimeStepper.hpp	2014-07-19 19:52:41 +0000
@@ -12,15 +12,16 @@
 #include <vector>
 #include "Interaction.hpp"
 #include "GlobalEngine.hpp"
+#include "Scene.hpp"
 
 class Body;
 
 class TimeStepper: public GlobalEngine{
 	public:
 		virtual void computeTimeStep(Scene* ) { throw; };
-		virtual bool isActivated();
+		virtual bool isActivated() {return (active && (scene->iter % timeStepUpdateInterval == 0));};
 		virtual void action() { computeTimeStep(scene);} ;
-		void setActive(bool a, int nb=-1);
+		void setActive(bool a, int nb=-1) {active = a; if (nb>0) {timeStepUpdateInterval = (unsigned int)nb;}}
 		
 		YADE_CLASS_BASE_DOC_ATTRS(
 			TimeStepper,GlobalEngine,"Engine defining time-step (fundamental class)",

=== removed file 'pkg/common/Aabb.cpp'
--- pkg/common/Aabb.cpp	2010-10-13 16:23:08 +0000
+++ pkg/common/Aabb.cpp	1970-01-01 00:00:00 +0000
@@ -1,13 +0,0 @@
-/*************************************************************************
-*  Copyright (C) 2004 by Olivier Galizzi                                 *
-*  olivier.galizzi@xxxxxxx                                               *
-*                                                                        *
-*  This program is free software; it is licensed under the terms of the  *
-*  GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-#include "Aabb.hpp"
-
-Aabb::~Aabb(){}
-YADE_PLUGIN((Aabb));
-

=== modified file 'pkg/common/Aabb.hpp'
--- pkg/common/Aabb.hpp	2010-10-13 16:23:08 +0000
+++ pkg/common/Aabb.hpp	2014-07-19 19:52:41 +0000
@@ -18,11 +18,9 @@
 */
 class Aabb : public Bound{
 	public :
-		virtual ~Aabb();
+		virtual ~Aabb() {};
 	
 	YADE_CLASS_BASE_DOC_ATTRS_CTOR(Aabb,Bound,"Axis-aligned bounding box, for use with :yref:`InsertionSortCollider`. (This class is quasi-redundant since min,max are already contained in :yref:`Bound` itself. That might change at some point, though.)",/*attrs*/,/*ctor*/createIndex(););
 	REGISTER_CLASS_INDEX(Aabb,Bound);
 };
 REGISTER_SERIALIZABLE(Aabb);
-
-

=== removed file 'pkg/common/ElastMat.cpp'
--- pkg/common/ElastMat.cpp	2010-11-07 11:46:20 +0000
+++ pkg/common/ElastMat.cpp	1970-01-01 00:00:00 +0000
@@ -1,5 +0,0 @@
-// 2009 © Václav Šmilauer <eudoxos@xxxxxxxx>
-#include<yade/pkg/common/ElastMat.hpp>
-YADE_PLUGIN((ElastMat)(FrictMat));
-ElastMat::~ElastMat(){}
-FrictMat::~FrictMat(){}

=== modified file 'pkg/common/ElastMat.hpp'
--- pkg/common/ElastMat.hpp	2014-07-03 17:20:40 +0000
+++ pkg/common/ElastMat.hpp	2014-07-19 19:52:41 +0000
@@ -5,7 +5,7 @@
 /*! Elastic material */
 class ElastMat: public Material{
 	public:
-	virtual ~ElastMat();
+	virtual ~ElastMat() {};
 	YADE_CLASS_BASE_DOC_ATTRS_CTOR(ElastMat,Material,"Purely elastic material. The material parameters may have different meanings depending on the :yref:`IPhysFunctor` used : true Young and Poisson in :yref:`Ip2_FrictMat_FrictMat_MindlinPhys`, or contact stiffnesses in :yref:`Ip2_FrictMat_FrictMat_FrictPhys`.",
 		((Real,young,1e9,,"elastic modulus [Pa]. It has different meanings depending on the Ip functor."))
 		((Real,poisson,.25,,"Poisson's ratio or the ratio between shear and normal stiffness [-]. It has different meanings depending on the Ip functor.  ")),
@@ -18,7 +18,7 @@
 /*! Granular material */
 class FrictMat: public ElastMat{
 	public:
-	virtual ~FrictMat();
+	virtual ~FrictMat() {};
 	YADE_CLASS_BASE_DOC_ATTRS_CTOR(FrictMat,ElastMat,"Elastic material with contact friction. See also :yref:`ElastMat`.",
 		((Real,frictionAngle,.5,,"Contact friction angle (in radians). Hint : use 'radians(degreesValue)' in python scripts.")),
 		createIndex();

=== modified file 'pkg/common/ParallelEngine.cpp'
--- pkg/common/ParallelEngine.cpp	2014-07-03 17:20:40 +0000
+++ pkg/common/ParallelEngine.cpp	2014-07-19 19:52:41 +0000
@@ -1,11 +1,15 @@
 #include"ParallelEngine.hpp"
+#include<yade/pkg/common/PeriodicEngines.hpp>
+#include<yade/pkg/common/ElastMat.hpp>
+#include<yade/pkg/common/PyRunner.hpp>
+#include<yade/pkg/common/Sphere.hpp>
+#include<yade/pkg/common/Aabb.hpp>
+YADE_PLUGIN((PeriodicEngine)(Sphere)(Aabb)(ElastMat)(FrictMat)(PyRunner)(ParallelEngine));
 
 #ifdef YADE_OPENMP
   #include<omp.h>
 #endif
 
-YADE_PLUGIN((ParallelEngine));
-
 //! ParallelEngine's pseudo-ctor (factory), taking nested lists of slave engines (might be moved to real ctor perhaps)
 shared_ptr<ParallelEngine> ParallelEngine_ctor_list(const boost::python::list& slaves){ shared_ptr<ParallelEngine> instance(new ParallelEngine); instance->slaves_set(slaves); return instance; }
 

=== removed file 'pkg/common/PeriodicEngines.cpp'
--- pkg/common/PeriodicEngines.cpp	2010-11-07 11:46:20 +0000
+++ pkg/common/PeriodicEngines.cpp	1970-01-01 00:00:00 +0000
@@ -1,3 +0,0 @@
-#include<yade/pkg/common/PeriodicEngines.hpp>
-YADE_PLUGIN((PeriodicEngine));
-PeriodicEngine::~PeriodicEngine(){};

=== modified file 'pkg/common/PeriodicEngines.hpp'
--- pkg/common/PeriodicEngines.hpp	2013-03-26 12:03:38 +0000
+++ pkg/common/PeriodicEngines.hpp	2014-07-19 19:52:41 +0000
@@ -9,7 +9,7 @@
 class PeriodicEngine:  public GlobalEngine {
 	public:
 		static Real getClock(){ timeval tp; gettimeofday(&tp,NULL); return tp.tv_sec+tp.tv_usec/1e6; }
-		virtual ~PeriodicEngine(); // vtable
+		virtual ~PeriodicEngine() {}; // vtable
 		virtual bool isActivated(){
 			const Real& virtNow=scene->time;
 			Real realNow=getClock();
@@ -67,44 +67,3 @@
 	);
 };
 REGISTER_SERIALIZABLE(PeriodicEngine);
-
-#if 0
-	/*!
-		PeriodicEngine but with constraint that may be stretched by a given stretchFactor (default 2).
-		Limits for each periodicity criterion may be set and the mayStretch bool says whether the period
-		can be stretched (default: doubled) without active criteria getting off limits.
-
-		stretchFactor must be positive; if >1, period is stretched, for <1, it is shrunk.
-
-		Limit consistency (whether actual period is not over/below the limit) is checked: period is set to the 
-		limit value if we are off. If the limit is zero, however, and the period is non-zero, the limit is set
-		to the period value (therefore, if you initialize only iterPeriod, you will get what you expect: engine
-		running at iterPeriod).
-
-		Note: the logic here is probably too complicated to be practical, although it works. Chances are that
-		if unused, it will be removed from the codebase.
-	*/
-	class StretchPeriodicEngine: public PeriodicEngine{
-		public:
-		StretchPeriodicEngine(): PeriodicEngine(), realLim(0.), virtLim(0.), iterLim(0), stretchFactor(2.), mayStretch(false){}
-		Real realLim, virtLim; long iterLim;
-		Real stretchFactor;
-		bool mayStretch;
-		virtual bool isActivated(){
-			assert(stretchFactor>0);
-			if(iterLim==0 && iterPeriod!=0){iterLim=iterPeriod;} else if(iterLim!=0 && iterPeriod==0){iterPeriod=iterLim;}
-			if(realLim==0 && realPeriod!=0){realLim=realPeriod;} else if(realLim!=0 && realPeriod==0){realPeriod=realLim;}
-			if(virtLim==0 && virtPeriod!=0){virtLim=virtPeriod;} else if(virtLim!=0 && virtPeriod==0){virtPeriod=virtLim;}
-			if(stretchFactor>1){iterPeriod=min(iterPeriod,iterLim); realPeriod=min(realPeriod,realLim); virtPeriod=min(virtPeriod,virtLim);}
-			else {iterPeriod=max(iterPeriod,iterLim); realPeriod=max(realPeriod,realLim); virtPeriod=max(virtPeriod,virtLim);}
-			mayStretch=((virtPeriod<0 || (stretchFactor>1 ? stretchFactor*virtPeriod<=virtLim : stretchFactor*virtPeriod>=virtLim))
-			&& (realPeriod<0 || (stretchFactor>1 ? stretchFactor*realPeriod<=realLim : stretchFactor*realPeriod>=realLim))
-			&& (iterPeriod<0 || (stretchFactor>1 ? stretchFactor*iterPeriod<=iterLim : stretchFactor*iterPeriod>=iterLim)));
-			return PeriodicEngine::isActivated();
-		}
-		REGISTER_ATTRIBUTES(PeriodicEngine,(realLim)(virtLim)(iterLim)(mayStretch)(stretchFactor));
-		REGISTER_CLASS_NAME(StretchPeriodicEngine);
-		REGISTER_BASE_CLASS_NAME(PeriodicEngine);
-	};
-	REGISTER_SERIALIZABLE(StretchPeriodicEngine);
-#endif

=== removed file 'pkg/common/PyRunner.cpp'
--- pkg/common/PyRunner.cpp	2010-11-07 11:46:20 +0000
+++ pkg/common/PyRunner.cpp	1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-#include<yade/pkg/common/PyRunner.hpp>
-YADE_PLUGIN((PyRunner));

=== modified file 'pkg/common/PyRunner.hpp'
--- pkg/common/PyRunner.hpp	2010-11-07 11:46:20 +0000
+++ pkg/common/PyRunner.hpp	2014-07-19 19:52:41 +0000
@@ -15,4 +15,3 @@
 	);
 };
 REGISTER_SERIALIZABLE(PyRunner);
-

=== removed file 'pkg/common/Sphere.cpp'
--- pkg/common/Sphere.cpp	2010-10-13 16:23:08 +0000
+++ pkg/common/Sphere.cpp	1970-01-01 00:00:00 +0000
@@ -1,3 +0,0 @@
-#include "Sphere.hpp"
-Sphere::~Sphere(){}
-YADE_PLUGIN((Sphere));

=== modified file 'pkg/common/Sphere.hpp'
--- pkg/common/Sphere.hpp	2010-10-13 16:23:08 +0000
+++ pkg/common/Sphere.hpp	2014-07-19 19:52:41 +0000
@@ -8,7 +8,7 @@
 class Sphere: public Shape{
 	public:
 		Sphere(Real _radius): radius(_radius){ createIndex(); }
-		virtual ~Sphere ();
+		virtual ~Sphere () {};
 	YADE_CLASS_BASE_DOC_ATTRS_CTOR(Sphere,Shape,"Geometry of spherical particle.",
 		((Real,radius,NaN,,"Radius [m]")),
 		createIndex(); /*ctor*/