Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

88 lines
1.8 KiB
C++

//-------------------------------------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TPGeCurveMesh3D 类
// = Version : ver2.0
// = Author : wlw
// = CreateDate : 2002-09-09
// = Description: TPGeCurveMesh3D 声明
// = Maintainers:
//
//-------------------------------------------------------------------------------------------------------+
#ifndef _TPGECURVEMESH3D_H_
#define _TPGECURVEMESH3D_H_
#ifndef _TGPOINT_H_
#include "TGPoint.h"
#endif
#ifndef _TGOBJECTLIST_H_
#include "TGObjectList.h"
#endif
#ifndef _TPDLIST_H_
#include "TPDList.h"
#endif
#ifndef _TGMESHNODE3D_H_
#include "TGMeshNode3D.h"
#endif
#ifndef _TGMESHEDGE3D_H_
#include "TGMeshEdge3D.h"
#endif
#ifndef _TGMESH3D_H_
#include "TGMesh3D.h"
#endif
class TPGeCurve3D;
class GEOAPI TPGeCurveMesh3D
{
friend class TPGeCurveMesh3D;
public:
//要求输入曲线是完全打断的,但允许有重线
TPGeCurveMesh3D(const TGObjectList &buf,bool bOnlyClose = true);
virtual ~TPGeCurveMesh3D();
void AppendCurve(const TPGeCurve3D* pCurve);
//去开放边
void RemoveOpenEdge();
void FindAllMesh();
//按原曲线方向搜索边界路径
void FindAllSDMesh();
void CreateRegion(TGObjectList& lstRegion,TGObjectList& lstHole);
//根据连接关系分解为独立的子网
void Explode(TPDList<TPGeCurveMesh3D> &lstChildMesh);
bool operator > (const TPGeCurveMesh3D&) const;
bool operator < (const TPGeCurveMesh3D&) const;
public:
TPDList<TGMesh3D> m_allMesh;
protected:
TPGeCurveMesh3D();
TGMeshNode3D* FindOrAddNode(const TGPoint& pt);
protected:
//所有节点
TPDListEx<TGMeshNode3D> m_allNode;
//所有边
TPDList<TGMeshEdge3D> m_allEdge;
};
#endif