// PADRecipe.h: interface for the CPADRecipe class.
|
//
|
//////////////////////////////////////////////////////////////////////
|
|
#if !defined(AFX_PADRECIPE_H__928151D6_F446_4542_A3C5_F70BC2C255B2__INCLUDED_)
|
#define AFX_PADRECIPE_H__928151D6_F446_4542_A3C5_F70BC2C255B2__INCLUDED_
|
|
#if _MSC_VER > 1000
|
#pragma once
|
#endif // _MSC_VER > 1000
|
|
#include "PADRecipeModel.h"
|
|
const int PAD_LIGHTSETTING_MAXCOUNT = 4;
|
|
typedef struct _PADLightSetting
|
{
|
enum emLightEvalMode{MODE_AVERAGE=0,MODE_MIN,MODE_MAX,MODE_NONE};
|
|
emLightEvalMode emLightMode;
|
int nSetValue;
|
int nMinValue;
|
int nMaxValue;
|
|
_PADLightSetting()
|
{
|
Reset();
|
}
|
void Reset()
|
{
|
emLightMode = MODE_NONE;
|
nSetValue = 0;
|
nMinValue = 0;
|
nMaxValue = 0;
|
}
|
_PADLightSetting& operator=(const _PADLightSetting &rh)
|
{
|
emLightMode = rh.emLightMode;
|
nSetValue = rh.nSetValue;
|
nMinValue = rh.nMinValue;
|
nMaxValue = rh.nMaxValue;
|
return *this;
|
}
|
} PADLightSetting, *pPADLightSetting;
|
|
typedef struct _PADGENPARM
|
{
|
BOOL m_bUseInspect;
|
BOOL m_bSavePADImage;
|
BOOL m_bUsePRNU;
|
int m_nSmarLEDVolume;
|
int m_nCaliCoef;
|
double m_dCameraGain;
|
BOOL m_bUsePADResultFile;
|
|
int m_nInspectLeft_T_Margin;
|
int m_nInspectLeft_R_Margin;
|
int m_nInspectLeft_B_Margin;
|
int m_nInspectLeft_Width;
|
int m_nInspectTop_L_Margin;
|
int m_nInspectTop_B_Margin;
|
int m_nInspectTop_R_Margin;
|
int m_nInspectTop_Height;
|
int m_nInspectRight_T_Margin;
|
int m_nInspectRight_R_Margin;
|
int m_nInspectRight_B_Margin;
|
int m_nInspectRight_Width;
|
int m_nInspectBottom_L_Margin;
|
int m_nInspectBottom_B_Margin;
|
int m_nInspectBottom_R_Margin;
|
int m_nInspectBottom_Height;
|
|
_PADGENPARM()
|
{
|
Reset();
|
}
|
void Reset()
|
{
|
m_bUseInspect = FALSE;
|
m_bSavePADImage = FALSE;
|
m_bUsePRNU = FALSE;
|
m_nSmarLEDVolume = 0;
|
m_nCaliCoef = 0;
|
m_dCameraGain = 0;
|
m_bUsePADResultFile = FALSE;
|
m_nInspectLeft_T_Margin = m_nInspectLeft_R_Margin = m_nInspectLeft_B_Margin = m_nInspectLeft_Width = 0;
|
m_nInspectRight_T_Margin = m_nInspectRight_R_Margin = m_nInspectRight_B_Margin = m_nInspectRight_Width = 0;
|
m_nInspectTop_L_Margin = m_nInspectTop_B_Margin = m_nInspectTop_R_Margin = m_nInspectTop_Height = 0;
|
m_nInspectBottom_L_Margin = m_nInspectBottom_B_Margin = m_nInspectBottom_R_Margin = m_nInspectBottom_Height = 0;
|
}
|
_PADGENPARM& operator=(const _PADGENPARM &rh)
|
{
|
m_bUseInspect = rh.m_bUseInspect;
|
m_bSavePADImage = rh.m_bSavePADImage;
|
m_bUsePRNU = rh.m_bUsePRNU;
|
m_nSmarLEDVolume = rh.m_nSmarLEDVolume;
|
m_nCaliCoef = rh.m_nCaliCoef;
|
m_dCameraGain = rh.m_dCameraGain;
|
m_bUsePADResultFile = rh.m_bUsePADResultFile;
|
|
m_nInspectLeft_T_Margin = rh.m_nInspectLeft_T_Margin;
|
m_nInspectLeft_R_Margin = rh.m_nInspectLeft_R_Margin;
|
m_nInspectLeft_B_Margin = rh.m_nInspectLeft_B_Margin;
|
m_nInspectLeft_Width = rh.m_nInspectLeft_Width;
|
m_nInspectRight_T_Margin = rh.m_nInspectRight_T_Margin;
|
m_nInspectRight_R_Margin = rh.m_nInspectRight_R_Margin;
|
m_nInspectRight_B_Margin = rh.m_nInspectRight_B_Margin;
|
m_nInspectRight_Width = rh.m_nInspectRight_Width;
|
m_nInspectTop_L_Margin = rh.m_nInspectTop_L_Margin;
|
m_nInspectTop_B_Margin = rh.m_nInspectTop_B_Margin;
|
m_nInspectTop_R_Margin = rh.m_nInspectTop_R_Margin;
|
m_nInspectTop_Height = rh.m_nInspectTop_Height;
|
m_nInspectBottom_L_Margin = rh.m_nInspectBottom_L_Margin;
|
m_nInspectBottom_B_Margin = rh.m_nInspectBottom_B_Margin;
|
m_nInspectBottom_R_Margin = rh.m_nInspectBottom_R_Margin;
|
m_nInspectBottom_Height = rh.m_nInspectBottom_Height;
|
return *this;
|
}
|
} PADGENPARM, *pPADGENPARM;
|
|
#define PAD_FILENAME_STRING "PAD"
|
#define PAD_RECIPE_PATH "C:\\°Ë»ç¼³ºñ\\RecipeNew\\"
|
|
class AFX_EXT_CLASS CPADRecipe
|
{
|
public:
|
CPADRecipe();
|
virtual ~CPADRecipe();
|
CPADRecipe(CPADRecipe& rhs);
|
CPADRecipe& operator=(CPADRecipe& rhs);
|
|
public:
|
void SetRecipeName(CString strRecipeName);
|
BOOL ReadRecipeFile();
|
BOOL WriteRecipeFile(BOOL bCheck=TRUE);
|
BOOL ReadModelRecipeFile();
|
BOOL ReadRecipe(CMosisPacket *pPacket);
|
BOOL WriteRecipe(CMosisPacket *pPacket);
|
|
void ResetPADRecipe();
|
BOOL SetPADModel(int iModel,CPADRecipeModel *pModel);
|
CPADRecipeModel* GetPADModel(int iModel);
|
|
int GetPADModelCount(){return m_nPADModelCount;}
|
void SetModelCount(int nCount);
|
|
pPADLightSetting GetLightSetting(int iSide);
|
BOOL SetLightSetting(int iSide,PADLightSetting stLight);
|
|
pPADGENPARM GetGenParm(){return &m_pPADGenParm;}
|
void SetGenParm(PADGENPARM pParm){m_pPADGenParm=pParm;}
|
|
protected:
|
void ResetModelList();
|
|
protected:
|
CHMRegiConfig m_PADRecipeFile;
|
CString m_strPADRecipeFileName;
|
CPADRecipeModel *m_pPADModel;
|
int m_nPADModelCount;
|
PADLightSetting m_pPADLightSetting[PAD_LIGHTSETTING_MAXCOUNT];
|
PADGENPARM m_pPADGenParm;
|
|
};
|
|
#endif // !defined(AFX_PADRECIPE_H__928151D6_F446_4542_A3C5_F70BC2C255B2__INCLUDED_)
|