@@ -338,17 +338,24 @@ py::object getValueFinfo(const ObjId& oid, const string& fname, const Finfo* f)
338338 auto rttType = f->rttiType ();
339339 py::object r = py::none ();
340340
341+ // cout << "Getting " << fname << "(" << rttType << ")"
342+ // << " from " << oid.path() << endl;
343+
341344 if (rttType == " double" or rttType == " float" )
342345 r = pybind11::float_ (getField<double >(oid, fname));
343346 else if (rttType == " vector<double>" ) {
344- r = py::cast (getField<vector<double >>(oid, fname));
345- // r = getFieldNumpy<double>(oid, fname);
347+ // r = py::cast(getField<vector<double>>(oid, fname));
348+ r = getFieldNumpy<double >(oid, fname);
346349 } else if (rttType == " string" )
347350 r = pybind11::str (getField<string>(oid, fname));
348- // else if (rttType == "char")
349- // r = pybind11::int_(getField<char>(oid, fname));
350- else if (rttType == " int" or rttType == " unsigned int " or rttType == " unsigned long " or rttType == " unsigned int " )
351+ else if (rttType == " char" )
352+ r = pybind11::int_ (getField<char >(oid, fname));
353+ else if (rttType == " int" )
351354 r = pybind11::int_ (getField<int >(oid, fname));
355+ else if (rttType == " unsigned int" )
356+ r = pybind11::int_ (getField<unsigned int >(oid, fname));
357+ else if (rttType == " unsigned long" )
358+ r = pybind11::int_ (getField<unsigned long >(oid, fname));
352359 else if (rttType == " bool" )
353360 r = pybind11::bool_ (getField<bool >(oid, fname));
354361 else if (rttType == " Id" )
@@ -382,7 +389,7 @@ py::list getElementFinfo(const ObjId& objid, const string& fname,
382389}
383390
384391py::cpp_function getFieldertyDestFinfo (const ObjId& oid, const string& fname,
385- const Finfo* finfo)
392+ const Finfo* finfo)
386393{
387394 const auto rttType = finfo->rttiType ();
388395
@@ -396,21 +403,22 @@ py::cpp_function getFieldertyDestFinfo(const ObjId& oid, const string& fname,
396403 return func;
397404 }
398405 if (rttType == " vector<Id>" ) {
399- std::function<bool (const vector<Id>&)> func = [oid, fname](const vector<Id>& ids) {
406+ std::function<bool (const vector<Id>&)> func = [oid, fname](
407+ const vector<Id>& ids) {
400408 return SetGet1<vector<Id>>::set (oid, fname, ids);
401409 };
402410 return func;
403411 }
404412 if (rttType == " vector<ObjId>" ) {
405- std::function<bool (const vector<ObjId>&)> func = [oid, fname](const vector<ObjId>& ids) {
413+ std::function<bool (const vector<ObjId>&)> func = [oid, fname](
414+ const vector<ObjId>& ids) {
406415 return SetGet1<vector<ObjId>>::set (oid, fname, ids);
407416 };
408417 return func;
409418 }
410419
411- throw runtime_error (" NotImplemented " + fname + " for rttType " + rttType
412- + " for oid " + oid.path ());
413-
420+ throw runtime_error (" NotImplemented " + fname + " for rttType " + rttType +
421+ " for oid " + oid.path ());
414422}
415423
416424py::object getFieldGeneric (const ObjId& oid, const string& fname)
0 commit comments