21 py::class_<VariableGroup>(m,
"VariableGroupBase")
25 "Create a ChimeraTK::ReadAnyGroup for all readable variables in this Module.")
29 py::gil_scoped_release release;
30 self.
readAll(includeReturnChannels);
32 "Read all readable variables in the group.\n\nIf there are push-type variables in the group, this call "
33 "will block until all of the variables have received an update. All push-type variables are read first, "
34 "the poll-type variables are therefore updated with the latest values upon return. includeReturnChannels "
35 "determines whether return channels of *OutputRB accessors are included in the read.",
36 py::arg(
"includeReturnChannels") =
false)
40 py::gil_scoped_release release;
43 "Just call readLatest() on all readable variables in the group.\n\nincludeReturnChannels determines "
44 "whether return channels of *OutputRB accessors are included in the read.",
45 py::arg(
"includeReturnChannels") =
false)
50 py::gil_scoped_release release;
53 "Just call readNonBlocking() on all readable variables in the group.\n\nincludeReturnChannels determines "
54 "whether return channels of *OutputRB accessors are included in the read.",
55 py::arg(
"includeReturnChannels") =
false)
59 py::gil_scoped_release release;
60 self.
writeAll(includeReturnChannels);
62 "Just call write() on all writable variables in the group.\n\nincludeReturnChannels determines whether "
63 "return channels of *InputWB accessors are included in the write.",
64 py::arg(
"includeReturnChannels") =
false)
66 "writeAllDestructively",
68 py::gil_scoped_release release;
71 "Just call writeDestructively() on all writable variables in the group.\n\nincludeReturnChannels "
72 "determines whether return channels of *InputWB accessors are included in the write.",
73 py::arg(
"includeReturnChannels") =
false);
80 py::class_<PyVariableGroup, VariableGroup, PyOwningObject, std::unique_ptr<PyVariableGroup, py::nodelete>> vg(
81 m,
"VariableGroup", py::dynamic_attr(), py::multiple_inheritance());
83 vg.def(py::init([](
VariableGroup& owner,
const std::string& name,
const std::string& description,
84 const std::unordered_set<std::string>& tags) {
85 return dynamic_cast<PyOwningObject&
>(owner).make_child<PyVariableGroup>(&owner, name, description, tags);
87 py::return_value_policy::reference,
89 "", py::arg(
"owner"), py::arg(
"name"), py::arg(
"description"),
90 py::arg(
"tags") = std::unordered_set<std::string>{});