56 lines
1.5 KiB
C++
56 lines
1.5 KiB
C++
//-------------------------------------------------------------------------------------------------------+
|
|
// 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 |