#ifndef ROI_H #define ROI_H #include "lpbengine.h" class CDetectorROI : public IDetectorROI { public: CDetectorROI(); virtual ~CDetectorROI(); virtual IDetectorRecord* AddRecord(const PLP_DETECTOR_ROI_RECORD pRecord, bool bRet = true); virtual bool DeleteRecord(int nRecordID); virtual IDetectorRecord* GetRecord(int nRecordID); virtual int EnumRecord(IDetectorRecord** lppRecord, int nCount); virtual bool SetROIInfo(const PLP_DETECTOR_ROI pROI); virtual PLP_DETECTOR_ROI GetROIInfo(); void SetID(int nID); virtual int GetID() const; virtual void Release(); bool Initialize(IDetectorTask* pTask); bool SerializeToJson(QJsonDocument* pJsonDocument, QJsonArray* pROIArray); bool SerializeFromJson(QJsonObject* pJsonObject); virtual void CleanUp(); bool Copy(IDetectorROI* pSrcROI); private: int m_nID; int m_nBaseID; LP_DETECTOR_ROI m_tROI; QVector m_vecRecord; IDetectorTask* m_pTask; }; #endif // ROI_H