1 /****************************************************************************
2 * MeshLab                                                           o o     *
3 * A versatile mesh processing toolbox                             o     o   *
4 *                                                                _   O  _   *
5 * Copyright(C) 2005                                                \/)\/    *
6 * Visual Computing Lab                                            /\/|      *
7 * ISTI - Italian National Research Council                           |      *
8 *                                                                    \      *
9 * All rights reserved.                                                      *
10 *                                                                           *
11 * This program is free software; you can redistribute it and/or modify      *
12 * it under the terms of the GNU General Public License as published by      *
13 * the Free Software Foundation; either version 2 of the License, or         *
14 * (at your option) any later version.                                       *
15 *                                                                           *
16 * This program is distributed in the hope that it will be useful,           *
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of            *
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             *
19 * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)          *
20 * for more details.                                                         *
21 *                                                                           *
22 ****************************************************************************/
23 
24 #ifndef GLAREA_SETTING_H
25 #define GLAREA_SETTING_H
26 
27 class GLAreaSetting
28 {
29 public:
30 
31     vcg::Color4b baseLightAmbientColor;
32     vcg::Color4b baseLightDiffuseColor;
33     vcg::Color4b baseLightSpecularColor;
baseLightAmbientColorParam()34     inline static QString baseLightAmbientColorParam()		{return "MeshLab::Appearance::baseLightAmbientColor";}
baseLightDiffuseColorParam()35     inline static QString baseLightDiffuseColorParam()		{return "MeshLab::Appearance::baseLightDiffuseColor";}
baseLightSpecularColorParam()36     inline static QString baseLightSpecularColorParam()		{return "MeshLab::Appearance::baseLightSpecularColor";}
37 
38     vcg::Color4b fancyBLightDiffuseColor;
fancyBLightDiffuseColorParam()39     inline static QString fancyBLightDiffuseColorParam()		{return "MeshLab::Appearance::fancyBLightDiffuseColor";}
40 
41     vcg::Color4b fancyFLightDiffuseColor;
fancyFLightDiffuseColorParam()42     inline static QString fancyFLightDiffuseColorParam()		{return "MeshLab::Appearance::fancyFLightDiffuseColor";}
43 
44 
45     vcg::Color4b backgroundBotColor;
46     vcg::Color4b backgroundTopColor;
47     vcg::Color4b logAreaColor;
48     vcg::Color4b textColor;
backgroundBotColorParam()49     inline static QString backgroundBotColorParam()		{return "MeshLab::Appearance::backgroundBotColor";}
backgroundTopColorParam()50     inline static QString backgroundTopColorParam()		{return "MeshLab::Appearance::backgroundTopColor";}
logAreaColorParam()51     inline static QString logAreaColorParam()           {return "MeshLab::Appearance::logAreaColor";}
textColorParam()52     inline static QString textColorParam()           {return "MeshLab::Appearance::textColor";}
53 
54     int textureMagFilter;
55     int textureMinFilter;
textureMinFilterParam()56     inline static QString textureMinFilterParam()           {return "MeshLab::Appearance::textureMinFilter";}
textureMagFilterParam()57     inline static QString textureMagFilterParam()           {return "MeshLab::Appearance::textureMagFilter";}
58 
59     bool pointDistanceAttenuation;
pointDistanceAttenuationParam()60     inline static QString pointDistanceAttenuationParam()           {return "MeshLab::Appearance::pointDistanceAttenuation";}
61     bool pointSmooth;
pointSmoothParam()62     inline static QString pointSmoothParam()           {return "MeshLab::Appearance::pointSmooth";}
63     float pointSize;
pointSizeParam()64     inline static QString pointSizeParam()           {return "MeshLab::Appearance::pointSize";}
65 
66     void updateGlobalParameterSet( RichParameterSet& rps );
67     static void initGlobalParameterSet( RichParameterSet * defaultGlobalParamSet);
68 
69     RichParameterSet *currentGlobalParamSet;
70 };
71 
72 
73 #endif // GLAREA_SETTING_H
74