Moka controlers
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros
parameter-object-rotation.cc
Go to the documentation of this file.
1 /*
2  * lib-controler-gmap : Le contrôleur de 3-G-cartes, surcouche de lib-controler.
3  * Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC
4  * http://www.sic.sp2mi.univ-poitiers.fr/
5  * Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS,
6  * guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/
7  *
8  * This file is part of lib-controler-gmap
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU Lesser General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 //******************************************************************************
25 #include "controler-gmap-types.hh"
27 #include "transformation-matrix.hh"
28 #include "geometry.hh"
29 using namespace std;
30 using namespace GMap3d;
31 //******************************************************************************
32 CParameterObjectRotation::CParameterObjectRotation(int ANbRef) :
33  CParameter (ANbRef),
34  FAxeVertex (ORIGIN),
35  FAxeVector (OZ),
36  FAngle (0.0),
37  FPonderation(false)
38 {}
39 //******************************************************************************
42  CParameter (AParam),
43  FAxeVertex (AParam.FAxeVertex),
44  FAxeVector (AParam.FAxeVector),
45  FAngle (AParam.FAngle),
46  FPonderation(AParam.FPonderation)
47 {}
48 //******************************************************************************
50 {}
51 //******************************************************************************
53 { return new CParameterObjectRotation(*this); }
54 //******************************************************************************
55 void CParameterObjectRotation::load(istream& /*AStream*/)
56 {}
57 //------------------------------------------------------------------------------
58 void CParameterObjectRotation::save(ostream& /*AStream*/)
59 {}
60 //------------------------------------------------------------------------------
62 {}
63 //******************************************************************************
65 {
67 }
68 //******************************************************************************
69 void CParameterObjectRotation::setAxeVertex(const CVertex & AAxeVertex)
70 {
71  if (FAxeVertex != AAxeVertex)
72  {
74  FAxeVertex = AAxeVertex;
75  }
76 }
77 
79 {
80  return FAxeVertex;
81 }
82 //******************************************************************************
83 void CParameterObjectRotation::setAxeVector(const CVertex & AAxeVector)
84 {
85  if (FAxeVector != AAxeVector && !AAxeVector.isNull())
86  {
88  FAxeVector = AAxeVector;
89  }
90 }
91 
93 {
94  return FAxeVector;
95 }
96 //******************************************************************************
98 {
99  FAngle = AAngle;
100 }
101 
103 {
104  return FAngle;
105 }
106 //******************************************************************************
108 {
109  if (FPonderation != AActive)
110  {
112  FPonderation = AActive;
113  }
114 }
115 
117 {
118  return FPonderation;
119 }
120 //******************************************************************************