//-------------------------------------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TGMeshEdge 类 // = Version : ver2.0 // = Author : wlw // = CreateDate : 2002-09-09 // = Description: TGMeshEdge 声明 无向边 // = Maintainers: // //-------------------------------------------------------------------------------------------------------+ #ifndef _TGMESHEDGE_H_ #define _TGMESHEDGE_H_ #ifndef _TWFLAG_H_ #include "TWFlag.h" #endif class TGMeshNode; class TPGeCurve2D; class TGMesh; class GEOAPI TGMeshEdge : public TWFlag { friend class TPGeCurveMesh; public: TGMeshEdge(const TPGeCurve2D* pCurve,TGMeshNode* pNode1,TGMeshNode* pNode2); virtual ~TGMeshEdge(); const TPGeCurve2D* GetCurve()const; const TGMeshNode* GetNode(int i=1)const; bool IsLine()const; TGMeshNode* GetNextNode(TGMeshNode*pNode)const; bool operator > (const TGMeshEdge&edge)const; bool operator < (const TGMeshEdge&edge)const; TGMeshEdge* FindNextEdge(TGMeshNode* &pNodeStart,TGMesh*pMesh); TGMeshEdge* FindPreEdge(TGMeshNode* &pNodeStart,TGMesh*pMesh); TGMesh* FindMesh(int i=1); TGMesh* FindSDMesh(); TGMeshEdge* FindNextSDEdge(TGMesh*pMesh); TGMeshEdge* FindPreSDEdge(TGMesh*pMesh); public: //角度排序用 double m_fAngle; //引用,以node1->node2为边的网格和以node2->node1为边的网格 TGMesh *m_pMesh1,*m_pMesh2; protected: const TPGeCurve2D *m_pCurve; TGMeshNode *m_pNode1,*m_pNode2; }; #endif