//-------------------------------------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TGMeshEdge3D Àà // = Version : ver2.0 // = Author : wlw // = CreateDate : 2002-09-09 // = Description: TGMeshEdge3D ÉùÃ÷ // = Maintainers: // //-------------------------------------------------------------------------------------------------------+ #ifndef _TGMESHEDGE3D_H_ #define _TGMESHEDGE3D_H_ #ifndef _TWFLAG_H_ #include "TWFlag.h" #endif class TPGeCurve3D; class TGMesh3D; class TGMeshNode3D; class GEOAPI TGMeshEdge3D : public TWFlag { friend class TPGeCurveMesh3D; public: TGMeshEdge3D(const TPGeCurve3D* pCurve,TGMeshNode3D* pNode1,TGMeshNode3D*pNode2); virtual ~TGMeshEdge3D(); const TPGeCurve3D* GetCurve()const; const TGMeshNode3D* GetNode(int i=1)const; bool IsLine()const; TGMeshNode3D* GetNextNode(TGMeshNode3D*pNode)const; bool operator > (const TGMeshEdge3D&edge)const; bool operator < (const TGMeshEdge3D&edge)const; TGMeshEdge3D* FindNextEdge(TGMeshNode3D* &pNodeStart,TGMesh3D*pMesh); TGMeshEdge3D* FindPreEdge(TGMeshNode3D* &pNodeStart,TGMesh3D*pMesh); TGMesh3D* FindMesh(int i=1); TGMesh3D* FindSDMesh(); TGMeshEdge3D* FindNextSDEdge(TGMesh3D*pMesh); TGMeshEdge3D* FindPreSDEdge(TGMesh3D*pMesh); public: TGMesh3D *m_pMesh1,*m_pMesh2; protected: const TPGeCurve3D *m_pCurve; TGMeshNode3D *m_pNode1,*m_pNode2; }; #endif