point_matcher.cpp
Go to the documentation of this file.
2 
3 #include "data_points.h"
4 #include "transformation.h"
5 #include "transformations.h"
6 #include "data_points_filter.h"
7 #include "data_points_filters.h"
8 #include "inspector.h"
9 #include "matcher.h"
10 #include "matches.h"
11 #include "outlier_filter.h"
12 #include "outlier_filters.h"
13 #include "error_minimizer.h"
14 #include "transformation_checker.h"
16 #include "icp_chain_base.h"
17 #include "icp.h"
18 #include "icp_sequence.h"
19 
20 namespace python
21 {
22  namespace pointmatcher
23  {
24  void pybindPointMatcher(py::module& p_module)
25  {
26  py::class_<PM> pyPointmatcher(p_module, "PointMatcher");
27 
28  pyPointmatcher
29  .doc() = "Functions and classes that are dependant on scalar type are defined in this templatized class";
30 
31  using ConvergenceError = PM::ConvergenceError;
32  py::register_exception<ConvergenceError>(pyPointmatcher, "ConvergenceError");
33 
34  pybindDataPoints(pyPointmatcher);
35  pybindMatches(pyPointmatcher);
36  pybindTranformation(pyPointmatcher);
37  pybindTranformations(pyPointmatcher);
38  pybindDataPointsFilter(pyPointmatcher);
39  pybindDataPointsFilters(pyPointmatcher);
40  pybindMatcher(pyPointmatcher);
41  pybindOutlierFilter(pyPointmatcher);
42  pybindOutlierFilters(pyPointmatcher);
43  pybindErrorMinimizer(pyPointmatcher);
44  pybindTransformationChecker(pyPointmatcher);
45  pybindTransformationCheckers(pyPointmatcher);
46  pybindInspector(pyPointmatcher);
47  pybindICPChainBase(pyPointmatcher);
48  pybindICP(pyPointmatcher);
49  pybindICPSequence(pyPointmatcher);
50 
51  pyPointmatcher.def_static("swapDataPoints", &PM::swapDataPoints, py::arg("a"), py::arg("b"))
52  .def_readwrite("TransformationRegistrar", &PM::TransformationRegistrar)
53  .def_readwrite("DataPointsFilterRegistrar", &PM::DataPointsFilterRegistrar)
54  .def_readwrite("MatcherRegistrar", &PM::MatcherRegistrar)
55  .def_readwrite("OutlierFilterRegistrar", &PM::OutlierFilterRegistrar)
56  .def_readwrite("ErrorMinimizerRegistrar", &PM::ErrorMinimizerRegistrar)
57  .def_readwrite("TransformationCheckerRegistrar", &PM::TransformationCheckerRegistrar)
58  .def_readwrite("InspectorRegistrar", &PM::InspectorRegistrar)
59  .def_readwrite("LoggerRegistrar", &PM::LoggerRegistrar)
60  .def_static("get", &PM::get, py::return_value_policy::reference);
61  }
62  }
63 }
void pybindTranformation(py::class_< PM > &p_class)
void pybindTranformations(py::class_< PM > &p_class)
void pybindICPSequence(py::class_< PM > &p_class)
Definition: icp_sequence.cpp:9
pms::Registrar< OutlierFilter > OutlierFilterRegistrar
void pybindOutlierFilters(py::class_< PM > &p_class)
void pybindOutlierFilter(py::class_< PM > &p_class)
pms::Registrar< Matcher > MatcherRegistrar
void pybindTransformationCheckers(py::class_< PM > &p_class)
pms::Registrar< Logger > LoggerRegistrar
void pybindMatches(py::class_< PM > &p_class)
Definition: matches.cpp:7
void pybindMatcher(py::class_< PM > &p_class)
Definition: matcher.cpp:7
void pybindTransformationChecker(py::class_< PM > &p_class)
void pybindDataPoints(py::class_< PM > &p_class)
Definition: data_points.cpp:7
pms::Registrar< ErrorMinimizer > ErrorMinimizerRegistrar
void pybindPointMatcher(py::module &p_module)
static const PointMatcher & get()
Return instances.
Definition: Registry.cpp:145
void pybindInspector(py::class_< PM > &p_class)
Definition: inspector.cpp:7
void pybindDataPointsFilter(py::class_< PM > &p_class)
void pybindICPChainBase(py::class_< PM > &p_class)
pms::Registrar< Inspector > InspectorRegistrar
void pybindDataPointsFilters(py::class_< PM > &p_class)
pms::Registrar< Transformation > TransformationRegistrar
pms::Registrar< DataPointsFilter > DataPointsFilterRegistrar
void pybindErrorMinimizer(py::class_< PM > &p_class)
void pybindICP(py::class_< PM > &p_class)
static void swapDataPoints(DataPoints &a, DataPoints &b)
Exchange in place point clouds a and b, with no data copy.
pms::Registrar< TransformationChecker > TransformationCheckerRegistrar


libpointmatcher
Author(s):
autogenerated on Sat May 27 2023 02:38:03