28 #include <QtGui/QLabel>
29 #include <QtGui/QVBoxLayout>
35 QWidget ( parentTab ) ,
39 QBoxLayout * placement =
new QBoxLayout ( QBoxLayout::TopToBottom,
this ) ;
42 FAffDistance =
new QGroupBox ( *
HTML::decode(
"Distance to..."));
43 QVBoxLayout* afd_vbl =
new QVBoxLayout(FAffDistance);
45 FSaisieDistance =
new QComboBox ;
46 FSaisieDistance -> addItem (
"Vertice" ) ;
47 FSaisieDistance -> addItem (
"Line" ) ;
48 FSaisieDistance -> addItem (
"Plane" ) ;
50 QWidget * WidgetDistance2 =
new QWidget ;
51 QBoxLayout * distance2 =
new QBoxLayout ( QBoxLayout::LeftToRight,
54 FAffSommet =
new QLabel (
"Vertex :" ) ;
56 for (
int i = 0 ; i < 3 ; i++ ) {
59 FRecupSommet =
new QPushButton (
"Recover" ) ;
61 FAffCoefSommet [0] =
new QLabel (
"X :" ) ;
62 FAffCoefSommet [1] =
new QLabel (
"Y :" ) ;
63 FAffCoefSommet [2] =
new QLabel (
"Z :" ) ;
65 distance2 -> addWidget ( FAffCoefSommet [0], 0, Qt::AlignLeft ) ;
66 distance2 -> addWidget ( FSaisieCoefSommet [0], 1, Qt::AlignLeft ) ;
67 distance2 -> addSpacing ( 10 ) ;
68 distance2 -> addWidget ( FAffCoefSommet [1], 0, Qt::AlignLeft ) ;
69 distance2 -> addWidget ( FSaisieCoefSommet [1], 1, Qt::AlignLeft ) ;
70 distance2 -> addSpacing ( 10 ) ;
71 distance2 -> addWidget ( FAffCoefSommet [2], 0, Qt::AlignLeft ) ;
72 distance2 -> addWidget ( FSaisieCoefSommet [2], 1, Qt::AlignLeft ) ;
73 distance2 -> addSpacing ( 10 ) ;
74 distance2 -> addWidget ( FRecupSommet ) ;
77 QWidget * WidgetDistance3 =
new QWidget ;
78 QBoxLayout * distance3 =
new QBoxLayout ( QBoxLayout::LeftToRight, WidgetDistance3 ) ;
80 FAffVecteur =
new QLabel (
"Vector :" ) ;
82 for (
int i = 0 ; i < 3 ; i++ )
85 FRecupVecteur =
new QPushButton (
"Recover" ) ;
87 FAffCoefVecteur [0] =
new QLabel (
"X :" ) ;
88 FAffCoefVecteur [1] =
new QLabel (
"Y :" ) ;
89 FAffCoefVecteur [2] =
new QLabel (
"Z :" ) ;
91 distance3 -> addWidget ( FAffCoefVecteur [0], 0, Qt::AlignLeft ) ;
92 distance3 -> addWidget ( FSaisieCoefVecteur [0], 1, Qt::AlignLeft ) ;
93 distance3 -> addSpacing ( 10 ) ;
94 distance3 -> addWidget ( FAffCoefVecteur [1], 0, Qt::AlignLeft ) ;
95 distance3 -> addWidget ( FSaisieCoefVecteur [1], 1, Qt::AlignLeft ) ;
96 distance3 -> addSpacing ( 10 ) ;
97 distance3 -> addWidget ( FAffCoefVecteur [2], 0, Qt::AlignLeft ) ;
98 distance3 -> addWidget ( FSaisieCoefVecteur [2], 1, Qt::AlignLeft ) ;
99 distance3 -> addSpacing ( 10 ) ;
100 distance3 -> addWidget ( FRecupVecteur ) ;
103 afd_vbl -> addWidget(FSaisieDistance, 0, Qt::AlignCenter);
104 afd_vbl -> addWidget(FAffSommet);
105 afd_vbl -> addWidget(WidgetDistance2);
106 afd_vbl -> addWidget(FAffVecteur);
107 afd_vbl -> addWidget(WidgetDistance3);
110 QWidget * WidgetBas =
new QWidget (
this) ;
111 QBoxLayout * bas =
new QBoxLayout ( QBoxLayout::LeftToRight, WidgetBas ) ;
115 FAffEtalonnageDistance =
new QGroupBox (
"Distances calibration" );
116 FAffEtalonnageDistance -> setCheckable(
true);
117 FAffEtalonnageDistance -> setChecked(
false);
119 QVBoxLayout * aed_vbl =
new QVBoxLayout ( FAffEtalonnageDistance ) ;
121 QWidget * WidgetMin1 =
new QWidget ;
122 QHBoxLayout * min1 =
new QHBoxLayout ( WidgetMin1) ;
123 FAffMinDistance =
new QLabel (
"Minimum :" ) ;
126 min1 -> addWidget ( FAffMinDistance, 0, Qt::AlignRight ) ;
127 min1 -> addWidget ( FSaisieMinDistance, 0, Qt::AlignLeft ) ;
129 QWidget * WidgetMax1 =
new QWidget ;
130 QHBoxLayout * max1 =
new QHBoxLayout ( WidgetMax1 ) ;
131 FAffMaxDistance =
new QLabel (
"Maximum :" ) ;
134 max1 -> addWidget ( FAffMaxDistance, 0, Qt::AlignRight ) ;
135 max1 -> addWidget ( FSaisieMaxDistance, 0, Qt::AlignLeft ) ;
137 aed_vbl -> addWidget(WidgetMin1);
138 aed_vbl -> addWidget(WidgetMax1);
142 QWidget * WidgetCentre =
new QWidget (
this) ;
143 QBoxLayout * centre =
new QBoxLayout ( QBoxLayout::LeftToRight, WidgetCentre ) ;
145 FSaisieFonction =
new QComboBox ;
146 FSaisieFonction -> addItem ( *
HTML::decode(
"linear") ) ;
147 FSaisieFonction -> addItem (
"quadratic" ) ;
148 FSaisieFonction -> addItem (
"exponential" ) ;
149 FSaisieFonction -> addItem (
"logarithmic" ) ;
150 FSaisieFonction -> addItem (
"sinusoidal" ) ;
151 FSaisieFonction -> addItem (
"cosinusoidal" ) ;
153 centre -> addWidget(
new QLabel ( *
HTML::decode(
"Applied function: ") ), 0 , Qt::AlignLeft );
154 centre -> addWidget( FSaisieFonction , 1 , Qt::AlignLeft ) ;
158 FAffEtalonnageResultat =
159 new QGroupBox ( *
HTML::decode(
"Calibration of results") );
160 FAffEtalonnageResultat -> setCheckable(
true);
161 FAffEtalonnageResultat -> setChecked(
false);
163 QVBoxLayout * aer_vbl =
new QVBoxLayout ( FAffEtalonnageResultat ) ;
165 QWidget * WidgetMin2 =
new QWidget ;
166 QHBoxLayout * min2 =
new QHBoxLayout ( WidgetMin2) ;
167 FAffMinResultat =
new QLabel (
"Minimum:" ) ;
170 min2 -> addWidget ( FAffMinResultat, 0, Qt::AlignRight ) ;
171 min2 -> addWidget ( FSaisieMinResultat, 0, Qt::AlignLeft ) ;
173 QWidget * WidgetMax2 =
new QWidget ;
174 QHBoxLayout * max2 =
new QHBoxLayout ( WidgetMax2 ) ;
175 FAffMaxResultat =
new QLabel (
"Maximum:" ) ;
178 max2 -> addWidget ( FAffMaxResultat, 0, Qt::AlignRight ) ;
179 max2 -> addWidget ( FSaisieMaxResultat, 0, Qt::AlignLeft ) ;
181 aer_vbl -> addWidget(WidgetMin2);
182 aer_vbl -> addWidget(WidgetMax2);
184 bas -> addWidget ( FAffEtalonnageDistance ) ;
185 bas -> addWidget ( FAffEtalonnageResultat ) ;
187 placement -> addWidget ( FAffDistance ) ;
188 placement -> addWidget ( WidgetCentre ) ;
189 placement -> addWidget ( WidgetBas ) ;
194 QObject :: connect ( FSaisieDistance ,
195 SIGNAL ( activated (
int ) ) ,
198 QObject :: connect ( FSaisieFonction ,
199 SIGNAL ( activated (
int ) ) ,
202 QObject :: connect ( FAffEtalonnageDistance ,
203 SIGNAL ( clicked ( ) ) ,
206 QObject :: connect ( FAffEtalonnageResultat ,
207 SIGNAL ( clicked ( ) ) ,
210 QObject :: connect ( FSaisieMinDistance ,
211 SIGNAL ( valueChanged (
double ) ) ,
214 QObject :: connect ( FSaisieMaxDistance ,
215 SIGNAL ( valueChanged (
double ) ) ,
218 QObject :: connect ( FSaisieMinResultat ,
219 SIGNAL ( valueChanged (
double ) ) ,
222 QObject :: connect ( FSaisieMaxResultat ,
223 SIGNAL ( valueChanged (
double ) ) ,
227 for (
int i = 0 ; i < 3 ; i ++ ) {
228 QObject :: connect ( FSaisieCoefSommet [i] ,
229 SIGNAL ( valueChanged (
double ) ) ,
233 QObject :: connect ( FSaisieCoefVecteur [i] ,
234 SIGNAL ( valueChanged (
double ) ) ,
239 QObject :: connect ( FRecupSommet ,
240 SIGNAL ( clicked ( ) ) ,
243 QObject :: connect ( FRecupVecteur ,
244 SIGNAL ( clicked ( ) ) ,
262 CParameterObjectPonderation * p = FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ;
264 FSaisieCoefSommet [ 0 ] -> setValuef ( p -> getPonderationCenter ( ) . getX ( ) ) ;
265 FSaisieCoefSommet [ 1 ] -> setValuef ( p -> getPonderationCenter ( ) . getY ( ) ) ;
266 FSaisieCoefSommet [ 2 ] -> setValuef ( p -> getPonderationCenter ( ) . getZ ( ) ) ;
268 FSaisieCoefVecteur [ 0 ] -> setValuef ( p -> getPonderationVector ( ) . getX ( ) ) ;
269 FSaisieCoefVecteur [ 1 ] -> setValuef ( p -> getPonderationVector ( ) . getY ( ) ) ;
270 FSaisieCoefVecteur [ 2 ] -> setValuef ( p -> getPonderationVector ( ) . getZ ( ) ) ;
273 FSaisieDistance -> setCurrentIndex ( p->getPonderationType ( ) ) ;
275 const char * vectorLabs [] = {
"",
"Direction Vector: ",
"Normal Vector: "};
277 for (
int i = 0 ; i < 3 ; ++i )
278 if ( i == p -> getPonderationType ( ) )
279 FAffVecteur -> setText ( vectorLabs [ i ] ) ;
281 for (
int i = 0 ; i < 3 ; ++i )
282 FSaisieCoefVecteur [ i ] -> setEnabled ( p -> getPonderationType ( ) != 0 ) ;
284 FRecupVecteur -> setEnabled ( p -> getPonderationType ( ) != 0 ) ;
287 FSaisieFonction -> setCurrentIndex ( p->getPonderationFunctionType ( ) ) ;
290 FSaisieMinDistance -> setValuef ( p -> getPonderationStretchInMin ( ) ) ;
291 FSaisieMaxDistance -> setValuef ( p -> getPonderationStretchInMax ( ) ) ;
292 FSaisieMinResultat -> setValuef ( p -> getPonderationStretchOutMin ( ) ) ;
293 FSaisieMaxResultat -> setValuef ( p -> getPonderationStretchOutMax ( ) ) ;
296 FAffEtalonnageDistance -> setChecked ( p -> getPonderationStretchIn ( ) ) ;
297 FAffEtalonnageResultat -> setChecked ( p -> getPonderationStretchOut ( ) ) ;
315 setFunctionType((TFunctionType) FSaisieFonction -> currentIndex ( ) ) ;
322 if ( FParent -> getControler ( ) -> takeCenter ( center ) )
329 if ( FParent -> getControler ( ) -> takeVector ( vector ) )
348 setCenter ( CVertex ( FSaisieCoefSommet [ 0 ] -> valuef ( ) ,
349 FSaisieCoefSommet [ 1 ] -> valuef ( ) ,
350 FSaisieCoefSommet [ 2 ] -> valuef ( ) ) ) ;
356 setVector ( CVertex ( FSaisieCoefVecteur [ 0 ] -> valuef ( ) ,
357 FSaisieCoefVecteur [ 1 ] -> valuef ( ) ,
358 FSaisieCoefVecteur [ 2 ] -> valuef ( ) ) ) ;
364 setMin1 ( FSaisieMinDistance -> valuef ( ) ) ;
370 setMax1 ( FSaisieMaxDistance -> valuef ( ) ) ;
376 setMin2 ( FSaisieMinResultat -> valuef ( ) ) ;
382 setMax2 ( FSaisieMaxResultat -> valuef ( ) ) ;
391 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
392 setPonderationCenter ( vertex ) ;
399 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
400 setPonderationVector ( vertex ) ;
406 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
407 setPonderationType ( type ) ;
413 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
414 setPonderationFunctionType ( type ) ;
420 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
421 setPonderationStretchInMin ( v ) ;
427 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
428 setPonderationStretchInMax ( v ) ;
434 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
435 setPonderationStretchOutMin ( v ) ;
441 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
442 setPonderationStretchOutMax ( v ) ;
448 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
449 setPonderationStretchIn ( b ) ;
455 FParent -> getControler ( ) -> getParameterObjectPonderation ( ) ->
456 setPonderationStretchOut ( b ) ;