@@ -260,19 +260,8 @@ PYBIND11_MODULE(_moose, m)
260260 // ---------------------------------------------------------------------
261261 // Connect
262262 // ---------------------------------------------------------------------
263- // This would be so much easier with c++17.
264263 .def (" connect" , &shellConnect, " srcfield" _a, " dest" _a
265264 , " destfield" _a, " msgtype" _a=" Single" )
266- // .def("connect",
267- // [](const ObjId &src, const string &srcfield, const ObjId &tgt,
268- // const string &tgtfield, const string &type) {
269- // return shellConnect(src, srcfield, tgt, tgtfield, type);
270- // }, "src"_a, "srcfield"_a, "dest"_a, "destfield"_a, "msgtype"_a = "Single")
271- // .def("connect", [](const ObjId &src, const string &srcfield,
272- // const MooseVec &tgtvec, const string &tgtfield,
273- // const string &type) {
274- // return shellConnect(src, srcfield, tgtvec.obj(), tgtfield, type);
275- // }, "src"_a, "srcfield"_a, "dest"_a, "destfield"_a, "msgtype"_a="Single")
276265 // ---------------------------------------------------------------------
277266 // Extra
278267 // ---------------------------------------------------------------------
@@ -301,10 +290,8 @@ PYBIND11_MODULE(_moose, m)
301290 .def (py::init<const string &, unsigned int , const string &>(), " path" _a,
302291 " n" _a = 1 , " dtype" _a = " Neutral" ) // Default
303292 .def (py::init<const ObjId &>())
304- .def (" connect" , &MooseVec::connectToSingle)
305- .def (" connect" , &MooseVec::connectToVec)
306- .def_property_readonly (" name" , &MooseVec::name)
307- .def_property_readonly (" path" , &MooseVec::path)
293+ .def (" __eq__" , [](const MooseVec &a, const MooseVec &b) { return a.obj () == b.obj (); })
294+ .def (" __ne__" , [](const MooseVec &a, const MooseVec &b) { return a.obj () != b.obj (); })
308295 .def (" __len__" , &MooseVec::len)
309296 .def (" __iter__" ,
310297 [](MooseVec &v) {
@@ -315,8 +302,12 @@ PYBIND11_MODULE(_moose, m)
315302 },
316303 py::keep_alive<0 , 1 >())
317304 .def (" __getitem__" , &MooseVec::getItem)
318- .def (" __setattr__" , &MooseVec::setAttrOneToAll)
319- .def (" __setattr__" , &MooseVec::setAttrOneToOne)
305+ .def (" __setattr__" , &MooseVec::setAttrOneToOne<double >)
306+ .def (" __setattr__" , &MooseVec::setAttrOneToOne<string>)
307+ .def (" __setattr__" , &MooseVec::setAttrOneToOne<bool >)
308+ .def (" __setattr__" , &MooseVec::setAttrOneToAll<double >)
309+ .def (" __setattr__" , &MooseVec::setAttrOneToAll<string>)
310+ .def (" __setattr__" , &MooseVec::setAttrOneToAll<bool >)
320311 .def (" __getattr__" , &MooseVec::getAttribute)
321312 .def (" __repr__" , [](const MooseVec & v)->string {
322313 return " <moose.vec class=" + v.dtype () + " path=" + v.path () +
@@ -328,7 +319,15 @@ PYBIND11_MODULE(_moose, m)
328319 .def_property_readonly (" vec" , [](const MooseVec &vec) { return &vec; },
329320 py::return_value_policy::reference_internal)
330321 .def_property_readonly (" type" ,
331- [](const MooseVec &v) { return " moose.vec" ; });
322+ [](const MooseVec &v) { return " moose.vec" ; })
323+ .def (" connect" , &MooseVec::connectToSingle)
324+ .def (" connect" , &MooseVec::connectToVec)
325+
326+ // Thi properties are not vectorised.
327+ .def_property_readonly (" parent" , &MooseVec::parent)
328+ .def_property_readonly (" name" , &MooseVec::name)
329+ .def_property_readonly (" path" , &MooseVec::path)
330+ ;
332331
333332 // Module functions.
334333 m.def (" getShell" ,
0 commit comments