cctw  0.2.1
cctwqttransformtester.cpp
Go to the documentation of this file.
2 #include "cctwqtmainwindow.h"
3 #include "ui_cctwqtmainwindow.h"
6 
8  CctwObject("transformtester", parent),
9  m_MainWindow(w),
10  m_Parameters(p)
11 {
12  printMessage(tr("Transform tester constructed, parameters = %1").arg((long) m_Parameters));
13 
14  connect(m_Parameters, SIGNAL(parametersChanged()), this, SLOT(parametersChanged()));
15 
16  connect(m_MainWindow->ui->m_GetDetPixButton, SIGNAL(clicked()), this, SLOT(testGetDetPix()));
17  connect(m_MainWindow->ui->m_Pixel2QLabButton, SIGNAL(clicked()), this, SLOT(testPixel2QLab()));
18  connect(m_MainWindow->ui->m_QLab2HKLButton, SIGNAL(clicked()), this, SLOT(testQLab2HKL()));
19  connect(m_MainWindow->ui->m_HKL2GridButton, SIGNAL(clicked()), this, SLOT(testHKL2Grid()));
20  connect(m_MainWindow->ui->m_Grid2HKLButton, SIGNAL(clicked()), this, SLOT(testGrid2HKL()));
21  connect(m_MainWindow->ui->m_HKL2QLabButton, SIGNAL(clicked()), this, SLOT(testHKL2QLab()));
22  connect(m_MainWindow->ui->m_QLab2PixelButton, SIGNAL(clicked()), this, SLOT(testQLab2Pixel()));
23  connect(m_MainWindow->ui->m_GetDetPosButton, SIGNAL(clicked()), this, SLOT(testGetDetPos()));
24 }
25 
27 {
28  printMessage("CctwqtTransformTester::parametersChanged");
29 }
30 
31 void CctwqtTransformTester::setColor(QDoubleSpinBox *box, QColor col)
32 {
33 // printMessage(tr("setColor %1 to %2").arg(box->objectName()).arg(col.hue()));
34 
35  QPalette pall = box->palette();
36 
37  pall.setColor(QPalette::Text, col);
38 
39  box->setPalette(pall);
40  box->update();
41 }
42 
44 {
45  setColor(m_MainWindow->ui->m_FrameAngle, Qt::black);
46 
47  setColor(m_MainWindow->ui->m_TestDetectorX, Qt::black);
48  setColor(m_MainWindow->ui->m_TestDetectorY, Qt::black);
49  setColor(m_MainWindow->ui->m_TestDetectorZ, Qt::black);
50 
51  setColor(m_MainWindow->ui->m_TestPixelX, Qt::black);
52  setColor(m_MainWindow->ui->m_TestPixelY, Qt::black);
53  setColor(m_MainWindow->ui->m_TestPixelZ, Qt::black);
54 
55  setColor(m_MainWindow->ui->m_TestQLabX, Qt::black);
56  setColor(m_MainWindow->ui->m_TestQLabY, Qt::black);
57  setColor(m_MainWindow->ui->m_TestQLabZ, Qt::black);
58 
59  setColor(m_MainWindow->ui->m_TestHKLX, Qt::black);
60  setColor(m_MainWindow->ui->m_TestHKLY, Qt::black);
61  setColor(m_MainWindow->ui->m_TestHKLZ, Qt::black);
62 
63  setColor(m_MainWindow->ui->m_TestGridX, Qt::black);
64  setColor(m_MainWindow->ui->m_TestGridY, Qt::black);
65  setColor(m_MainWindow->ui->m_TestGridZ, Qt::black);
66 }
67 
68 void CctwqtTransformTester::highlightInput(QDoubleSpinBox *box)
69 {
70  setColor(box, QColor(0,160,0));
71 }
72 
73 void CctwqtTransformTester::highlightOutput(QDoubleSpinBox *box)
74 {
75  setColor(box, QColor(220,0,0));
76 }
77 
79 {
80  double rot = m_MainWindow->ui->m_FrameAngle->value();
81 
82  highlightInput(m_MainWindow->ui->m_FrameAngle);
83 
84  return rot;
85 }
86 
88 {
89  CctwDoubleVector3D val(m_MainWindow->ui->m_TestDetectorX->value(),
90  m_MainWindow->ui->m_TestDetectorY->value(),
91  m_MainWindow->ui->m_TestDetectorZ->value());
92 
93  highlightInput(m_MainWindow->ui->m_TestDetectorX);
94  highlightInput(m_MainWindow->ui->m_TestDetectorY);
95  highlightInput(m_MainWindow->ui->m_TestDetectorZ);
96 
97  return val;
98 }
99 
101 {
102  m_MainWindow->ui->m_TestDetectorX->setValue(det.x());
103  m_MainWindow->ui->m_TestDetectorY->setValue(det.y());
104  m_MainWindow->ui->m_TestDetectorZ->setValue(det.z());
105 
106  highlightOutput(m_MainWindow->ui->m_TestDetectorX);
107  highlightOutput(m_MainWindow->ui->m_TestDetectorY);
108  highlightOutput(m_MainWindow->ui->m_TestDetectorZ);
109 }
110 
112 {
113  CctwDoubleVector3D val(m_MainWindow->ui->m_TestPixelX->value(),
114  m_MainWindow->ui->m_TestPixelY->value(),
115  m_MainWindow->ui->m_TestPixelZ->value());
116 
117  highlightInput(m_MainWindow->ui->m_TestPixelX);
118  highlightInput(m_MainWindow->ui->m_TestPixelY);
119  highlightInput(m_MainWindow->ui->m_TestPixelZ);
120 
121  return val;
122 }
123 
125 {
126  m_MainWindow->ui->m_TestPixelX->setValue(val.x());
127  m_MainWindow->ui->m_TestPixelY->setValue(val.y());
128  m_MainWindow->ui->m_TestPixelZ->setValue(val.z());
129 
130  highlightOutput(m_MainWindow->ui->m_TestPixelX);
131  highlightOutput(m_MainWindow->ui->m_TestPixelY);
132  highlightOutput(m_MainWindow->ui->m_TestPixelZ);
133 }
134 
136 {
137  CctwDoubleVector3D val(m_MainWindow->ui->m_TestQLabX->value(),
138  m_MainWindow->ui->m_TestQLabY->value(),
139  m_MainWindow->ui->m_TestQLabZ->value());
140 
141  highlightInput(m_MainWindow->ui->m_TestQLabX);
142  highlightInput(m_MainWindow->ui->m_TestQLabY);
143  highlightInput(m_MainWindow->ui->m_TestQLabZ);
144 
145  return val;
146 }
147 
149 {
150  m_MainWindow->ui->m_TestQLabX->setValue(val.x());
151  m_MainWindow->ui->m_TestQLabY->setValue(val.y());
152  m_MainWindow->ui->m_TestQLabZ->setValue(val.z());
153 
154  highlightOutput(m_MainWindow->ui->m_TestQLabX);
155  highlightOutput(m_MainWindow->ui->m_TestQLabY);
156  highlightOutput(m_MainWindow->ui->m_TestQLabZ);
157 }
158 
160 {
161  CctwDoubleVector3D val(m_MainWindow->ui->m_TestHKLX->value(),
162  m_MainWindow->ui->m_TestHKLY->value(),
163  m_MainWindow->ui->m_TestHKLZ->value());
164 
165  highlightInput(m_MainWindow->ui->m_TestHKLX);
166  highlightInput(m_MainWindow->ui->m_TestHKLY);
167  highlightInput(m_MainWindow->ui->m_TestHKLZ);
168 
169  return val;
170 }
171 
173 {
174  m_MainWindow->ui->m_TestHKLX->setValue(val.x());
175  m_MainWindow->ui->m_TestHKLY->setValue(val.y());
176  m_MainWindow->ui->m_TestHKLZ->setValue(val.z());
177 
178  highlightOutput(m_MainWindow->ui->m_TestHKLX);
179  highlightOutput(m_MainWindow->ui->m_TestHKLY);
180  highlightOutput(m_MainWindow->ui->m_TestHKLZ);
181 }
182 
184 {
185  CctwDoubleVector3D val(m_MainWindow->ui->m_TestGridX->value(),
186  m_MainWindow->ui->m_TestGridY->value(),
187  m_MainWindow->ui->m_TestGridZ->value());
188 
189  highlightInput(m_MainWindow->ui->m_TestGridX);
190  highlightInput(m_MainWindow->ui->m_TestGridY);
191  highlightInput(m_MainWindow->ui->m_TestGridZ);
192 
193  return val;
194 }
195 
197 {
198  m_MainWindow->ui->m_TestGridX->setValue(val.x());
199  m_MainWindow->ui->m_TestGridY->setValue(val.y());
200  m_MainWindow->ui->m_TestGridZ->setValue(val.z());
201 
202  highlightOutput(m_MainWindow->ui->m_TestGridX);
203  highlightOutput(m_MainWindow->ui->m_TestGridY);
204  highlightOutput(m_MainWindow->ui->m_TestGridZ);
205 }
206 
208 {
209  unhighlight();
210 
211  CctwDoubleVector3D det = getDet();
212 
213  CctwCrystalCoordinateTransform t(m_Parameters, "test", NULL, this);
215 
216  setPixels(t.getDetPos(det));
217 }
218 
220 {
221  unhighlight();
222 
224 
225  CctwCrystalCoordinateTransform t(m_Parameters, "test", NULL, this);
227 
228  setQLab(t.pixel2qlab(pix));
229 }
230 
232 {
233  unhighlight();
234 
235  CctwDoubleVector3D qlab = getQLab();
236 
237  CctwCrystalCoordinateTransform t(m_Parameters, "test", NULL, this);
239 
240  setHKL(t.qlab2hkl(qlab));
241 }
242 
244 {
245  unhighlight();
246 
247  CctwDoubleVector3D hkl = getHKL();
248 
249  CctwCrystalCoordinateTransform t(m_Parameters, "test", NULL, this);
251 
252  setGrid(t.hkl2grid(hkl));
253 }
254 
256 {
257  unhighlight();
258 
259  CctwDoubleVector3D grid = getGrid();
260 
261  CctwCrystalCoordinateTransform t(m_Parameters, "test", NULL, this);
263 
264  setHKL(t.grid2hkl(grid));
265 }
266 
268 {
269  unhighlight();
270 
271  CctwDoubleVector3D hkl = getHKL();
272 
273  CctwCrystalCoordinateTransform t(m_Parameters, "test", NULL, this);
275 
276  setQLab(t.hkl2qlab(hkl));
277 }
278 
280 {
281  unhighlight();
282 
283  CctwDoubleVector3D qlab = getQLab();
284 
285  CctwCrystalCoordinateTransform t(m_Parameters, "test", NULL, this);
287 
288  setPixels(t.qlab2pixel(qlab));
289 }
290 
292 {
293  unhighlight();
294 
296 
297  CctwCrystalCoordinateTransform t(m_Parameters, "test", NULL, this);
299 
300  setDet(t.getDetPix(pix));
301 }
CctwDoubleVector3D getGrid()
void setDet(CctwDoubleVector3D det)
CctwDoubleVector3D hkl2grid(double h, double k, double l)
CctwDoubleVector3D getDet()
CctwCrystalCoordinateParameters * m_Parameters
CctwDoubleVector3D getDetPos(double x, double y)
void setGrid(CctwDoubleVector3D val)
CctwDoubleVector3D pixel2qlab(double x, double y, double z)
CctwqtMainWindow * m_MainWindow
virtual void printMessage(QString msg, QDateTime dt=QDateTime::currentDateTime())
Definition: cctwobject.cpp:25
Ui::CctwqtMainWindow * ui
void setPixels(CctwDoubleVector3D val)
T x() const
Definition: cctwvector3d.h:17
void setHKL(CctwDoubleVector3D val)
CctwDoubleVector3D getQLab()
CctwDoubleVector3D getPixels()
CctwDoubleVector3D hkl2qlab(double h, double k, double l)
T z() const
Definition: cctwvector3d.h:19
void setQLab(CctwDoubleVector3D val)
CctwDoubleVector3D qlab2pixel(double qx, double qy, double qz)
CctwDoubleVector3D grid2hkl(double gx, double gy, double gz)
void highlightOutput(QDoubleSpinBox *inp)
void highlightInput(QDoubleSpinBox *inp)
T y() const
Definition: cctwvector3d.h:18
CctwqtTransformTester(CctwqtMainWindow *w, CctwCrystalCoordinateParameters *p, QObject *parent)
void setColor(QDoubleSpinBox *box, QColor col)
CctwDoubleVector3D qlab2hkl(double qx, double qy, double qz)
CctwDoubleVector3D getDetPix(double x, double y, double z)
CctwDoubleVector3D getHKL()