11#include " DatatypeBindings.hpp"
22
33#include " pipeline/CommonBindings.hpp"
4+ #include " depthai-shared/datatype/DatatypeEnum.hpp"
45
56void bind_adatatype (pybind11::module & m, void * pCallstack);
67void bind_apriltagconfig (pybind11::module & m, void * pCallstack);
@@ -23,6 +24,9 @@ void bind_trackedfeatures(pybind11::module& m, void* pCallstack);
2324void bind_tracklets (pybind11::module & m, void * pCallstack);
2425
2526void DatatypeBindings::addToCallstack (std::deque<StackFunction>& callstack) {
27+ // Bind common datatypebindings
28+ callstack.push_front (DatatypeBindings::bind);
29+
2630 // Bind all datatypes (order matters)
2731 callstack.push_front (bind_adatatype);
2832 callstack.push_front (bind_buffer);
@@ -44,3 +48,46 @@ void DatatypeBindings::addToCallstack(std::deque<StackFunction>& callstack) {
4448 callstack.push_front (bind_trackedfeatures);
4549 callstack.push_front (bind_tracklets);
4650}
51+
52+ void DatatypeBindings::bind (pybind11::module & m, void * pCallstack){
53+ using namespace dai ;
54+
55+ py::enum_<DatatypeEnum> datatypeEnum (m, " DatatypeEnum" , DOC (dai, DatatypeEnum));
56+
57+ // /////////////////////////////////////////////////////////////////////
58+ // /////////////////////////////////////////////////////////////////////
59+ // /////////////////////////////////////////////////////////////////////
60+ // Call the rest of the type defines, then perform the actual bindings
61+ Callstack* callstack = (Callstack*) pCallstack;
62+ auto cb = callstack->top ();
63+ callstack->pop ();
64+ cb (m, pCallstack);
65+ // Actual bindings
66+ // /////////////////////////////////////////////////////////////////////
67+ // /////////////////////////////////////////////////////////////////////
68+ // /////////////////////////////////////////////////////////////////////
69+
70+ m.def (" isDatatypeSubclassOf" , &isDatatypeSubclassOf);
71+
72+ datatypeEnum
73+ .value (" Buffer" , DatatypeEnum::Buffer)
74+ .value (" ImgFrame" , DatatypeEnum::ImgFrame)
75+ .value (" NNData" , DatatypeEnum::NNData)
76+ .value (" ImageManipConfig" , DatatypeEnum::ImageManipConfig)
77+ .value (" CameraControl" , DatatypeEnum::CameraControl)
78+ .value (" ImgDetections" , DatatypeEnum::ImgDetections)
79+ .value (" SpatialImgDetections" , DatatypeEnum::SpatialImgDetections)
80+ .value (" SystemInformation" , DatatypeEnum::SystemInformation)
81+ .value (" SpatialLocationCalculatorConfig" , DatatypeEnum::SpatialLocationCalculatorConfig)
82+ .value (" SpatialLocationCalculatorData" , DatatypeEnum::SpatialLocationCalculatorData)
83+ .value (" EdgeDetectorConfig" , DatatypeEnum::EdgeDetectorConfig)
84+ .value (" AprilTagConfig" , DatatypeEnum::AprilTagConfig)
85+ .value (" AprilTags" , DatatypeEnum::AprilTags)
86+ .value (" Tracklets" , DatatypeEnum::Tracklets)
87+ .value (" IMUData" , DatatypeEnum::IMUData)
88+ .value (" StereoDepthConfig" , DatatypeEnum::StereoDepthConfig)
89+ .value (" FeatureTrackerConfig" , DatatypeEnum::FeatureTrackerConfig)
90+ .value (" TrackedFeatures" , DatatypeEnum::TrackedFeatures)
91+ ;
92+
93+ }
0 commit comments