00001 #ifndef SCENE_H 00002 #define SCENE_H 00003 00011 #include "EntitySet.h" 00012 00013 #include <string> 00014 00015 #ifndef NDEBUG 00016 # ifndef BUILDING_DOX 00017 # include <iostream> 00018 # endif 00019 #endif 00020 00021 class RadiosityRenderer; 00022 00026 class Scene { 00027 public: 00033 void load(std::string fileName); 00034 00039 void applyEmission(); 00040 00046 void divide (float size); 00047 00055 RadiosityRenderer* createRadiosityRenderer(int stepCount, float formFactorTreshold, long maxCacheSize); 00056 00061 void save(std::string fileName); 00062 00063 00068 TriangleSetExt* dumpForVis(); 00069 00070 00071 private: 00072 EntitySet entitySet_; 00073 00074 #ifndef NDEBUG 00075 friend std::ostream& operator<< (std::ostream &out, Scene& scene); 00076 #endif 00077 }; 00078 00079 #ifndef NDEBUG 00080 00087 inline std::ostream& operator<< (std::ostream &out, Scene& scene) { 00088 out << scene.entitySet_; 00089 return out; 00090 } 00091 #endif 00092 00093 #endif // SCENE_H