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_OBJECT_PONDERATION_HH 00026 #define PARAMETER_OBJECT_PONDERATION_HH 00027 //****************************************************************************** 00028 #include "controler-gmap-types.hh" 00029 #include "parameter.hh" 00030 #include "vertex.hh" 00031 #include "transformation-matrix.hh" 00032 //****************************************************************************** 00033 namespace GMap3d 00034 { 00035 class CParameterObjectPonderation : public CParameter 00036 { 00037 public: 00039 CParameterObjectPonderation(int ANbRef = 0); 00040 CParameterObjectPonderation(const CParameterObjectPonderation &); 00041 virtual ~CParameterObjectPonderation(); 00042 virtual CParameter * copy() const; 00044 00046 00047 virtual void save(std::ostream&); 00048 virtual void load(std::istream&); 00049 virtual void reinit(); 00050 00052 00054 virtual int getType() const; 00055 00056 /*@name Paramètres de pondération : 00057 */ 00059 00060 void setPonderationType(TPonderationType APonderationType); 00061 TPonderationType getPonderationType() const; 00062 00064 void setPonderationCenter(const CVertex & APonderationCenter); 00065 CVertex getPonderationCenter() const; 00066 00067 /* Vecteur directeur de l'axe de pondération, ou vecteur normal du plan 00068 * de pondération (inutilisé pour la pondération centrale) : 00069 */ 00070 void setPonderationVector(const CVertex & APonderationVector); 00071 CVertex getPonderationVector() const; 00072 00073 /* Activation / désactivation de l'étalonnage en entrée (avant l'application 00074 * de la fonction de pondération : 00075 */ 00076 void setPonderationStretchIn(bool AActive); 00077 bool getPonderationStretchIn() const; 00078 00080 void setPonderationStretchInMin(float AMin); 00081 float getPonderationStretchInMin() const; 00082 00083 void setPonderationStretchInMax(float AMax); 00084 float getPonderationStretchInMax() const; 00085 00087 void setPonderationFunctionType(TFunctionType AFunctionType); 00088 TFunctionType getPonderationFunctionType() const; 00089 00090 /* Activation / désactivation de l'étalonnage en sortie (après l'application 00091 * de la fonction de pondération : 00092 */ 00093 void setPonderationStretchOut(bool AActive); 00094 bool getPonderationStretchOut() const; 00095 00097 void setPonderationStretchOutMin(float AMin); 00098 float getPonderationStretchOutMin() const; 00099 00100 void setPonderationStretchOutMax(float AMax); 00101 float getPonderationStretchOutMax() const; 00102 00104 00105 private: 00107 TPonderationType FPonderationType; 00108 CVertex FPonderationCenter; 00109 CVertex FPonderationVector; 00110 bool FPonderationStretchIn; 00111 float FPonderationStretchInMin, FPonderationStretchInMax; 00112 TFunctionType FPonderationFunctionType; 00113 bool FPonderationStretchOut; 00114 float FPonderationStretchOutMin, FPonderationStretchOutMax; 00115 }; 00116 00117 } // namespace GMap3d 00118 //****************************************************************************** 00119 #endif // PARAMETER_OBJECT_PONDERATION_HH 00120 //******************************************************************************
1.5.8