#pragma once #include "engines/engine.h" #include namespace engines { struct DetectionConfig { std::string model = "MULTI_CLASS_BOX_MEDIUM"; float confidence_threshold = 40.0f; bool tracking = false; static DetectionConfig from_env(); }; class ZedNative : public Engine { public: explicit ZedNative(const DetectionConfig& config); void enable(sl::Camera& camera) override; void detect(sl::Camera& camera) override; const std::vector& objects() const override; std::string label_names() const override; private: DetectionConfig config_; sl::ObjectDetectionParameters det_params_; sl::ObjectDetectionRuntimeParameters det_rt_params_; sl::Objects raw_objects_; std::vector detected_; }; } // namespace engines