#ifndef _PCB_PANEL_RESULT_QUERIER_H_ #define _PCB_PANEL_RESULT_QUERIER_H_ #pragma once #include #include #include "../../1_PCBModules/PCBType/PCBDefectType.h" #include "../../1_PCBModules/PCBType/PCBDefectSpecificType.h" class PCBPanelResultQuerierImpl; template class __declspec(dllexport) std::shared_ptr; // 消除警告C2451 class __declspec(dllexport) PCBPanelResultQuerier { public: PCBPanelResultQuerier(const std::vector& results); // 获取缺陷数量 size_t getDefectCount(); // 根据ID获取缺陷 id从1开始计数 const PCBDefectBase* getDefectBasicInfoById(int id); // 获取所有缺陷 std::vector getAllDefectBasicInfos(); // 获取缺陷类型名称枚举 static DefectTypeName getDefectTypeName(const PCBDefectBase* defect); private: std::shared_ptr querierImpl = nullptr; }; #endif