#ifndef CORNER_DIST_PROCESS_H
|
#define CORNER_DIST_PROCESS_H
|
|
#include "DistDotProcess.h"
|
|
class CVisionRecipe;
|
|
class CCornerDistProcess
|
{
|
public:
|
CCornerDistProcess();
|
~CCornerDistProcess();
|
|
public:
|
DimensionDir m_eDir;
|
|
public:
|
//1. get set dot
|
CDistDotProcess* getDot(int index);
|
std::vector<CDistDotProcess*>& getDots(void);
|
int addDot(void);
|
int delDot(int id);
|
|
//2. get/set UpMark
|
Point2I getPoint(int nType);
|
void setPoint(Point2I pos, int nType);
|
|
//3. Ö´ÐÐ
|
int execute(DimensionDir eDir);
|
|
//4. ÐòÁл¯²ÎÊýºÍ·´ÐòÁкŲÎÊý
|
int Serialized(void* pBuffer, int size);
|
int Deserialized(void* pBuffer, int size);
|
|
//5. »ñÈ¡Æ«ÒÆÖµ
|
Point2I getOffset(int nType, Point2I pt);
|
|
//6. »ñÈ¡²âÁ¿Êý¾Ý
|
MeasureInfo getMeasureInfo(int index);
|
void setMeasureInfo(MeasureInfo inf, int index);
|
|
private:
|
std::vector<CDistDotProcess*> m_vDosts;
|
|
Point2I m_stdPoint[6];
|
MeasureInfo m_aryMeasure[4];
|
BOOL m_isTfConvert;
|
ParaAffine2D m_affine;
|
|
private:
|
//1. ³õʼ»¯
|
int init(void);
|
|
//2. ÊÍ·Å
|
void release(void);
|
|
//3. »ñÈ¡Æ«ÒÆ
|
Point2I getAffineOffset(Point2I pt);
|
|
//4. »ñÈ¡TopMark
|
Point2I getTopPointOffset(Point2I pt);
|
|
//5. »ñÈ¡BotMark
|
Point2I getBotPointOffset(Point2I pt);
|
|
//6. ×ø±êת»»
|
Point2I tfCoordinate(Point2I pt);
|
|
//7. ×ø±êת»»
|
void tfProcess(void);
|
};
|
|
|
#endif
|