00001 #ifndef _GRAPHICS_SETTINGS_H_ 00002 #define _GRAPHICS_SETTINGS_H_ 00003 00004 #include "Enums.h" 00005 #include "MathHelper.h" 00006 #include "Color.h" 00007 #include "Light.h" 00008 #include "CubeGraphicSettings.h" 00009 00010 namespace FemViewer { 00011 00012 using namespace std; 00013 using namespace fvmath; 00014 class string; 00015 00016 class GraphicsSettings 00017 { 00018 public: 00019 enum eMode 00020 { 00021 simpleMode_none, 00022 simpleMode_bounding_box, 00023 simpleMode_fast 00024 }; 00025 00026 GraphicsSettings(); 00027 ~GraphicsSettings(); 00028 00029 void Defaults(); 00030 int LoadFromFile(const std::string& sfileName, std::string& sError); 00031 void SaveToFile(const std::string& pFilename, std::string& pError); 00032 00033 const char * path_to_meshfile; 00034 const char * path_to_fieldfile; 00035 00036 eSelectionCategory eSelect; 00037 Render_t eRenderType; 00038 ColorRGB BkgColor; 00039 ColorRGB NodeIDColor; 00040 ColorRGB ElemIDColor; 00041 int iBackgroundMode; 00042 bool bIsGridOn; 00043 bool bIsAxesOn; 00044 bool bIsLegendOn; 00045 bool bEdgeOn; 00046 bool bShadingOn; 00047 bool bIsovalueLineOn; 00048 bool bLineCoolored; 00049 bool bIsSmothOn; 00050 bool bShowNumVertices; 00051 bool bShowNumElems; 00052 bool bDisplaySlices; 00053 float fAmbientLight; 00054 int iLightModel; 00055 int iLightPositionLocal; 00056 CVec3f vLightPos; 00057 eMode eSmpMode; 00058 int iSimplicationMode_param; 00059 bool bIsOrthoOn; 00060 bool bIsBVHGridDraw; 00061 bool bIsBVHOctreeDraw; 00062 bool bIsRayTracing; 00063 Light DirectionalLight; 00064 bool bSliceModel; 00065 bool bShowCutPlane[11]; 00066 00067 }; 00068 } // end namespace FFemViewer 00069 00070 00071 #endif /* _SETTINGS_H_ 00072 */