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