/* Mathematiques de l'informatique graphique */ /* Ligne polygonale en 3D */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Novembre 2012 */ #ifndef ____LIGNEPOLYGONALE3D____ #define ____LIGNEPOLYGONALE3D____ class Position3D; class LignePolygonale3D { public : int n; Position3D **t; private : int l; public : enum type_lissage { BEZIER = 1, BSPLINE_NRU = 2, BSPLINE_CATMULL_ROM = 3 }; public : /* Constructeurs */ LignePolygonale3D(void); LignePolygonale3D(int n); LignePolygonale3D(LignePolygonale3D *lp); LignePolygonale3D(LignePolygonale3D *lp,int np); LignePolygonale3D(LignePolygonale3D *lp,int np,type_lissage type); /* Destructeur */ ~LignePolygonale3D(void); /* Ajout d'une Position3D */ void add(Position3D *p); /* Dessin OpenGL */ void draw(void); private : /* Allocation avec np Position3D */ /* disponibles */ void init(int np); }; #endif