23 #include "pybind11/pybind11.h" 29 namespace py = pybind11;
36 void declareMapping(py::module &mod) {
37 py::class_<Mapping, std::shared_ptr<Mapping>> cls(mod,
"Mapping");
39 cls.def(
"getNpar", &Mapping::getNpar);
42 void declareTwoTransfoMapping(py::module &mod) {
43 py::class_<TwoTransfoMapping, std::shared_ptr<TwoTransfoMapping>, Mapping> cls(mod,
"TwoTransfoMapping");
45 cls.def(
"getTransfo1", &TwoTransfoMapping::getTransfo1, py::return_value_policy::reference_internal);
46 cls.def_property_readonly(
"transfo1", &TwoTransfoMapping::getTransfo1,
47 py::return_value_policy::reference_internal);
49 cls.def(
"getTransfo2", &TwoTransfoMapping::getTransfo2, py::return_value_policy::reference_internal);
50 cls.def_property_readonly(
"transfo2", &TwoTransfoMapping::getTransfo2,
51 py::return_value_policy::reference_internal);
54 void declareSimpleGtransfoMapping(py::module &mod) {
55 py::class_<SimpleGtransfoMapping, std::shared_ptr<SimpleGtransfoMapping>, Mapping> cls(
56 mod,
"SimpleGtransfoMapping");
59 void declareSimplePolyMapping(py::module &mod) {
60 py::class_<SimplePolyMapping, std::shared_ptr<SimplePolyMapping>, SimpleGtransfoMapping> cls(
61 mod,
"SimplePolyMapping");
65 py::module::import(
"lsst.jointcal.star");
66 py::module::import(
"lsst.jointcal.gtransfo");
67 py::module mod(
"mappings");
70 declareTwoTransfoMapping(mod);
71 declareSimpleGtransfoMapping(mod);
72 declareSimplePolyMapping(mod);
Class for a simple mapping implementing a generic Gtransfo.