You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.2 KiB
C++
55 lines
1.2 KiB
C++
#include "StdAfx.h"
|
|
#include "WorkDataMgr.h"
|
|
#include "GlobalFunction.h"
|
|
#include "MsgBox.h"
|
|
#include "GlobalDrawMgr.h"
|
|
|
|
|
|
CWorkDataMgr *gWorkDataMgr = new CWorkDataMgr;
|
|
CWorkDataMgr::CWorkDataMgr(void)
|
|
{
|
|
m_bDrawRealWorkData = false;//是否绘制真实工作数据
|
|
}
|
|
CWorkDataMgr::~CWorkDataMgr(void)
|
|
{
|
|
}
|
|
//获取layer 中所有的obj 数据到vec
|
|
//数据中心就是逻辑坐标原点
|
|
bool CWorkDataMgr::GetAllWorkData(vector<vector<Dbxy>> &vec)
|
|
{
|
|
//提取当前layer 中所有的obj 数据
|
|
CLayer &layer = GetLayerInstance();
|
|
layer.GetObjContainer().GetObjPtData(vec,false);
|
|
|
|
if(vec.empty())
|
|
{
|
|
CMsgBox MsgBox;
|
|
MsgBox.Show("无工作数据!",true);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
//绘制真实数据
|
|
bool CWorkDataMgr::DrawRealWorkData(CDC* pDC)
|
|
{
|
|
if(!m_bDrawRealWorkData)
|
|
return false;
|
|
|
|
vector<vector<Dbxy>> vec;
|
|
if(GetAllWorkData(vec)== false)
|
|
return false;
|
|
|
|
CPen *pOldPen;
|
|
CPen &Pen = gDraw->GetObjectPen();
|
|
pOldPen = pDC->SelectObject(&Pen);
|
|
Dbxy Offset;
|
|
gDraw->DrawDbxyVec(pDC,vec,Offset);
|
|
pDC->SelectObject(pOldPen);
|
|
|
|
return true;
|
|
}
|
|
//将layer 中的obj 数据转换为硬件工作数据
|
|
void CWorkDataMgr::CollectWorkData()
|
|
{
|
|
|
|
} |