|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "MarkParMgr.h"
|
|
|
|
|
#include "CStringFuc.h"
|
|
|
|
|
#include "GlobalDefine.h"
|
|
|
|
|
#include "FileMgr.h"
|
|
|
|
|
#include "WorkFileLable.h"
|
|
|
|
|
#include "WorkFileMgr.h"
|
|
|
|
|
#include "GlobalFunction.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define PEN_CNT 100 //<2F>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define PEN_COLOR_0 RGB(10,10,10)
|
|
|
|
|
#define PEN_COLOR_1 RGB(0,0,255)
|
|
|
|
|
#define PEN_COLOR_2 RGB(255,0,0)
|
|
|
|
|
#define PEN_COLOR_3 RGB(0,255,0)
|
|
|
|
|
#define PEN_COLOR_4 RGB(255,0,255)
|
|
|
|
|
#define PEN_COLOR_5 RGB(255,255,0)
|
|
|
|
|
#define PEN_COLOR_6 RGB(255,125,125)
|
|
|
|
|
#define PEN_COLOR_7 RGB(125,0,0)
|
|
|
|
|
#define PEN_COLOR_8 RGB(125,0,125)
|
|
|
|
|
#define PEN_COLOR_9 RGB(0,125,125)
|
|
|
|
|
#define PEN_COLOR_10 RGB(255,255,255)
|
|
|
|
|
#define PEN_COLOR_11 RGB(185,122,87)
|
|
|
|
|
#define PEN_COLOR_12 RGB(255,201,14)
|
|
|
|
|
#define PEN_COLOR_13 RGB(181,230,29)
|
|
|
|
|
#define PEN_COLOR_14 RGB(153,217,234)
|
|
|
|
|
#define PEN_COLOR_15 RGB(112,146,190)
|
|
|
|
|
#define PEN_COLOR_16 RGB(200,191,231)
|
|
|
|
|
#define PEN_COLOR_17 RGB(63,72,204)
|
|
|
|
|
#define PEN_COLOR_18 RGB(163,73,164)
|
|
|
|
|
#define PEN_COLOR_19 RGB(34,177,76)
|
|
|
|
|
#define PEN_COLOR_20 RGB(127,127,127)
|
|
|
|
|
|
|
|
|
|
#define FILE_PATH _T("\\Parameter\\MarkPar\\MarkPar.par")
|
|
|
|
|
|
|
|
|
|
CMarkParMgr *gMarkParMgr = new CMarkParMgr;
|
|
|
|
|
CMarkParMgr::CMarkParMgr(void)
|
|
|
|
|
{
|
|
|
|
|
m_CurPen = 0;//<2F><>ǰ<EFBFBD>ıʺ<C4B1>
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
IniParVec();
|
|
|
|
|
}
|
|
|
|
|
CMarkParMgr::~CMarkParMgr(void)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
#if 1
|
|
|
|
|
void CMarkParMgr::WriteWorkFileExt(vector<CLab> &LabVec)
|
|
|
|
|
{
|
|
|
|
|
for(int i=0;i<PEN_CNT;i++)
|
|
|
|
|
{
|
|
|
|
|
LabVec.push_back(CLab(LAB_MARK_PAR_START));
|
|
|
|
|
m_ParVec[i].WriteWorkFile(LabVec);
|
|
|
|
|
LabVec.push_back(CLab(LAB_MARK_PAR_END));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void CMarkParMgr::ReadWorkFile(CLabVecRang &LabVecRang)
|
|
|
|
|
{
|
|
|
|
|
vector<CLabVecRang> LabVecRangVec;
|
|
|
|
|
CWorkFileMgr WorkFileMgr;
|
|
|
|
|
WorkFileMgr.SeparateStrVec(LabVecRang,LabVecRangVec,LAB_MARK_PAR_START,LAB_MARK_PAR_END);
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>
|
|
|
|
|
if(!LabVecRangVec.empty())
|
|
|
|
|
{
|
|
|
|
|
vector<CLabVecRang>::iterator iter = LabVecRangVec.begin();
|
|
|
|
|
vector<CLabVecRang>::iterator iter_end = LabVecRangVec.end();
|
|
|
|
|
for(int i=0;iter!=iter_end;iter++,i++)
|
|
|
|
|
{
|
|
|
|
|
m_ParVec[i].ReadWorkFile(*iter);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#ifdef __DLG_PANE_MARK_PAR__
|
|
|
|
|
GetFrame()->m_CDlgMarkPar.UpdatePar();
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void CMarkParMgr::IniParVec()
|
|
|
|
|
{
|
|
|
|
|
for(int i=0;i<PEN_CNT;i++)
|
|
|
|
|
{
|
|
|
|
|
CMarkPar MarkPar;
|
|
|
|
|
m_ParVec.push_back(MarkPar);
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϱʵ<CFB1><CAB5><EFBFBD>ɫ
|
|
|
|
|
int idx = 0;
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_1);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_2);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_3);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_4);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_5);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_6);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_7);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_8);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_9);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_11);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_12);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_13);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_14);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_15);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_16);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_17);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_18);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_19);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_20);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_0);
|
|
|
|
|
m_ParVec[idx++].SetColor(PEN_COLOR_10);
|
|
|
|
|
}
|
|
|
|
|
void CMarkParMgr::InsertToList(CListCtrl &List)
|
|
|
|
|
{
|
|
|
|
|
int size = m_ParVec.size();
|
|
|
|
|
for(int i=0;i<size;i++)
|
|
|
|
|
{
|
|
|
|
|
int idx = 0;
|
|
|
|
|
List.InsertItem(i," ");//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|
|
|
|
List.SetItemText(i,idx++,Int2CString(i));//<2F>ʺ<EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ȡ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>ɫ
|
|
|
|
|
COLORREF CMarkParMgr::GetPenColor(int pen)
|
|
|
|
|
{
|
|
|
|
|
return m_ParVec[pen].GetColor();
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>浱ǰ<E6B5B1>ʵIJ<CAB5><C4B2><EFBFBD>
|
|
|
|
|
void CMarkParMgr::SaveCurPen(int pen,CMarkPar CurPar)
|
|
|
|
|
{
|
|
|
|
|
m_ParVec[pen] = CurPar;
|
|
|
|
|
|
|
|
|
|
SaveOrLoad(true);
|
|
|
|
|
}
|
|
|
|
|
void CMarkParMgr::SaveCurPen(CMarkPar CurPar)
|
|
|
|
|
{
|
|
|
|
|
m_ParVec[m_CurPen] = CurPar;
|
|
|
|
|
SaveOrLoad(true);
|
|
|
|
|
}
|
|
|
|
|
void CMarkParMgr::SaveOrLoad(bool bSave)
|
|
|
|
|
{
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
char filepath[1024];
|
|
|
|
|
FileMgr.GetFullFilePath(filepath,FILE_PATH);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
|
|
|
|
|
if(bSave)
|
|
|
|
|
{
|
|
|
|
|
CFile file(filepath,CFile::modeReadWrite|CFile::modeCreate);
|
|
|
|
|
CArchive ar(&file,CArchive::store);
|
|
|
|
|
SaveOrLoadExt(ar);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CFile file;
|
|
|
|
|
if(file.Open(filepath,CFile::modeRead))
|
|
|
|
|
{
|
|
|
|
|
CArchive ar(&file,CArchive::load);
|
|
|
|
|
SaveOrLoadExt(ar);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void CMarkParMgr::SaveOrLoadExt(CArchive &ar)
|
|
|
|
|
{
|
|
|
|
|
vector<CMarkPar>::iterator iter = m_ParVec.begin();
|
|
|
|
|
vector<CMarkPar>::iterator iter_end = m_ParVec.end();
|
|
|
|
|
for(;iter!=iter_end;iter++)
|
|
|
|
|
{
|
|
|
|
|
(*iter).Serialize(ar);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
CMarkPar CMarkParMgr::GetPen(int pen)
|
|
|
|
|
{
|
|
|
|
|
return m_ParVec[pen];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double CMarkParMgr::GetFirstPenLaserPower()
|
|
|
|
|
{
|
|
|
|
|
return m_ParVec[0].laserpower;
|
|
|
|
|
}
|
|
|
|
|
void CMarkParMgr::SetFirstPenLaserPower(double Val)
|
|
|
|
|
{
|
|
|
|
|
if(Val>1 && Val<100)
|
|
|
|
|
{
|
|
|
|
|
m_ParVec[0].laserpower = Val;
|
|
|
|
|
}
|
|
|
|
|
}
|