@@ -72,38 +72,43 @@ py::array_t<T> getFieldNumpy(const ObjId& id, const string& fname)
7272 return py::array_t <T>(v.size (), v.data ());
7373}
7474
75- py::object getPropertyValueFinfo (const ObjId& oid, const string& fname, const string& rttType)
75+ py::object getValueFinfo (const ObjId& oid, const string& fname, const string& rttType)
7676{
77+ py::object r = py::none ();
7778 if (rttType == " double" )
78- return pybind11::float_ (getProp<double >(oid, fname));
79+ r = pybind11::float_ (getProp<double >(oid, fname));
7980 else if (rttType == " float" )
80- return pybind11::float_ (getProp<double >(oid, fname));
81+ r = pybind11::float_ (getProp<double >(oid, fname));
8182 else if (rttType == " vector<double>" )
82- return py::cast (getProp<vector<double >>(oid, fname));
83+ r = py::cast (getProp<vector<double >>(oid, fname));
8384 else if (rttType == " string" )
84- return pybind11::str (getProp<string>(oid, fname));
85+ r = pybind11::str (getProp<string>(oid, fname));
8586 else if (rttType == " char" )
86- return pybind11::str (getProp<string>(oid, fname));
87+ r = pybind11::str (getProp<string>(oid, fname));
8788 else if (rttType == " int" )
88- return pybind11::int_ (getProp<int >(oid, fname));
89+ r = pybind11::int_ (getProp<int >(oid, fname));
8990 else if (rttType == " unsigned long" )
90- return pybind11::int_ (getProp<unsigned long >(oid, fname));
91+ r = pybind11::int_ (getProp<unsigned long >(oid, fname));
9192 else if (rttType == " unsigned int" )
92- return pybind11::int_ (getProp<unsigned int >(oid, fname));
93+ r = pybind11::int_ (getProp<unsigned int >(oid, fname));
9394 else if (rttType == " bool" )
94- return pybind11::bool_ (getProp<bool >(oid, fname));
95+ r = pybind11::bool_ (getProp<bool >(oid, fname));
9596 else if (rttType == " Id" )
96- return py::cast (getProp<Id>(oid, fname));
97+ r = py::cast (getProp<Id>(oid, fname));
9798 else if (rttType == " ObjId" )
98- return py::cast (getProp<ObjId>(oid, fname));
99+ r = py::cast (getProp<ObjId>(oid, fname));
99100 else if (rttType == " Variable" )
100- return py::cast (getProp<Variable>(oid, fname));
101+ r = py::cast (getProp<Variable>(oid, fname));
101102 else if (rttType == " vector<Id>" )
102- return py::cast (getProp<vector<Id>>(oid, fname));
103+ r = py::cast (getProp<vector<Id>>(oid, fname));
103104 else if (rttType == " vector<ObjId>" )
104- return py::cast (getProp<vector<ObjId>>(oid, fname));
105- py::print (" Warning: pymoose::getProperty::Warning: Unsupported type " + rttType);
106- return py::none ();
105+ r = py::cast (getProp<vector<ObjId>>(oid, fname));
106+ else
107+ {
108+ py::print (" Warning: pymoose::getProperty::Warning: Unsupported type " + rttType);
109+ r = py::none ();
110+ }
111+ return r;
107112}
108113
109114py::object getElementFinfo (const ObjId& objid, const string& fname, const size_t i)
@@ -133,7 +138,7 @@ py::object getProperty(const ObjId& oid, const string& fname)
133138 string finfoType = cinfo->getFinfoType (finfo);
134139
135140 if (finfoType == " ValueFinfo" )
136- return getPropertyValueFinfo (oid, fname, rttType);
141+ return getValueFinfo (oid, fname, rttType);
137142 else if (finfoType == " FieldElementFinfo" ) {
138143 std::function<py::object (size_t )> f = [oid, fname](const size_t & i) {
139144 return getElementFinfo (oid, fname, i);
@@ -188,6 +193,7 @@ PYBIND11_MODULE(_cmoose, m)
188193 .def (py::init<Id, unsigned int >())
189194 .def (py::init<Id, unsigned int , unsigned int >())
190195 .def (py::init<const string&>())
196+
191197 // ---------------------------------------------------------------------
192198 // Readonly properties.
193199 // ---------------------------------------------------------------------
0 commit comments