24 #include <pybind11/pybind11.h>
25 #include <pybind11/stl.h>
32 using namespace pybind11::literals;
38 py::module::import(
"astshim.object");
40 py::class_<KeyMap, std::shared_ptr<KeyMap>, Object> cls(mod,
"KeyMap");
42 cls.def(py::init<std::string const &>(),
"options"_a =
"");
44 cls.def(
"copy", &KeyMap::copy);
47 cls.def(
"hasKey", &KeyMap::hasKey,
"key"_a);
49 cls.def(
"__len__", &KeyMap::size);
51 cls.def(
"getD", py::overload_cast<std::string const &, int>(&KeyMap::getD, py::const_),
"key"_a,
"ind"_a);
52 cls.def(
"getD", py::overload_cast<std::string const &>(&KeyMap::getD, py::const_),
"key"_a);
53 cls.def(
"getF", py::overload_cast<std::string const &, int>(&KeyMap::getF, py::const_),
"key"_a,
"ind"_a);
54 cls.def(
"getF", py::overload_cast<std::string const &>(&KeyMap::getF, py::const_),
"key"_a);
55 cls.def(
"getI", py::overload_cast<std::string const &, int>(&KeyMap::getI, py::const_),
"key"_a,
"ind"_a);
56 cls.def(
"getI", py::overload_cast<std::string const &>(&KeyMap::getI, py::const_),
"key"_a);
57 cls.def(
"getS", py::overload_cast<std::string const &, int>(&KeyMap::getS, py::const_),
"key"_a,
"ind"_a);
58 cls.def(
"getS", py::overload_cast<std::string const &>(&KeyMap::getS, py::const_),
"key"_a);
59 cls.def(
"getB", py::overload_cast<std::string const &, int>(&KeyMap::getB, py::const_),
"key"_a,
"ind"_a);
60 cls.def(
"getB", py::overload_cast<std::string const &>(&KeyMap::getB, py::const_),
"key"_a);
61 cls.def(
"getC", py::overload_cast<std::string const &, int>(&KeyMap::getC, py::const_),
"key"_a,
"ind"_a);
62 cls.def(
"getC", py::overload_cast<std::string const &>(&KeyMap::getC, py::const_),
"key"_a);
63 cls.def(
"getA", py::overload_cast<std::string const &, int>(&KeyMap::getA, py::const_),
"key"_a,
"ind"_a);
64 cls.def(
"getA", py::overload_cast<std::string const &>(&KeyMap::getA, py::const_),
"key"_a);
66 cls.def(
"putD", py::overload_cast<std::string const &, double, std::string const &>(&KeyMap::putD),
67 "key"_a,
"value"_a,
"comment"_a =
"");
71 "key"_a,
"vec"_a,
"comment"_a =
"");
72 cls.def(
"putF", py::overload_cast<std::string const &, float, std::string const &>(&KeyMap::putF),
73 "key"_a,
"value"_a,
"comment"_a =
"");
77 "key"_a,
"vec"_a,
"comment"_a =
"");
78 cls.def(
"putI", py::overload_cast<std::string const &, int, std::string const &>(&KeyMap::putI),
"key"_a,
79 "value"_a,
"comment"_a =
"");
83 "key"_a,
"vec"_a,
"comment"_a =
"");
84 cls.def(
"putS", py::overload_cast<std::string const &, short int, std::string const &>(&KeyMap::putS),
85 "key"_a,
"value"_a,
"comment"_a =
"");
89 "key"_a,
"vec"_a,
"comment"_a =
"");
90 cls.def(
"putB", py::overload_cast<std::string const &, char unsigned, std::string const &>(&KeyMap::putB),
91 "key"_a,
"value"_a,
"comment"_a =
"");
95 "key"_a,
"vec"_a,
"comment"_a =
"");
97 py::overload_cast<std::string const &, std::string const &, std::string const &>(&KeyMap::putC),
98 "key"_a,
"value"_a,
"comment"_a =
"");
102 "key"_a,
"vec"_a,
"comment"_a =
"");
104 py::overload_cast<std::string const &, Object const &, std::string const &>(&KeyMap::putA),
105 "key"_a,
"value"_a,
"comment"_a =
"");
109 "key"_a,
"vec"_a,
"comment"_a =
"");
111 cls.def(
"putU", py::overload_cast<std::string const &, std::string const &>(&KeyMap::putU),
"key"_a,
117 cls.def(
"append", py::overload_cast<std::string const &, int>(&
KeyMap::append),
"key"_a,
"value"_a);
118 cls.def(
"append", py::overload_cast<std::string const &, double>(&
KeyMap::append),
"key"_a,
"value"_a);
119 cls.def(
"append", py::overload_cast<std::string const &, std::string const &>(&
KeyMap::append),
"key"_a,
121 cls.def(
"append", py::overload_cast<std::string const &, Object const &>(&
KeyMap::append),
"key"_a,
127 cls.def(
"replace", py::overload_cast<std::string const &, int, int>(&KeyMap::replace),
"key"_a,
"ind"_a,
129 cls.def(
"replace", py::overload_cast<std::string const &, int, double>(&KeyMap::replace),
"key"_a,
131 cls.def(
"replace", py::overload_cast<std::string const &, int, std::string const &>(&KeyMap::replace),
132 "key"_a,
"ind"_a,
"value"_a);
133 cls.def(
"replace", py::overload_cast<std::string const &, int, Object const &>(&KeyMap::replace),
"key"_a,
136 cls.def(
"remove", &KeyMap::remove,
"key"_a);
137 cls.def(
"rename", &KeyMap::rename,
"oldKey"_a,
"newKey"_a);
AST wrapper classes and functions.
std::shared_ptr< FrameSet > append(FrameSet const &first, FrameSet const &second)
Construct a FrameSet that performs two transformations in series.
PYBIND11_MODULE(_cameraGeom, mod)