www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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