MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/Imath / testEuler

Function testEuler

src/python/PyImathTest/main.cpp:1151–1240  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1149
1150
1151void
1152testEuler ()
1153{
1154 object mainModule ((handle<> (borrowed (PyImport_AddModule ("__main__")))));
1155 object mainNamespace = mainModule.attr ("__dict__");
1156
1157 std::cerr << "Testing Euler*:\n";
1158
1159 std::string code =
1160 "from imath import *\n"
1161 "ef = Eulerf (V3f(1.1, 2.2, 3.3), EULER_XZY)\n"
1162 "ed = Eulerd (V3d(4.4, 5.5, 6.6), EULER_ZYX)\n"
1163 "i = 1\n"
1164 "from wrap import *\n"
1165 "w = wrap ('Eulerf')\n"
1166 "assert equal (w.x, 1.1, 1e-6)\n"
1167 "assert equal (w.y, 2.2, 1e-6)\n"
1168 "assert equal (w.z, 3.3, 1e-6)\n"
1169 "assert w.order() == EULER_XZY\n"
1170 "w = wrap ('Eulerd')\n"
1171 "assert equal (w.x, 1.1, 1e-6)\n"
1172 "assert equal (w.y, 2.2, 1e-6)\n"
1173 "assert equal (w.z, 3.3, 1e-6)\n"
1174 "assert w.order() == EULER_XZY\n";
1175
1176 handle<> ignored (PyRun_String (code.c_str(), Py_file_input,
1177 mainNamespace.ptr(), mainNamespace.ptr()));
1178
1179 //
1180
1181 extract <object> eef (mainNamespace["ef"]);
1182 assert (eef.check());
1183
1184 PyObject *efObj = eef().ptr();
1185 assert (efObj != 0);
1186
1187 extract <object> eed (mainNamespace["ed"]);
1188 assert (eed.check());
1189
1190 PyObject *edObj = eed().ptr();
1191 assert (edObj != 0);
1192
1193 extract <object> ei (mainNamespace["i"]);
1194 assert (ei.check());
1195
1196 PyObject *iObj = ei().ptr();
1197 assert (iObj != 0);
1198
1199 //
1200
1201 std::cerr << "Testing Eulerf:\n";
1202
1203 IMATH_NAMESPACE::Eulerf efAsEf;
1204 assert (PyImath::Eulerf::convert (efObj, &efAsEf) == 1);
1205 IMATH_NAMESPACE::Eulerf eff (IMATH_NAMESPACE::V3f (1.1f, 2.2f, 3.3f), IMATH_NAMESPACE::Eulerf::XZY);
1206 assert (efAsEf.order() == eff.order());
1207 assert (efAsEf.toMatrix44().equalWithAbsError (eff.toMatrix44(), 1e-7));
1208

Callers

nothing calls this directly

Calls 3

orderMethod · 0.80
equalWithAbsErrorMethod · 0.80
toMatrix44Method · 0.45

Tested by

no test coverage detected