www.pudn.com > Poly.rar > LineToPoly.cpp
// LineToPoly.cpp: implementation of the CLineToPoly class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "polytop.h"
#include "LineToPoly.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CLineToPoly::CLineToPoly():m_pointNum(0),m_size(0,0)
{
}
CLineToPoly::~CLineToPoly()
{
}
bool CLineToPoly::LoadPtData(CString fileName)
{
FILE* fp;
char ss[20];
int i,j,lNum,pNum;
if((fp=fopen(fileName,"r"))==0) return false;
fscanf(fp,"%s",ss);
if(strcmp(ss,"box:")!=0)
{
AfxMessageBox("文件格式不正确!");
return false;
}
//读入图幅大小
fscanf(fp,"%d%d",&m_size.cx,&m_size.cy);
//读入折线点
fscanf(fp,"%s",ss);
if(strcmp(ss,"Point:")!=0)
{
AfxMessageBox("文件格式不正确!");
return false;
}
fscanf(fp,"%d",&pNum);
m_pointNum = pNum;
//读点数据,排列点序号
for( i = 0; i < m_pointNum; i++)
{
POINT_D pt;
pt.num = i;
}
//读线数据,形成无交叉折线
fclose(fp);
return true;
}
CString CLineToPoly::GetPointStyle(POINTSTYLE pStyle)
{
CString Style;
switch (pStyle)
{
case GCP_POINT:
Style.Format("GCP_POINT");
return Style;
break;
case MATCH_POINT:
Style.Format("MATCH_POINT");
return Style;
break;
case FEATRUE_POINT:
Style.Format("FEATRUE_POINT");
return Style;
break;
case BORDER_MATCH_POINT:
Style.Format("BORDER_MATCH_POINT");
return Style;
break;
case BORDER_POINT:
Style.Format("BORDER_POINT");
return Style;
break;
default:
break;
}
return "UNKNOWN_POINT";
}
POINTSTYLE CLineToPoly::GetPointStyle(const char *style)
{
if(strcmp(style,"GCP_POINT")==0) return GCP_POINT;
if(strcmp(style,"MATCH_POINT")==0) return MATCH_POINT;
if(strcmp(style,"FEATRUE_POINT")==0) return FEATRUE_POINT;
if(strcmp(style,"BORDER_MATCH_POINT")==0) return BORDER_MATCH_POINT;
if(strcmp(style,"BORDER_POINT")==0) return BORDER_POINT;
return UNKNOWN_POINT;
}