sources:


website:
more info here


screenshot:
studies/grafik/Computergrafik-Code4/Aufgabe11/cgtessellator.h
download file

  1 //
  2 // Computergraphik I
  3 // Prof. Dr. Juergen Doellner
  4 // Sommersemester 2001
  5 //
  6 // Rahmenprogramm fuer Aufgabenzettel 4
  7 //
  8
  9 // Stephan Brumme, 702544
 10 // last changes: May 20, 2001
 11
 12
 13 #ifndef CG_TESSELATOR_H
 14 #define CG_TESSELATOR_H
 15
 16 #include "cgapplication.h"
 17
 18 class CGTessellator : public CGApplication {
 19 public:
 20     CGTessellator();
 21     ~CGTessellator();
 22
 23     virtual void defineStar();
 24
 25     virtual void onInit();
 26     virtual void onDraw();
 27     virtual void onSize(unsigned int newWidth, unsigned int newHeight);
 28     virtual void onKey(unsigned char key);
 29     virtual void onButton(MouseButton button, MouseButtonEvent event, int x, int y);
 30
 31 private:
 32     // zeichnet das Polygon mit den GLU-Routinen
 33     void drawPolygon();
 34
 35     // GLUtesselator Objekt
 36     GLUtesselator* tobj_;
 37
 38     // Hilfsklasse fuer Punkte
 39     class Point {
 40     public:
 41         Point(double x = 0, double y = 0) {
 42             dta_[0] = x;
 43             dta_[1] = y;
 44             dta_[2] = 0;
 45         }       
 46         GLdouble dta_[3];
 47     };
 48
 49     // interne Arrays zum speichern der Punkte und
 50     // der Konturen
 51     Point pts_[1000];       // alle Punkte
 52     int pos_;               // Array-Position in pts_
 53     int contourSize_[50];   // Anzahl der Punkte innerhalb einer Kontur
 54     int contours_;          // Anzahl der Konturen
 55        
 56 };
 57
 58 #endif // CG_TESSELATOR_H
 59
 60