You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
3.4 KiB
C
89 lines
3.4 KiB
C
|
2 years ago
|
// VisionMultiUnitResult.h: interface for the CVisionMultiUnitResult class.
|
||
|
|
//
|
||
|
|
//////////////////////////////////////////////////////////////////////
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "VisionUnitResult.h"
|
||
|
|
|
||
|
|
#ifdef BUILD_COMMDLL
|
||
|
|
#define COMMDLL_DLLCLASS __declspec(dllexport)
|
||
|
|
#else
|
||
|
|
#define COMMDLL_DLLCLASS __declspec(dllimport)
|
||
|
|
#endif
|
||
|
|
|
||
|
|
class COMMDLL_DLLCLASS CVisionMultiUnitResult
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
CVisionMultiUnitResult(int nNofOfUnits = 1);
|
||
|
|
virtual ~CVisionMultiUnitResult();
|
||
|
|
|
||
|
|
void InitParameters(int nNoOfUnits, const std::vector<int>& pnTotalGx, const std::vector<int>& pnTotalLx, const std::vector<int>& pnDataSetType, int nNoOfResultCat = 1);
|
||
|
|
|
||
|
|
void SetTeachMode(int nUnitNo, bool bState, int nCategory = 0);
|
||
|
|
bool IsTeachMode(int nUnitNo, int nCategory = 0);
|
||
|
|
|
||
|
|
void SetImageTaken(int nUnitNo, bool bState, int nCategory = 0);
|
||
|
|
bool IsImageTaken(int nUnitNo, int nCategory = 0);
|
||
|
|
|
||
|
|
void SetResultReady(int nUnitNo, bool bState, int nCategory = 0);
|
||
|
|
bool IsResultReady(int nUnitNo, int nCategory = 0);
|
||
|
|
|
||
|
|
std::string GetDecodedString(int nUnitNo, int nGx = 0, int nLx = 0, int nCategory = 0);
|
||
|
|
void SetDecodedString(int nUnitNo, std::string csDecodedString, int nGx = 0, int nLx = 0, int nCategory = 0);
|
||
|
|
|
||
|
|
void SetResultCode(int nUnitNo, std::string csResultCode, int nCat = 0);
|
||
|
|
std::string GetResultCode(int nUnitNo, int nCat = 0);
|
||
|
|
|
||
|
|
void GetResultParams(int nUnitNo, std::vector<double>& vecResultParam, int nGx = 0, int nLx = 0, int nCategory = 0);
|
||
|
|
double GetResultParams(int nUnitNo, int nParamNo, int nGx = 0, int nLx = 0, int nCategory = 0);
|
||
|
|
void SetResultParams(int nUnitNo, int nParamNo, double dResult, int nGx = 0, int nLx = 0, int nCategory = 0);
|
||
|
|
|
||
|
|
double GetPviParams(int nUnitNo, int nParamNo, int nGx = 0, int nLx = 0, int nCategory = 0);
|
||
|
|
void SetPviParams(int nUnitNo, int nParamNo, double dResult, int nGx = 0, int nLx = 0, int nCategory = 0);
|
||
|
|
|
||
|
|
CVisionUnitResult* GetUnitResultPtr(int nUnitNo, int nCategory = 0);
|
||
|
|
int GetDataSetTypeIndex(int nDataSetType);
|
||
|
|
|
||
|
|
int GetTotalUnits();
|
||
|
|
int GetNoOfResultCat();
|
||
|
|
void GetSettings(int& nNoOfUnits, int& nNoOfResultCat);
|
||
|
|
void SetUnitResult(int nUnitNo, int nCat, CVisionUnitResult& visionUnitResult);
|
||
|
|
void GetUnitResult(int nUnitNo, int nCat, CVisionUnitResult& visionUnitResult);
|
||
|
|
|
||
|
|
void ResetAll(std::string csResultCode = _T("."), std::string csDecodedString = _T(""));
|
||
|
|
CVisionMultiUnitResult& operator=(const CVisionMultiUnitResult& visionMultiUnitResult);
|
||
|
|
|
||
|
|
void SetOtfSOSAck(bool bState);
|
||
|
|
bool IsOtfSOSAck();
|
||
|
|
bool IsValidUnit(int nUnitNo, int nCategory = 0);
|
||
|
|
bool IsLastUnit(int nUnitNo, int nCategory = 0);
|
||
|
|
|
||
|
|
bool IsUnitResultValid(int nUnitNo);
|
||
|
|
void SetUnitResultValid(int nUnitNo, bool bState);
|
||
|
|
|
||
|
|
// For debug
|
||
|
|
void TraceResult();
|
||
|
|
|
||
|
|
private:
|
||
|
|
// Methods
|
||
|
|
|
||
|
|
void ReleaseBuffer();
|
||
|
|
|
||
|
|
void InitBuffer(std::vector<CVisionUnitResult>& pVisionUnitResult, int nTotalGx = 1, int nTotalLx = 1);
|
||
|
|
bool IsSameDataSetType(const std::vector<int>& pnDataSetType, int nNoOfResultCat);
|
||
|
|
bool IsSameGxLx(const std::vector<int>& pnTotalGx, const std::vector<int>& pnTotalLx, int nNoOfResultCat);
|
||
|
|
|
||
|
|
// Attributes
|
||
|
|
int m_nNoOfUnits;
|
||
|
|
bool m_bOtfSOSAck;
|
||
|
|
|
||
|
|
//
|
||
|
|
std::vector<std::vector<CVisionUnitResult>> m_ppVisionUnitResultCat;
|
||
|
|
int m_nNoOfResultCat;
|
||
|
|
int m_nLastCategory;
|
||
|
|
std::vector<int> m_pnTotalGx;
|
||
|
|
std::vector<int> m_pnTotalLx;
|
||
|
|
std::vector<int> m_pnDataSetType;
|
||
|
|
};
|