// Computergraphik I // Prof. Dr. Juergen Doellner // Sommersemester 2001 // // Rahmenprogramm fuer Aufgabenzettel 8 #include "attribute.h" #include #include // // Hilfsfunktionen // static inline double clamp(double min, double max, double value) { return (value < min) ? min : ((value > max) ? max : value); } // // Color // Color::Color(double red, double green, double blue) { color_[0] = clamp(0.0, 1.0, red); color_[1] = clamp(0.0, 1.0, green); color_[2] = clamp(0.0, 1.0, blue); } void Color::set() { glPushAttrib(GL_CURRENT_BIT); // Merke u.a. die aktuelle Farbe glColor3dv(color_); // Setze neue Farbe } void Color::unset() { glPopAttrib(); // Restauriere die gemerkte Farbe } // // Style // Style::Style(FaceStyle frontFace, FaceStyle backFace) : frontFace_(frontFace), backFace_(backFace) { } void Style::set() { // Hinweis: siehe GL_POLYGON_BIT und glPolygonMode() cerr << "Style::set() not yet implemented!" << endl; } void Style::unset() { cerr << "Style::unset() not yet implemented!" << endl; }