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++

#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()
{
}