LWQ
2025-08-07 c049c2fdf2f5722e460d0dc5c7597bf819f2e2e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#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