--- trunk/OOPSE/libmdtools/StuntDouble.hpp 2004/04/14 15:37:41 1108 +++ trunk/OOPSE/libmdtools/StuntDouble.hpp 2004/04/19 03:52:27 1118 @@ -1,10 +1,16 @@ #ifndef __STUNTDOUBLE_HPP__ #define __STUNTDOUBLE_HPP__ +#include +#include "GenericData.hpp" + #define OT_ATOM 0 #define OT_DATOM 1 #define OT_RIGIDBODY 2 +using namespace std; +class BaseVisitor; + class StuntDouble { public: @@ -60,9 +66,21 @@ class StuntDouble { virtual void setEuler(double phi, double theta, double psi); virtual void getEulerAngles(double eulers[3]); + virtual bool isLinear() {return false;} + virtual int linearAxis() {return -1;} + + + virtual void accept(BaseVisitor* v) = 0; + + void addProperty(GenericData* data); + void removeProperty(const string& propName); + GenericData* getProperty(const string& propName); + protected: StuntDouble(){} int objType; + + map properties; }; #endif