www.pudn.com > Poly.rar > LineToPoly.h


// LineToPoly.h: interface for the CLineToPoly class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_LINETOPOLY_H__38CC3904_D518_4C7B_B7C3_58DC57CFC6FF__INCLUDED_) 
#define AFX_LINETOPOLY_H__38CC3904_D518_4C7B_B7C3_58DC57CFC6FF__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#pragma warning( disable : 4786 )  
#endif // _MSC_VER > 1000 
#include  
#include  
#include "datasdef.h" 
using namespace std; 
 
//点结构 
struct POINT_D 
{ 
	POINT_D():num(-1),code(-1),x(-1),y(-1),isVert(0) {} 
	POINT_D(const POINT_D& p) :num(p.num), code(p.code),x(p.x),y(p.y),isVert(0){} 
	//判断是否在被比较点的左上方 
	bool operator<(const POINT_D& p) const 
	{ 
		return code  vIntList; 
typedef vector  vPointList; 
//计算边(判断最小角) 
struct CalEdge { 
	int p0n; 
	int p1n; 
}; 
//线 
class CLinePy 
{ 
public: 
	CLinePy():m_num(-1) {} 
	CLinePy(const vIntList& ptlist,const int& num):m_ptlist(ptlist),m_num(num) {} 
 
	//判断是否在被比较点的左上方 
	bool operator<(const CLinePy& line) const 
	{ 
		return m_num=2);  
		m_calEdge.p0n = m_ptlist[m_ptlist.size()-2]; 
		m_calEdge.p1n = m_ptlist[m_ptlist.size()-1]; 
		return m_calEdge; 
	}   
protected: 
	int      m_num;							//线号 
	CalEdge  m_calEdge;                     //角度计算边 
	vIntList m_ptlist;                      //向量存储线上的点序号  
};  
typedef vector vLinePyList; 
typedef set    sLinePyList;  
 
class CPolyPy 
{ 
public: 
	CPolyPy(const CPolyPy& p):m_ptlist(p.m_ptlist) {} 
protected: 
	vIntList m_ptlist;                      //向量存储多边形上的点序号 
}; 
typedef vector vPolyPyList; 
 
class CLineToPoly   
{ 
public: 
	bool         LoadPtData(CString fileName); 
	CLineToPoly(); 
	virtual ~CLineToPoly(); 
protected: 
	CString      GetPointStyle(POINTSTYLE pStyle); 
	POINTSTYLE   GetPointStyle(const char *style); 
private: 
	int                 m_pointNum; 
	vPointList          m_vpointList; 
    vLinePyList         m_vlineList; 
	CSize               m_size; 
}; 
 
#endif // !defined(AFX_LINETOPOLY_H__38CC3904_D518_4C7B_B7C3_58DC57CFC6FF__INCLUDED_)