Skip to content

Commit aee928e

Browse files
author
Dilawar Singh
committed
Do the rest tomorrow.
1 parent e118e12 commit aee928e

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

pybind11/pymoose.cpp

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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

109114
py::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

Comments
 (0)