#ifndef FACERPCELEMENT_H #define FACERPCELEMENT_H #include #include #include #include #include #include "TrackingTrigger.h" class QSharedMemory; class FaceRpcElement : public basic::PipeElement { public: FaceRpcElement(string); ~FaceRpcElement(); // PipeElement interface void setImage(const cv::Mat &value); ::FaceDetect::Faces getFaces() const; std::vector getTriggerMats(); std::vector getTriggerScoreRects() const; std::vector getLastScoreRects() const; ::FaceDetect::Faces getTriggerFaces() const; bool getTriggerState() const; cv::Mat getImage() const; private: virtual void threadFunc() override; private: IceRpcClient rpcClient; cv::Mat image; QSharedMemory *sharedMemory; ::FaceDetect::Faces faces; TrackingTrigger *trackingTrigger; ::FaceDetect::Faces triggerFaces; std::vector triggerMats; std::vector triggerScoredRects; TriggerElement m_triggerElement; }; #endif // FACERPCELEMENT_H