[╯°□°]╯︵┻━┻
Goldberg Simulator 20000
 All Classes Functions Variables
Force.h
00001 #ifndef PRJ_FORCE_H
00002 #define PRJ_FORCE_H
00003 
00004 #include "Obj.h"
00005 #include <set>
00006 #include "CouldBeInseredToSystem.h"
00007 
00008 using namespace std;
00009 
00010 class Force:virtual public CouldBeInseredToSystem{
00011     public:
00012         virtual void force()=0;
00013 };
00014 
00015 //MAGNET
00016 class Magnet:public Obj, public Force{
00017     protected:
00019     public:
00021         virtual void force();
00022 };
00023 
00024 
00025 //GRAV
00026 class ObjG:virtual public Obj, virtual public Force{
00027     protected:
00028         set<Obj*>* tabGrav;
00029     public:
00030         ObjG(set<Obj*> & tabObj,Vect const& x,double const& mass, Vect const& dx=Vect(3), Vect const& ang=Vect(3), Vect const& mcin=Vect(3));
00031         virtual void force();
00032         Obj::init;
00033         Obj::cdisp;
00034         Obj::disp;
00035         Obj::supportPoint;
00036 };
00037 
00038 
00039 //CHARG
00040 class ObjC:virtual public Obj, virtual public Force{
00041     protected:
00042         set<ObjC*>* tabCharg;
00043         double c;//charge electrique
00044     public:
00045         Vect elecField;
00046         Vect magnetField;
00047         void setC(double const& charge);
00048         double getC() const;
00049         ObjC(set<ObjC*> & tabCharg, Vect const& x,double const& mass, double const& charg,
00050               Vect const& dx=Vect(3), Vect const& ang=Vect(3), Vect const& mcin=Vect(3));
00051         virtual void force();
00052         virtual void update();
00053         virtual void init();
00054         Obj::disp;
00055         ostream& cdisp(ostream&);
00056         Obj::supportPoint;
00057 
00058 };
00059 
00060 
00061 //GRAV+CHARG
00062 class ObjCG: public ObjC, public ObjG{
00063     public:
00064         ObjCG(set<Obj*> & tabObj,set<ObjC*> & tabC, Vect const& x,double const& mass, double const& charg,
00065               Vect const& dx=Vect(3), Vect const& ang=Vect(3), Vect const& mcin=Vect(3));
00066         virtual void force();
00067         ObjC::init;
00068         ObjC::update;
00069         ObjC::cdisp;
00070         Obj::disp;
00071         Obj::supportPoint;
00072 };
00073 
00074 
00075 #endif //PRJ_FORCE_H
00076