arbre.hh (795B)
1 #ifndef _RULES_ARBRE_HH_ 2 #define _RULES_ARBRE_HH_ 3 4 #include "all_includes.hh" 5 6 class Arbre : public Chose { 7 public: 8 enum Type { 9 ARBRE, 10 TRONC 11 }; 12 private: 13 Vertex start; 14 Angle3D rotation; 15 float length; 16 Type type; 17 Vertex end(float position) const; 18 float limitLength() const; 19 static float tauxMax(); 20 static float calcLimitLengthFactor(); 21 static const float limitLengthFactor; 22 void initPlane(Vertex _start, Triangle plane); 23 public: 24 static float maxRadius(float length); 25 Arbre(Vertex _start, Quad plane); 26 Arbre(Vertex _start, Triangle plane); 27 Arbre(Vertex _start, Angle3D _rotation, float _length, Type _type = ARBRE); 28 virtual void split(); 29 virtual void triangulation(); 30 virtual void getBoundingBoxPoints(); 31 virtual float LODFactor(); 32 void tronc(); 33 void feuille(); 34 }; 35 36 #endif