#pragma once #ifndef GLOBAL_H #define GLOBAL_H // !GLOBAL_H #include #include //相关全局定义 static int MAX_EXTEND_NUM = 1000; static double JUDGE_DECIMAL = 0.0001; static double DIE_SCALE = 100; //特征矩形点大小 static double FEATURE_POINT_SIZE = 10; static QColor FEATURE_POINT_COLOR = QColor::fromRgb(0,0,200); static int FEATURE_POINT_LINE_WIDTH = 2; static double PI_2 = 3.1415926; static double H_ANGLE = 180.00; static int SELECT_WIDTH = 8; //定义mapping图颜色 static QColor BASE_POINT_COLOR = Qt::red; static QColor MARK_POINT_COLOR = QColor::fromRgb(77, 225, 72); static QColor RECT_COLOR = QColor::fromRgb(200, 200, 200); static QColor CUR_SELECT_DIE = QColor::fromRgb(255, 0, 0); static QColor AREA_LINE_COLOR = QColor::fromRgb(255, 242, 0); //第一部分:晶圆厂提供mapping图定义 //wafer map头结构 typedef struct _tagMapHeadData { _tagMapHeadData() : iBinCodeType(0) , dDieWidth(0) , dDieHight(0) , dWaferSize(0) , iRows(0) , iCols(0) , iAngle(0) {} int iBinCodeType; //bincode类型 double dDieWidth; //die宽 单位mm double dDieHight; //die高 单位mm double dWaferSize; //Wafer大小 单位mm int iRows; //总行数 int iCols; //总列数 int iAngle; //起始角度:0,90,180,270 }MapHeadData; //wafer die数据 typedef struct _tagDieData { _tagDieData() : iRow(0) , iCol(0) , bValid(false) , iMark(0) , sBinCode("") {} _tagDieData(int row, int col, bool valid, int mark, std::string bincode) : iRow(row) , iCol(col) , bValid(valid) , iMark(mark) , sBinCode(bincode) {} int iRow; //die所在行 int iCol; //die所在列 bool bValid; //die是否有效:false-无效 true-有效 int iMark; //die mark信息:0-不是mark 1-mark1 2-mark2 std::string sBinCode; //die bincode }DieData; typedef std::vector vtDieData; //wafer map数据信息 typedef struct _tagMapData { MapHeadData headData; //map图头信息 vtDieData vDies; //die数组 }MapData; //第二部分:根据原始的晶圆数据进行布局 typedef struct _tagMaferRecipe { double m_waferDia; //晶圆直接 double m_dieWidth; //die宽 double m_dieHeight; //die高 double m_baseDiePosX; //基准点X double m_baseDiePosY; //基准点Y double m_markPoint1X; //mark1点X double m_markPoint1Y; //mark1点Y double m_markPoint2X; //mark2点X double m_markPoint2Y; //mark2点Y int areaXDirectionNum; //区域X方向的个数 int areaYDirectionNum; //区域Y方向的个数 }MaferRecipe; #endif