人人范文网 范文大全

【实习要点与代码】自己总结[推荐]

发布时间:2020-03-02 18:06:42 来源:范文大全 收藏本文 下载本文 手机版

[31]

层放在可变槽中处理

层管理点线面注记

ID 属性码 坐标(空间)组成层

// Map.cpp: implementation of the CMap cla.

//

//////////////////////////////////////////////////////////////////////

#include \"stdafx.h\"

#include \"mapread.h\"

#include \"Map.h\"

#include \"fstream.h\"

#ifdef _DEBUG

#undef THIS_FILE

static char THIS_FILE[]=__FILE__;

#define new DEBUG_NEW

#endif

////////////////////////////////////////////////////////////////////// // Construction/Destruction

//////////////////////////////////////////////////////////////////////

CGeoMap::CGeoMap()

{

m_nRatio = 10;

m_bisLoaded = FALSE;

}

CGeoMap::~CGeoMap()

{

for(int i=0;i

{

CLayer* pLayer=m_LayerArray.ElementAt(i);

if(pLayer!=NULL)

delete pLayer;

}

}

//读取数据

BOOL CGeoMap::ReadData(CString szFileName)

{

ifstream is(szFileName);//文件流

if(!is.is_open())

{} AfxMeageBox(\"error\");//没有打开就返回 return FALSE;

AfxMeageBox(\"开始读取数据!\");

char value[256];

//范围

is.getline(value,sizeof(value)-1,\'\\n\');//获取一行

double xl,yb,xr,yt;//最左最右最下最上

canf(value,\"%lf,%lf,%lf,%lf\\n\",&xl, &yb, &xr, &yt);//字符按自身设计来写double等,前四个是双精度,写到地址里面去,后面是取地址操作符

m_rcBound.left = (int)(xl*m_nRatio);//写出范围,坐标都乘以10

m_rcBound.bottom = (int)(yb*m_nRatio);

m_rcBound.right = (int)(xr*m_nRatio);

m_rcBound.top = (int)(yt*m_nRatio);

CString str;//定义

str.Format(\"左下: %d,%d,右上: %d,%d\\n\", m_rcBound.left, m_rcBound.bottom, m_rcBound.right, m_rcBound.top);//弹出对话框

AfxMeageBox(str);

//层

int layernum=0;

is.getline(value,sizeof(value)-1,\'\\n\');

canf(value,\"%d\\n\",&layernum);//转换目标类型 if(layernumcType = curlayer; int num=0;//层目标数 char szObject[10]; is.getline(value,sizeof(value)-1,\'\\n\');//Point 108,放到value解意 canf(value,\"%s %d\\n\",szObject/*几何类型*/, &num);//用此函数解意 // if(strcmp(szObject, \"Point\")==0) {for(int i=0;i

CGeoPoint* pPoint=new CGeoPoint;//定义点对象,填属性//属性码is.getline(value,sizeof(value)-1,\'\\n\');//转换canf(value,\"%s\\n\", pPoint->codestring);//坐标is.getline(value,sizeof(value)-1,\'\\n\');double x,y;canf(value,\"%lf,%lf\\n\", &x, &y);//长整形pPoint->m_pt.x = (int)(x*m_nRatio);pPoint->m_pt.y = (int)(y*m_nRatio);

pLayer->m_PointArray.Add(pPoint);//加点}

}

if(strcmp(szObject, \"Polyline\")==0)

{

for(int i=0;i

{

//line

//....

//....

}

}

if(strcmp(szObject, \"Polygon\")==0)

{

for(int i=0;i

{

CGeoArea* pArea=new CGeoArea;//....

//....

}

}

m_LayerArray.Add(pLayer);//读完层在增加} //以上程序读数据流程(难度较大)

//目标

AfxMeageBox(\"ok\");

is.close();

m_bisLoaded = TRUE;

return TRUE;

}

//绘制地图

void CGeoMap::Draw(CDC *pDC)

{

if(m_bisLoaded)

{

pDC->Rectangle(&m_rcBound);

for(int i=0;i

CLayer* pLayer=m_LayerArray.GetAt(i);if(pLayer==NULL) continue;//pLayer->Draw(pDC);

//pDC->Polyline(pts, num);//pDC->Polylgon(pts, num);}

}

}

BOOL CGeoMap::GetMapSize(SIZE &sz)

{

if(!m_bisLoaded)

return FALSE;

sz.cx = m_rcBound.right-m_rcBound.left;sz.cy = m_rcBound.top-m_rcBound.bottom;return TRUE;

}

BOOL CGeoMap::GetWindowOrg(int &x, int &y) {

if(!m_bisLoaded)

return FALSE;

x = (m_rcBound.right+m_rcBound.left)/2;y = (m_rcBound.top+m_rcBound.bottom)/2;return TRUE;

}

结构设计要点(自己总结)

自己实习总结

软件工程代码总结

空间数据库实习3代码

自己的实习总结

实习总结(结合自己)

自己归纳总结课程与教学论每章要点

招标文件要点 自己总结.8.2

单片机实验代码总结

实习要点

【实习要点与代码】自己总结[推荐]
《【实习要点与代码】自己总结[推荐].doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档