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; 
}