[╯°□°]╯︵┻━┻
 All Classes Functions Variables
Spring.h
00001 #ifndef PRJ_SPRING_H
00002 #define PRJ_SPRING_H
00003 
00004 #include "Disp.h"
00005 #include "Force.h"
00006 #include "System.h"
00007 
00008 class System;
00009 
00010 class Spring:virtual public Disp, public Force{
00011 protected:
00012                 Obj* obj1;
00013                 Obj* obj2;
00014                 double k1;//force elastique
00015                 double l0;//taille du ressort
00016                 Vect attache1;
00017                 Vect attache2;
00018 public:
00019                 bool amorti;
00020                 void setObj1(Obj&);
00021                 void setObj2(Obj&);
00022                 void setk1(double const& k1);
00023                 void setL0(double const& newl0);
00024                                 virtual void force();
00025                 void disp(vector<bool> options=vector<bool>(10,false));
00026                 ostream& cdisp(ostream&);
00027 
00028                                 //CONSTR---
00029                                 Spring(Obj& obj1, Obj& obj2,double const& k,double const& l,Vect const& attache1=Vect(3),Vect const& attache2=Vect(3));
00030 };
00031 
00032 class SpringBreak:public Spring{
00033                 protected:
00034                                 System* parent;
00035                                 double fmax;
00036                 public:
00037                                 virtual void force();
00038                                 void breakMe();
00039                 Spring::disp;
00040                 Spring::cdisp;
00041                                 //CONSTR---
00042                                 SpringBreak(System& parent,Obj& obj1, Obj& obj2,double const& k,double const& l,double const& fmax);
00043 };
00044 
00045 class SpringDeform:public SpringBreak{
00046                 private:
00047                                 double l1;
00048                                 double k2;
00049                                 double distMem;//memoire distance pour eloignement
00050 
00051                 public:
00052                 Spring::disp;
00053                 Spring::cdisp;
00054                                 virtual void force();
00055 
00056                                 //CONSTR---
00057                                 SpringDeform(System& parent,Obj& obj1, Obj& obj2,double const& k1,double const& k2,double const& l1,double const& l2,double const& fmax);
00058 
00059 };
00060 
00061 
00062 
00063 
00064 
00065 
00066 #endif //PRJ_SPRING_H