ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
CCConst.cpp
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #include <pybind11/pybind11.h>
9 
10 #include <CVConst.h>
11 
12 namespace py = pybind11;
13 using namespace pybind11::literals;
14 
15 void define_CCConst(py::module &cccorelib)
16 {
17  /* Constants */
18  cccorelib.attr("SQRT_3") = SQRT_3;
19  // Python's float are doubles
20  cccorelib.attr("ZERO_TOLERANCE_F") = ZERO_TOLERANCE_F;
21  cccorelib.attr("ZERO_TOLERANCE_D") = ZERO_TOLERANCE_D;
22  cccorelib.attr("ZERO_TOLERANCE_SCALAR") = ZERO_TOLERANCE_SCALAR;
23  cccorelib.attr("ZERO_TOLERANCE_POINT_COORDINATE") = ZERO_TOLERANCE_POINT_COORDINATE;
24  cccorelib.attr("PC_ONE") = PC_ONE;
25  cccorelib.attr("PC_NAN") = PC_NAN;
26  cccorelib.attr("NAN_VALUE") = NAN_VALUE;
27 
28  // visibility
29  cccorelib.attr("POINT_VISIBLE") = POINT_VISIBLE;
30  cccorelib.attr("POINT_HIDDEN") = POINT_HIDDEN;
31  cccorelib.attr("POINT_OUT_OF_RANGE") = POINT_OUT_OF_RANGE;
32  cccorelib.attr("POINT_OUT_OF_FOV") = POINT_OUT_OF_FOV;
33 
34  py::enum_<CHAMFER_DISTANCE_TYPE>(cccorelib, "CHAMFER_DISTANCE_TYPE")
35  .value("CHAMFER_111", CHAMFER_DISTANCE_TYPE::CHAMFER_111)
36  .value("CHAMFER_345", CHAMFER_DISTANCE_TYPE::CHAMFER_345);
37 
38  py::enum_<CV_LOCAL_MODEL_TYPES>(cccorelib, "CV_LOCAL_MODEL_MIN_SIZE")
39  .value("NO_MODEL", CV_LOCAL_MODEL_TYPES::NO_MODEL)
40  .value("LS", CV_LOCAL_MODEL_TYPES::LS)
41  .value("TRI", CV_LOCAL_MODEL_TYPES::TRI)
42  .value("QUADRIC", CV_LOCAL_MODEL_TYPES::QUADRIC);
43 
44  cccorelib.attr("CV_LOCAL_MODEL_MIN_SIZE") = CV_LOCAL_MODEL_MIN_SIZE;
45 }
void define_CCConst(py::module &cccorelib)
Definition: CCConst.cpp:15
constexpr unsigned char POINT_VISIBLE
Definition: CVConst.h:92
constexpr ScalarType ZERO_TOLERANCE_SCALAR
Definition: CVConst.h:57
constexpr float ZERO_TOLERANCE_F
Definition: CVConst.h:43
constexpr PointCoordinateType PC_ONE
'1' as a PointCoordinateType value
Definition: CVConst.h:67
constexpr unsigned CV_LOCAL_MODEL_MIN_SIZE[]
Min number of points to compute local models (see CV_LOCAL_MODEL_TYPES)
Definition: CVConst.h:129
@ LS
Definition: CVConst.h:123
@ NO_MODEL
Definition: CVConst.h:122
@ TRI
Definition: CVConst.h:124
@ QUADRIC
Definition: CVConst.h:125
constexpr unsigned char POINT_HIDDEN
Definition: CVConst.h:94
constexpr double SQRT_3
Square root of 3.
Definition: CVConst.h:29
constexpr unsigned char POINT_OUT_OF_FOV
Definition: CVConst.h:98
constexpr ScalarType NAN_VALUE
NaN as a ScalarType value.
Definition: CVConst.h:76
constexpr ScalarType ZERO_TOLERANCE_POINT_COORDINATE
Definition: CVConst.h:62
constexpr unsigned char POINT_OUT_OF_RANGE
Definition: CVConst.h:96
constexpr double ZERO_TOLERANCE_D
Definition: CVConst.h:49
constexpr PointCoordinateType PC_NAN
'NaN' as a PointCoordinateType value
Definition: CVConst.h:71
@ CHAMFER_111
Definition: CVConst.h:115
@ CHAMFER_345
Definition: CVConst.h:116