22 #include <pybind11/pybind11.h>
25 using namespace pybind11::literals;
34 py::module::import(
"astshim.frame");
36 py::class_<FrameSet, std::shared_ptr<FrameSet>, Frame>
cls(mod,
"FrameSet");
38 cls.def(py::init<Frame const &, std::string const &>(),
"frame"_a,
"options"_a =
"");
39 cls.def(py::init<Frame const &, Mapping const &, Frame const &, std::string const &>(),
"baseFrame"_a,
40 "mapping"_a,
"currentFrame"_a,
"options"_a =
"");
41 cls.def(py::init<Frame const &>());
44 cls.attr(
"BASE") = py::cast(AST__BASE);
45 cls.attr(
"CURRENT") = py::cast(AST__CURRENT);
46 cls.attr(
"NOFRAME") = py::cast(AST__NOFRAME);
48 cls.def_property(
"base", &FrameSet::getBase, &FrameSet::setBase);
49 cls.def_property(
"current", &FrameSet::getCurrent, &FrameSet::setCurrent);
50 cls.def_property_readonly(
"nFrame", &FrameSet::getNFrame);
52 cls.def(
"copy", &FrameSet::copy);
53 cls.def(
"addAxes", &FrameSet::addAxes);
54 cls.def(
"addFrame", &FrameSet::addFrame,
"iframe"_a,
"map"_a,
"frame"_a);
55 cls.def(
"addVariant", &FrameSet::addVariant,
"map"_a,
"name"_a);
56 cls.def(
"getAllVariants", &FrameSet::getAllVariants);
58 cls.def(
"getMapping", &FrameSet::getMapping,
"from"_a = FrameSet::BASE,
"to"_a = FrameSet::CURRENT);
59 cls.def(
"getVariant", &FrameSet::getVariant);
60 cls.def(
"mirrorVariants", &FrameSet::mirrorVariants,
"iframe"_a);
61 cls.def(
"remapFrame", &FrameSet::remapFrame,
"iframe"_a,
"map"_a);
62 cls.def(
"removeFrame", &FrameSet::removeFrame,
"iframe"_a);
63 cls.def(
"renameVariant", &FrameSet::renameVariant,
"name"_a);