22#include <pybind11/pybind11.h>
23#include <pybind11/stl.h>
32using namespace pybind11::literals;
37 wrappers.wrapType(py::class_<DirectionPoint>(wrappers.module,
"DirectionPoint"), [](
auto &mod,
auto &cls) {
38 cls.def(py::init<double, PointD>(),
"direction"_a,
"point"_a);
39 cls.def_readwrite(
"direction", &DirectionPoint::direction);
40 cls.def_readwrite(
"point", &DirectionPoint::point);
45 wrappers.wrapType(py::class_<NReadValue>(wrappers.module,
"NReadValue"), [](
auto &mod,
auto &cls) {
46 cls.def(py::init<int, double>(),
"nread"_a,
"value"_a);
47 cls.def_readwrite(
"nread", &NReadValue::nread);
48 cls.def_readwrite(
"value", &NReadValue::value);
53 wrappers.wrapType(py::class_<ResolvedPoint> (wrappers.module,
"ResolvedPoint"), [](
auto &mod,
auto &cls) {
54 cls.def(py::init<int>(),
"naxes"_a);
55 cls.def_readwrite(
"point", &ResolvedPoint::point);
56 cls.def_readwrite(
"d1", &ResolvedPoint::d1);
57 cls.def_readwrite(
"d2", &ResolvedPoint::d2);
62 wrappers.wrapType(py::class_<FrameMapping>(wrappers.module,
"FrameMapping"), [](
auto &mod,
auto &cls) {
63 cls.def(py::init<std::shared_ptr<Frame>, std::shared_ptr<Mapping>>(),
"frame"_a,
"mapping"_a);
64 cls.def_readwrite(
"frame", &FrameMapping::frame);
65 cls.def_readwrite(
"mapping", &FrameMapping::mapping);
69void wrapFrame(lsst::utils::python::WrapperCollection &wrappers) {
75 using PyFrame = py::class_<Frame, std::shared_ptr<Frame>,
Mapping>;
76 wrappers.wrapType(PyFrame(wrappers.module,
"Frame"), [](
auto &mod,
auto &cls) {
77 cls.def(py::init<int, std::string const &>(),
"naxes"_a,
"options"_a =
"");
78 cls.def(py::init<Frame const &>());
80 cls.def_property(
"activeUnit", &Frame::getActiveUnit, &Frame::setActiveUnit);
81 cls.def_property(
"alignSystem", &Frame::getAlignSystem, &Frame::setAlignSystem);
82 cls.def_property(
"domain", &Frame::getDomain, &Frame::setDomain);
83 cls.def_property(
"dut1", &Frame::getDut1, &Frame::setDut1);
84 cls.def_property(
"epoch", &Frame::getEpoch, py::overload_cast<double>(&Frame::setEpoch));
85 cls.def_property(
"matchEnd", &Frame::getMatchEnd, &Frame::setMatchEnd);
86 cls.def_property(
"maxAxes", &Frame::getMaxAxes, &Frame::setMaxAxes);
87 cls.def_property(
"minAxes", &Frame::getMinAxes, &Frame::setMinAxes);
88 cls.def_property_readonly(
"nAxes", &Frame::getNAxes);
89 cls.def_property(
"obsAlt", &Frame::getObsAlt, &Frame::setObsAlt);
90 cls.def_property(
"obsLat", &Frame::getObsLat, &Frame::setObsLat);
91 cls.def_property(
"obsLon", &Frame::getObsLon, &Frame::setObsLon);
92 cls.def_property(
"permute", &Frame::getPermute, &Frame::setPermute);
93 cls.def_property(
"preserveAxes", &Frame::getPreserveAxes, &Frame::setPreserveAxes);
94 cls.def_property(
"system", &Frame::getSystem, &Frame::setSystem);
95 cls.def_property(
"title", &Frame::getTitle, &Frame::setTitle);
97 cls.def(
"copy", &Frame::copy);
98 cls.def(
"angle", &Frame::angle,
"a"_a,
"b"_a,
"c"_a);
99 cls.def(
"axAngle", &Frame::axAngle,
"a"_a,
"b"_a,
"axis"_a);
100 cls.def(
"axDistance", &Frame::axDistance,
"axis"_a,
"v1"_a,
"v2"_a);
101 cls.def(
"axOffset", &Frame::axOffset,
"axis"_a,
"v1"_a,
"dist"_a);
102 cls.def(
"convert", &Frame::convert,
"to"_a,
"domainlist"_a =
"");
103 cls.def(
"distance", &Frame::distance,
"point1"_a,
"point2"_a);
104 cls.def(
"findFrame", &Frame::findFrame,
"template"_a,
"domainlist"_a =
"");
105 cls.def(
"format", &Frame::format,
"axis"_a,
"value"_a);
106 cls.def(
"getBottom", &Frame::getBottom,
"axis"_a);
107 cls.def(
"getDigits", py::overload_cast<>(&Frame::getDigits, py::const_));
108 cls.def(
"getDigits", py::overload_cast<int>(&Frame::getDigits, py::const_),
"axis"_a);
109 cls.def(
"getDirection", &Frame::getDirection,
"axis"_a);
110 cls.def(
"getFormat", &Frame::getFormat,
"axis"_a);
111 cls.def(
"getInternalUnit", &Frame::getInternalUnit);
112 cls.def(
"getLabel", &Frame::getLabel);
113 cls.def(
"getSymbol", &Frame::getSymbol,
"axis"_a);
114 cls.def(
"getNormUnit", &Frame::getNormUnit,
"axis"_a);
115 cls.def(
"getSymbol", &Frame::getSymbol,
"axis"_a);
116 cls.def(
"getTop", &Frame::getTop,
"axis"_a);
117 cls.def(
"getUnit", &Frame::getUnit,
"axis"_a);
118 cls.def(
"intersect", &Frame::intersect,
"a1"_a,
"a2"_a,
"b1"_a,
"b2"_a);
119 cls.def(
"matchAxes", &Frame::matchAxes,
"other"_a);
120 cls.def(
"under", &Frame::under,
"next"_a);
121 cls.def(
"norm", &Frame::norm,
"value"_a);
122 cls.def(
"offset", &Frame::offset,
"point1"_a,
"point2"_a,
"offset"_a);
123 cls.def(
"offset2", &Frame::offset2,
"point1"_a,
"angle"_a,
"offset"_a);
124 cls.def(
"permAxes", &Frame::permAxes,
"perm"_a);
125 cls.def(
"pickAxes", &Frame::pickAxes,
"axes"_a);
126 cls.def(
"resolve", &Frame::resolve,
"point1"_a,
"point2"_a,
"point3"_a);
127 cls.def(
"setDigits", py::overload_cast<int>(&Frame::setDigits),
"digits"_a);
128 cls.def(
"setDigits", py::overload_cast<int, int>(&Frame::setDigits),
"axis"_a,
"digits"_a);
129 cls.def(
"setDirection", &Frame::setDirection,
"direction"_a,
"axis"_a);
132 cls.def(
"setEpoch", py::overload_cast<std::string const &>(&Frame::setEpoch),
"epoch"_a);
133 cls.def(
"setFormat", &Frame::setFormat,
"axis"_a,
"format"_a
"format");
134 cls.def(
"setLabel", &Frame::setLabel,
"axis"_a,
"label"_a);
135 cls.def(
"setSymbol", &Frame::setSymbol,
"axis"_a,
"symbol"_a);
136 cls.def(
"setTop", &Frame::setTop,
"axis"_a,
"top"_a);
137 cls.def(
"setUnit", &Frame::setUnit,
"axis"_a,
"unit"_a);
138 cls.def(
"unformat", &Frame::unformat,
"axis"_a,
"str"_a);
An abstract base class for objects which transform one set of coordinates to another.
AST wrapper classes and functions.
void wrapFrameMapping(lsst::utils::python::WrapperCollection &wrappers)
void wrapResolvedPoint(lsst::utils::python::WrapperCollection &wrappers)
void wrapNReadValue(lsst::utils::python::WrapperCollection &wrappers)
void wrapFrame(WrapperCollection &)
void wrapDirectionPoint(lsst::utils::python::WrapperCollection &wrappers)