37
37
QTest::addColumn<qreal>( "yaw" );
38
38
QTest::addColumn<qreal>( "roll" );
40
addRow() << 0.0 << 0.0 << 0.0;
42
addRow() << -180.0 << 0.0 << 0.0;
43
addRow() << -90.0 << 0.0 << 0.0;
44
addRow() << 90.0 << 0.0 << 0.0;
45
addRow() << 180.0 << 0.0 << 0.0;
47
addRow() << -180.0 << -90.0 << 0.0;
48
addRow() << -90.0 << -90.0 << 0.0;
49
addRow() << 0.0 << -90.0 << 0.0;
50
addRow() << 90.0 << -90.0 << 0.0;
51
addRow() << 180.0 << -90.0 << 0.0;
53
addRow() << -180.0 << 90.0 << 0.0;
54
addRow() << -90.0 << 90.0 << 0.0;
55
addRow() << 0.0 << 90.0 << 0.0;
56
addRow() << 90.0 << 90.0 << 0.0;
57
addRow() << 180.0 << 90.0 << 0.0;
59
addRow() << -180.0 << 0.0 << 90.0;
60
addRow() << -90.0 << 0.0 << 90.0;
61
addRow() << 90.0 << 0.0 << 90.0;
62
addRow() << 180.0 << 0.0 << 90.0;
64
addRow() << -180.0 << 0.0 << -90.0;
65
addRow() << -90.0 << 0.0 << -90.0;
66
addRow() << 90.0 << 0.0 << -90.0;
67
addRow() << 180.0 << 0.0 << -90.0;
40
addRow() << qreal(0.0) << qreal(0.0) << qreal(0.0);
42
addRow() << qreal(-180.0) << qreal(0.0) << qreal(0.0);
43
addRow() << qreal(-90.0) << qreal(0.0) << qreal(0.0);
44
addRow() << qreal(90.0) << qreal(0.0) << qreal(0.0);
45
addRow() << qreal(180.0) << qreal(0.0) << qreal(0.0);
47
addRow() << qreal(-180.0) << qreal(-90.0) << qreal(0.0);
48
addRow() << qreal(-90.0) << qreal(-90.0) << qreal(0.0);
49
addRow() << qreal(0.0) << qreal(-90.0) << qreal(0.0);
50
addRow() << qreal(90.0) << qreal(-90.0) << qreal(0.0);
51
addRow() << qreal(180.0) << qreal(-90.0) << qreal(0.0);
53
addRow() << qreal(-180.0) << qreal(90.0) << qreal(0.0);
54
addRow() << qreal(-90.0) << qreal(90.0) << qreal(0.0);
55
addRow() << qreal(0.0) << qreal(90.0) << qreal(0.0);
56
addRow() << qreal(90.0) << qreal(90.0) << qreal(0.0);
57
addRow() << qreal(180.0) << qreal(90.0) << qreal(0.0);
59
addRow() << qreal(-180.0) << qreal(0.0) << qreal(90.0);
60
addRow() << qreal(-90.0) << qreal(0.0) << qreal(90.0);
61
addRow() << qreal(90.0) << qreal(0.0) << qreal(90.0);
62
addRow() << qreal(180.0) << qreal(0.0) << qreal(90.0);
64
addRow() << qreal(-180.0) << qreal(0.0) << qreal(-90.0);
65
addRow() << qreal(-90.0) << qreal(0.0) << qreal(-90.0);
66
addRow() << qreal(90.0) << qreal(0.0) << qreal(-90.0);
67
addRow() << qreal(180.0) << qreal(0.0) << qreal(-90.0);
70
70
// the following tests currently fail, which should be fixed:
73
// addRow() << 10.0 << 20.0 << 30.0;
75
// addRow() << -180.0 << -89.0 << 90.0;
76
// addRow() << -90.0 << -89.0 << 90.0;
77
// addRow() << 0.0 << -89.0 << 90.0;
78
// addRow() << 90.0 << -89.0 << 90.0;
79
// addRow() << 180.0 << -89.0 << 90.0;
81
// addRow() << -180.0 << 89.0 << 90.0;
82
// addRow() << -90.0 << 89.0 << 90.0;
83
// addRow() << 0.0 << 89.0 << 90.0;
84
// addRow() << 90.0 << 89.0 << 90.0;
85
// addRow() << 180.0 << 89.0 << 90.0;
87
// addRow() << -180.0 << -89.0 << -90.0;
88
// addRow() << -90.0 << -89.0 << -90.0;
89
// addRow() << 0.0 << -89.0 << -90.0;
90
// addRow() << 90.0 << -89.0 << -90.0;
91
// addRow() << 180.0 << -89.0 << -90.0;
93
// addRow() << -180.0 << 89.0 << -90.0;
94
// addRow() << -90.0 << 89.0 << -90.0;
95
// addRow() << 0.0 << 89.0 << -90.0;
96
// addRow() << 90.0 << 89.0 << -90.0;
97
// addRow() << 180.0 << 89.0 << -90.0;
73
// addRow() << qreal(10.0) << qreal(20.0) << qreal(30.0);
75
// addRow() << qreal(-180.0) << qreal(-89.0) << qreal(90.0);
76
// addRow() << qreal(-90.0) << qreal(-89.0) << qreal(90.0);
77
// addRow() << qreal(0.0) << qreal(-89.0) << qreal(90.0);
78
// addRow() << qreal(90.0) << qreal(-89.0) << qreal(90.0);
79
// addRow() << qreal(180.0) << qreal(-89.0) << qreal(90.0);
81
// addRow() << qreal(-180.0) << qreal(89.0) << qreal(90.0);
82
// addRow() << qreal(-90.0) << qreal(89.0) << qreal(90.0);
83
// addRow() << qreal(0.0) << qreal(89.0) << qreal(90.0);
84
// addRow() << qreal(90.0) << qreal(89.0) << qreal(90.0);
85
// addRow() << qreal(180.0) << qreal(89.0) << qreal(90.0);
87
// addRow() << qreal(-180.0) << qreal(-89.0) << qreal(-90.0);
88
// addRow() << qreal(-90.0) << qreal(-89.0) << qreal(-90.0);
89
// addRow() << qreal(0.0) << qreal(-89.0) << qreal(-90.0);
90
// addRow() << qreal(90.0) << qreal(-89.0) << qreal(-90.0);
91
// addRow() << qreal(180.0) << qreal(-89.0) << qreal(-90.0);
93
// addRow() << qreal(-180.0) << qreal(89.0) << qreal(-90.0);
94
// addRow() << qreal(-90.0) << qreal(89.0) << qreal(-90.0);
95
// addRow() << qreal(0.0) << qreal(89.0) << qreal(-90.0);
96
// addRow() << qreal(90.0) << qreal(89.0) << qreal(-90.0);
97
// addRow() << qreal(180.0) << qreal(89.0) << qreal(-90.0);
100
100
void QuaternionTest::testEuler()
115
115
QTest::addColumn<qreal>( "lon" );
116
116
QTest::addColumn<qreal>( "lat" );
118
addRow() << 0.0 << 0.0;
120
addRow() << -180.0 << 0.0;
121
addRow() << -90.0 << 0.0;
122
addRow() << 90.0 << 0.0;
123
addRow() << 180.0 << 0.0;
125
addRow() << -180.0 << -89.0;
126
addRow() << -90.0 << -89.0;
127
addRow() << 0.0 << -89.0;
128
addRow() << 90.0 << -89.0;
129
addRow() << 180.0 << -89.0;
131
addRow() << -180.0 << 89.0;
132
addRow() << -90.0 << 89.0;
133
addRow() << 0.0 << 89.0;
134
addRow() << 90.0 << 89.0;
135
addRow() << 180.0 << 89.0;
118
addRow() << qreal(0.0) << qreal(0.0);
120
addRow() << qreal(-180.0) << qreal(0.0);
121
addRow() << qreal(-90.0) << qreal(0.0);
122
addRow() << qreal(90.0) << qreal(0.0);
123
addRow() << qreal(180.0) << qreal(0.0);
125
addRow() << qreal(-180.0) << qreal(-89.0);
126
addRow() << qreal(-90.0) << qreal(-89.0);
127
addRow() << qreal(0.0) << qreal(-89.0);
128
addRow() << qreal(90.0) << qreal(-89.0);
129
addRow() << qreal(180.0) << qreal(-89.0);
131
addRow() << qreal(-180.0) << qreal(89.0);
132
addRow() << qreal(-90.0) << qreal(89.0);
133
addRow() << qreal(0.0) << qreal(89.0);
134
addRow() << qreal(90.0) << qreal(89.0);
135
addRow() << qreal(180.0) << qreal(89.0);
138
138
// the following cases fail, which should be fixed
141
141
// bug 285570: animated zooming looks incorrect in globe projection when the earth is upside down
144
// addRow() << -180.0 << -179.0;
145
// addRow() << -90.0 << -179.0;
146
// addRow() << 0.0 << -179.0;
147
// addRow() << 90.0 << -179.0;
148
// addRow() << 180.0 << -179.0;
144
// addRow() << qreal(-180.0) << qreal(-179.0);
145
// addRow() << qreal(-90.0) << qreal(-179.0);
146
// addRow() << qreal(0.0) << qreal(-179.0);
147
// addRow() << qreal(90.0) << qreal(-179.0);
148
// addRow() << qreal(180.0) << qreal(-179.0);
150
// addRow() << -180.0 << 179.0;
151
// addRow() << -90.0 << 179.0;
152
// addRow() << 0.0 << 179.0;
153
// addRow() << 90.0 << 179.0;
154
// addRow() << 180.0 << 179.0;
150
// addRow() << qreal(-180.0) << qreal(179.0);
151
// addRow() << qreal(-90.0) << qreal(179.0);
152
// addRow() << qreal(0.0) << qreal(179.0);
153
// addRow() << qreal(90.0) << qreal(179.0);
154
// addRow() << qreal(180.0) << qreal(179.0);
157
157
void QuaternionTest::testSpherical()