/* Ligne polygonale 3D */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Mars 2020 */ #ifndef ____LIGNEPOLYGONALE3D____ #define ____LIGNEPOLYGONALE3D____ #include #include "Pos3D.h" class MatriceDeBase; class LignePolygonale3D { public : /* Nombre de sommets */ int nbPoints; /* Tableau des sommets */ Pos3D **tPos; /* Stack pointer */ int sp; public : /* Constructeur "vide" */ /* (nbPoints=0, tPos = NULL) */ LignePolygonale3D(void); /* Constructeur pour une ligne polygonale */ /* de n sommets */ LignePolygonale3D(int n); /* Constructeur pour une ligne polygonale */ /* de n sommets initialisee avec le contenu */ /* du tableau tPos */ LignePolygonale3D(int n,Pos3D **tPos); /* Constructeur de clonage */ LignePolygonale3D(LignePolygonale3D *lp); /* Constructeur pour une ligne polygonale */ /* de n sommets lissee par B-Spline */ /* a partir de la ligne polygonale lp */ /* en utilisant la matrice de base m */ LignePolygonale3D(int n,LignePolygonale3D *lp,const MatriceDeBase *m); /* Constructeur pour une ligne polygonale */ /* de n sommets lissee par Bezier */ /* a partir de la ligne polygonale lp */ LignePolygonale3D(int n,LignePolygonale3D *lp); /* Destructeur */ ~LignePolygonale3D(void); void add(Pos3D *p); void setPosition(int pos,Pos3D *p); void print(void); void drawOpenGL(GLenum typePrimitive); }; #endif