|
|
|
|
#pragma once
|
|
|
|
|
#ifndef GLOBAL_H
|
|
|
|
|
#define GLOBAL_H
|
|
|
|
|
// !GLOBAL_H
|
|
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <QColor>
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ȫ<EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD>
|
|
|
|
|
static int MAX_EXTEND_NUM = 1000;
|
|
|
|
|
static double JUDGE_DECIMAL = 0.0001;
|
|
|
|
|
static double DIE_SCALE = 100;
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD>С
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>mappingͼ<67><CDBC>ɫ
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
//<2F><>һ<EFBFBD><D2BB><EFBFBD>֣<EFBFBD><D6A3><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>ṩmappingͼ<67><CDBC><EFBFBD><EFBFBD>
|
|
|
|
|
//wafer mapͷ<70>ṹ
|
|
|
|
|
typedef struct _tagMapHeadData
|
|
|
|
|
{
|
|
|
|
|
_tagMapHeadData()
|
|
|
|
|
: iBinCodeType(0)
|
|
|
|
|
, dDieWidth(0)
|
|
|
|
|
, dDieHight(0)
|
|
|
|
|
, dWaferSize(0)
|
|
|
|
|
, iRows(0)
|
|
|
|
|
, iCols(0)
|
|
|
|
|
, iAngle(0)
|
|
|
|
|
{}
|
|
|
|
|
int iBinCodeType; //bincode<64><65><EFBFBD><EFBFBD>
|
|
|
|
|
double dDieWidth; //die<69><65> <20><>λmm
|
|
|
|
|
double dDieHight; //die<69><65> <20><>λmm
|
|
|
|
|
double dWaferSize; //Wafer<65><72>С <20><>λmm
|
|
|
|
|
int iRows; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int iCols; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int iAngle; //<2F><>ʼ<EFBFBD>Ƕ<EFBFBD>:0,90,180,270
|
|
|
|
|
}MapHeadData;
|
|
|
|
|
//wafer die<69><65><EFBFBD><EFBFBD>
|
|
|
|
|
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<69><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int iCol; //die<69><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
bool bValid; //die<69>Ƿ<EFBFBD><C7B7><EFBFBD>Ч:false-<2D><>Ч true-<2D><>Ч
|
|
|
|
|
int iMark; //die mark<72><6B>Ϣ:0-<2D><><EFBFBD><EFBFBD>mark 1-mark1 2-mark2
|
|
|
|
|
std::string sBinCode; //die bincode
|
|
|
|
|
}DieData;
|
|
|
|
|
typedef std::vector<DieData> vtDieData;
|
|
|
|
|
//wafer map<61><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
typedef struct _tagMapData
|
|
|
|
|
{
|
|
|
|
|
MapHeadData headData; //mapͼͷ<CDBC><CDB7>Ϣ
|
|
|
|
|
vtDieData vDies; //die<69><65><EFBFBD><EFBFBD>
|
|
|
|
|
}MapData;
|
|
|
|
|
|
|
|
|
|
//<2F>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD>ԭʼ<D4AD>ľ<EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>ݽ<EFBFBD><DDBD>в<EFBFBD><D0B2><EFBFBD>
|
|
|
|
|
typedef struct _tagMaferRecipe {
|
|
|
|
|
double m_waferDia; //<2F><>Բֱ<D4B2><D6B1>
|
|
|
|
|
double m_dieWidth; //die<69><65>
|
|
|
|
|
double m_dieHeight; //die<69><65>
|
|
|
|
|
double m_baseDiePosX; //<2F><><EFBFBD><D7BC>X
|
|
|
|
|
double m_baseDiePosY; //<2F><><EFBFBD><D7BC>Y
|
|
|
|
|
double m_markPoint1X; //mark1<6B><31>X
|
|
|
|
|
double m_markPoint1Y; //mark1<6B><31>Y
|
|
|
|
|
double m_markPoint2X; //mark2<6B><32>X
|
|
|
|
|
double m_markPoint2Y; //mark2<6B><32>Y
|
|
|
|
|
int areaXDirectionNum; //<2F><><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
|
|
|
|
|
int areaYDirectionNum; //<2F><><EFBFBD><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
|
|
|
|
|
}MaferRecipe;
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|