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