PreVerify/lib/PCBInspector/include/2_PCBOfflineDataLoader/OfflineData/PCBOfflineDataRef.h

48 lines
1023 B
C
Raw Normal View History

2024-09-09 19:18:28 +08:00
#pragma once
#include <string>
// 离线数据集信息
struct OfflineDataInfo
{
int cameraIndex; // 工位号
std::string job; // 料号
std::string layer; // 层号
std::string datasetRoot; // 数据集根目录
};
// 离线数据集引用
class __declspec(dllexport) PCBOfflineDataRef
{
public:
enum class Type
{
None,
Classify,
Inspect,
TemporarilyInspect,
LearnStageOne,
LearnStageTwo,
LearnStageThree,
Debug
};
OfflineDataInfo info; // 信息
Type type = Type::None; // 标记使用方式
const void* ptr = nullptr; // 数据集指针
// 构造 拷贝构造
PCBOfflineDataRef(const OfflineDataInfo& info, Type type, void* dataPtr);
PCBOfflineDataRef(const PCBOfflineDataRef& other);
// 赋值运算
PCBOfflineDataRef& operator=(const PCBOfflineDataRef& other);
// 析构
~PCBOfflineDataRef();
// 有效判别
bool valid() const { return ptr != nullptr; }
};