00001 /* 00002 * lib-controler : Un contrôleur générique de scène 3D. 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 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_AIMED_POSITION_HH 00026 #define PARAMETER_AIMED_POSITION_HH 00027 //****************************************************************************** 00028 #include "parameter.hh" 00029 //****************************************************************************** 00042 class CParameterAimedPosition : public CParameter 00043 { 00044 public: 00049 00052 CParameterAimedPosition(int ANbRef = 0); 00053 CParameterAimedPosition(const CParameterAimedPosition &); 00054 CParameter* copy() const; 00055 00058 virtual ~CParameterAimedPosition(); 00059 00061 00066 00071 virtual void save(std::ostream &); 00072 00077 virtual void load(std::istream &); 00078 00083 virtual void reinit(); 00084 00086 00091 00096 float getRotation() const; 00097 00104 void setRotation(float); 00105 00112 void incRotation(float); 00113 00119 float getLookAt(int) const; 00120 00128 void setLookAt(int, float); 00129 00131 00133 virtual int getType() const; 00134 00136 friend std::ostream& 00137 operator<<(std::ostream&, const CParameterAimedPosition &); 00138 00139 friend std::istream& 00140 operator>>(std::istream&, CParameterAimedPosition &); 00141 00142 private: 00145 float FRotation; 00146 00148 float FLookAt[3]; 00149 }; 00150 //****************************************************************************** 00151 #endif // PARAMETER_AIMED_POSITION_HH 00152 //******************************************************************************