00001 /* 00002 File: Reflective.h 00003 00004 Copyright(C) C. Kotterink, Computed Graphics 00005 */ 00006 #ifndef REFLECTIVE_H 00007 #define REFLECTIVE_H 00008 00009 #include<Shade.h> 00010 #include<Color4.h> 00011 00014 class Reflective : public Shade 00015 { 00016 DYNAMIC_OBJECT; 00017 public: 00018 Reflective() : reflection(Color4(0.0, 0.0, 0.0)) { } 00019 Reflective(const Color4 &c) : reflection(c) { } 00020 00021 // Inherited from Shade 00022 Color4 calculateColor(const SurfaceInfo &s, Scene &scene); 00023 00024 // Inherited from DynamicObject 00025 void parseSymbol(Token &t, ObjectFile &file); 00026 void writeParams(ostream &stream); 00027 00028 protected: 00029 // Inherited from DynamicObject 00030 void createSymbols(); 00031 00032 Color4 reflection; 00033 00034 private: 00035 typedef Shade super; 00036 }; 00037 #endif