00001 /* 00002 * lib-controler-gmap : Le contrôleur de 3-G-cartes, surcouche de lib-controler. 00003 * Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC 00004 * http://www.sic.sp2mi.univ-poitiers.fr/ 00005 * Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS, 00006 * guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/ 00007 * 00008 * This file is part of lib-controler-gmap 00009 * 00010 * This program is free software: you can redistribute it and/or modify 00011 * it under the terms of the GNU Lesser General Public License as published by 00012 * the Free Software Foundation, either version 3 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public License 00021 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00022 */ 00023 00024 //****************************************************************************** 00025 #ifndef PARAMETER_FACE_HH 00026 #define PARAMETER_FACE_HH 00027 //****************************************************************************** 00028 #include "parameter.hh" 00029 //****************************************************************************** 00041 namespace GMap3d 00042 { 00043 class CParameterFace : public CParameter 00044 { 00045 public: 00050 00053 CParameterFace(int ANbRef = 0); 00054 CParameterFace(const CParameterFace &); 00055 CParameter * copy() const; 00056 00059 virtual ~CParameterFace(); 00060 00062 00067 00072 virtual void save(std::ostream&); 00073 00078 virtual void load(std::istream&); 00079 00084 virtual void reinit(); 00085 00087 00089 00090 float getCLFace(int AIndice) const; 00091 const float * getCLFace() const; 00092 void setCLFace(int AIndice, float AValue); 00093 void setCLFace(float AValue0, float AValue1, float AValue2); 00094 void setCLFace(const float ATab[3]); 00096 00098 00099 float getBLFace() const; 00100 void setBLFace(float AValue); 00102 00104 00105 bool getRandomCLFace() const; 00106 void setRandomCLFace(bool AValue) ; 00107 bool getRandomCLVolume() const; 00108 void setRandomCLVolume(bool AValue); 00110 00113 00114 bool getRandomColorGeometry() const; 00115 void setRandomColorGeometry(bool AValue) ; 00117 00119 virtual int getType() const; 00120 00122 friend std::ostream& operator << (std::ostream&, const CParameterFace &); 00123 friend std::istream& operator >> (std::istream&, CParameterFace &); 00124 00125 private: 00126 00128 float FCLFace[3]; 00129 00131 float FBLFace; 00132 00134 bool FRandomCLFace; 00135 bool FRandomCLVolume; 00136 00139 bool FRandomColorGeometry; 00140 }; 00141 00142 } // namespace GMap3d 00143 //****************************************************************************** 00144 #endif // PARAMETER_FACE_HH 00145 //******************************************************************************