-
Notifications
You must be signed in to change notification settings - Fork 205
Expand file tree
/
Copy pathDatatypeBindings.cpp
More file actions
110 lines (100 loc) · 5.45 KB
/
DatatypeBindings.cpp
File metadata and controls
110 lines (100 loc) · 5.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include "DatatypeBindings.hpp"
#include "pipeline/CommonBindings.hpp"
#include "depthai-shared/datatype/DatatypeEnum.hpp"
void bind_adatatype(pybind11::module& m, void* pCallstack);
void bind_apriltagconfig(pybind11::module& m, void* pCallstack);
void bind_apriltags(pybind11::module& m, void* pCallstack);
void bind_buffer(pybind11::module& m, void* pCallstack);
void bind_cameracontrol(pybind11::module& m, void* pCallstack);
void bind_edgedetectorconfig(pybind11::module& m, void* pCallstack);
void bind_featuretrackerconfig(pybind11::module& m, void* pCallstack);
void bind_imagemanipconfig(pybind11::module& m, void* pCallstack);
void bind_imgdetections(pybind11::module& m, void* pCallstack);
void bind_imgframe(pybind11::module& m, void* pCallstack);
void bind_encodedframe(pybind11::module& m, void* pCallstack);
void bind_imudata(pybind11::module& m, void* pCallstack);
void bind_message_group(pybind11::module& m, void* pCallstack);
void bind_nndata(pybind11::module& m, void* pCallstack);
void bind_spatialimgdetections(pybind11::module& m, void* pCallstack);
void bind_spatiallocationcalculatorconfig(pybind11::module& m, void* pCallstack);
void bind_spatiallocationcalculatordata(pybind11::module& m, void* pCallstack);
void bind_stereodepthconfig(pybind11::module& m, void* pCallstack);
void bind_systeminformation(pybind11::module& m, void* pCallstack);
void bind_trackedfeatures(pybind11::module& m, void* pCallstack);
void bind_tofconfig(pybind11::module& m, void* pCallstack);
void bind_tracklets(pybind11::module& m, void* pCallstack);
void bind_pointcloudconfig(pybind11::module& m, void* pCallstack);
void bind_pointclouddata(pybind11::module& m, void* pCallstack);
void bind_imagealignconfig(pybind11::module& m, void* pCallstack);
void bind_objecttrackerconfig(pybind11::module& m, void* pCallstack);
void DatatypeBindings::addToCallstack(std::deque<StackFunction>& callstack) {
// Bind common datatypebindings
callstack.push_front(DatatypeBindings::bind);
// Bind all datatypes (order matters)
callstack.push_front(bind_adatatype);
callstack.push_front(bind_buffer);
callstack.push_front(bind_apriltagconfig);
callstack.push_front(bind_apriltags);
callstack.push_front(bind_cameracontrol);
callstack.push_front(bind_edgedetectorconfig);
callstack.push_front(bind_featuretrackerconfig);
callstack.push_front(bind_imagemanipconfig);
callstack.push_front(bind_imgdetections);
callstack.push_front(bind_imgframe);
callstack.push_front(bind_encodedframe);
callstack.push_front(bind_imudata);
callstack.push_front(bind_message_group);
callstack.push_front(bind_nndata);
callstack.push_front(bind_spatialimgdetections);
callstack.push_front(bind_spatiallocationcalculatorconfig);
callstack.push_front(bind_spatiallocationcalculatordata);
callstack.push_front(bind_stereodepthconfig);
callstack.push_front(bind_systeminformation);
callstack.push_front(bind_trackedfeatures);
callstack.push_front(bind_tofconfig);
callstack.push_front(bind_tracklets);
callstack.push_front(bind_pointcloudconfig);
callstack.push_front(bind_pointclouddata);
callstack.push_front(bind_imagealignconfig);
callstack.push_front(bind_objecttrackerconfig);
}
void DatatypeBindings::bind(pybind11::module& m, void* pCallstack){
using namespace dai;
py::enum_<DatatypeEnum> datatypeEnum(m, "DatatypeEnum", DOC(dai, DatatypeEnum));
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
// Call the rest of the type defines, then perform the actual bindings
Callstack* callstack = (Callstack*) pCallstack;
auto cb = callstack->top();
callstack->pop();
cb(m, pCallstack);
// Actual bindings
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
m.def("isDatatypeSubclassOf", &isDatatypeSubclassOf);
datatypeEnum
.value("Buffer", DatatypeEnum::Buffer)
.value("ImgFrame", DatatypeEnum::ImgFrame)
.value("EncodedFrame", DatatypeEnum::EncodedFrame)
.value("NNData", DatatypeEnum::NNData)
.value("ImageManipConfig", DatatypeEnum::ImageManipConfig)
.value("CameraControl", DatatypeEnum::CameraControl)
.value("ImgDetections", DatatypeEnum::ImgDetections)
.value("SpatialImgDetections", DatatypeEnum::SpatialImgDetections)
.value("SystemInformation", DatatypeEnum::SystemInformation)
.value("SpatialLocationCalculatorConfig", DatatypeEnum::SpatialLocationCalculatorConfig)
.value("SpatialLocationCalculatorData", DatatypeEnum::SpatialLocationCalculatorData)
.value("EdgeDetectorConfig", DatatypeEnum::EdgeDetectorConfig)
.value("AprilTagConfig", DatatypeEnum::AprilTagConfig)
.value("AprilTags", DatatypeEnum::AprilTags)
.value("Tracklets", DatatypeEnum::Tracklets)
.value("IMUData", DatatypeEnum::IMUData)
.value("StereoDepthConfig", DatatypeEnum::StereoDepthConfig)
.value("FeatureTrackerConfig", DatatypeEnum::FeatureTrackerConfig)
.value("TrackedFeatures", DatatypeEnum::TrackedFeatures)
.value("PointCloudConfig", DatatypeEnum::PointCloudConfig)
.value("PointCloudData", DatatypeEnum::PointCloudData)
;
}