#ifndef GRIND_DOT_PROCESS_H
|
#define GRIND_DOT_PROCESS_H
|
|
#include "IncludeVision.h"
|
|
class CGrindDotProcess
|
{
|
public:
|
CGrindDotProcess();
|
CGrindDotProcess(DimensionDir eDir, int id);
|
~CGrindDotProcess();
|
|
public:
|
//1. ÉèÖòâÁ¿
|
void setLeftLine(int nLeftDist, int leftThres);
|
|
//2. Ö´ÐÐ
|
int Execute(DimensionDir eDir, Point2I offset);
|
|
//3. »ñÈ¡ID
|
int getID(void);
|
|
//6. ±£´æÊý¾Ý
|
Json::Value WriteToJson(void);
|
void DecodeJson(Json::Value &jsValue);
|
|
public:
|
int m_nUse;
|
CString m_strName;
|
|
int m_poseType; //λÖÃÐÅÏ¢
|
int m_nPosY; //Y·½ÏòµÄ¾àÀë
|
|
int m_nLeftThres; //×ó±ß½çÁÁ¶ÈãÐÖµ
|
int m_nLeftLineDist; //×ó±ß½çµÄ¾àÀë
|
int m_nEdgeThres; //ÑÐÄ¥±ßãÐÖµ
|
// int m_nLineWidth; //·ÖÎö¾àÀë
|
|
int m_nInc; //INC²¹³¥Öµ
|
int m_nMin; //Åж¨ãÐÖµ
|
int m_nMax; //Åж¨ãÐÖµ
|
|
Point2D m_ptMeasureResult;
|
Point2D m_ptNearResult;
|
Point2I m_locPointResult;
|
|
Point2I m_ptLeftResult; //×ó±ß½çµÄµã
|
double m_distResult;
|
int m_leftLineResult;
|
|
std::vector<NgDotInfo> m_nNgInfo;
|
|
|
private:
|
DimensionDir m_eDir;
|
int m_id;
|
|
double m_xMmvsp;
|
double m_yMmvsp;
|
|
private:
|
//1. »ñÈ¡·Ö±æÂÊ
|
void getMmvsp(DimensionDir eDir);
|
|
//2. ÅжϽá¹û
|
void judgeResult(void);
|
|
//3. ²éÕұ߽ç
|
bool FindLeftLine(DimensionDir eDir, Point2I offset);
|
};
|
|
#endif
|