00001 #ifndef _GRAPHIC_DATA_H_ 00002 #define _GRAPHIC_DATA_H_ 00003 00004 #include <string> 00005 #include <iostream> 00006 #include "Object.h" 00007 00008 namespace FemViewer { 00009 00010 class BBox3D; 00011 class RenderParams; 00012 class ModelCtrl; 00013 00014 class GraphicData 00015 { 00016 public: 00017 00018 GraphicData(); 00019 ~GraphicData(); 00020 00021 void DeleteDisplayLists(); 00022 00023 void DumpCharacteristics(std::ostream& os, 00024 const std::string& pIndentation); 00025 00026 void EnableSmoothingMode(); 00027 00028 const BBox3D& GetGlobalBBox3D() const; 00029 00030 00031 void Render(RenderParams& pParams); 00032 00033 void Reset(); 00034 00035 void SetOptimizerValue(const int OptimalValue); 00036 00037 00038 Object& GetRootObject() { return _oRootObject; } 00039 const Object& GetRootObject() const { return _oRootObject; } 00040 00041 public: 00042 00043 bool bFlagSmoothing; 00044 int iOptimizerValue; 00045 private: 00046 Object _oRootObject; 00047 00048 private: 00049 // Block the use of those 00050 GraphicData(const GraphicData&); 00051 GraphicData& operator=(const GraphicData&); 00052 }; 00053 00054 } // end namespace FemViewer 00055 00056 00057 #endif /* _GRAPHIC_DATA_H_ 00058 */