#ifndef YOLORPCELEMENT_H #define YOLORPCELEMENT_H #include #include #include #include #include #include //#include "../StructureApp/YoloRpcElement.h" #include "../StructureApp/TrackingTrigger.h" class QSharedMemory; class YoloRpcElement : public basic::PipeElement { public: YoloRpcElement(string); ~YoloRpcElement(); void setImage(const cv::Mat &value); ::YoloDetect::ObjInfos getObjects() const; std::vector getTriggerMats(); std::vector getLastScoreRects() const; void setFdfs(FastFdsWithLock *p_fdfsClient) { fdfsClient = p_fdfsClient; } bool getTriggerState() const; bool getTrigger() const; private: virtual void threadFunc() override; private: IceRpcClient rpcClient; cv::Mat image; QSharedMemory *sharedMemory; ::YoloDetect::ObjInfos objs; TrackingTrigger *trackingTrigger; std::vector triggerMats; ::YoloDetect::stringData cocoData; FastFdsWithLock *fdfsClient; TriggerElement m_triggerElement; }; #endif // YOLORPCELEMENT_H