//-------------------------------------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TPGeDscEdge3D 类 // = Version : ver2.0 // = Author : wlw // = CreateDate : 2002-09-09 // = Description: TPGeDscEdge3D 声明 离散无向边集合 // = Maintainers: // //-------------------------------------------------------------------------------------------------------+ #ifndef _TPGEDSCEDGE3D_H_ #define _TPGEDSCEDGE3D_H_ #ifndef _TWFLAG_H_ #include "TWFlag.h" #endif #ifndef _TPGEFITPATH3D_H_ #include "TPGeFitPath3D.h" #endif #ifndef _TPGEEXTEND2D_H_ #include "TPGeExtend2D.h" #endif #ifndef _TPGEDSCEDGE_H_ #include "TPGeDscEdge.h" #endif class GDscPoint; class TPGeFitTriangle; class TPGeDscPoint3D; class GEOAPI TPGeDscEdge3D : public TWFlag { public: //同时建立点连接! TPGeDscEdge3D(TPGeDscPoint3D*p0,TPGeDscPoint3D*p1); virtual ~TPGeDscEdge3D(); TPGeDscPoint3D* GetNextPoint(TPGeDscPoint3D*pPt) const; //计算一般线性插值点,失败返回NULL TPGeDscPoint3D* GetFitPoint(double value); //从这一边起构造拟合路径,沿途边加VISITED标志 void ConnectPath(TPGeFitPath3D&path); double GetMinValue(); bool operator >(const TPGeDscEdge&e) const; bool operator <(const TPGeDscEdge&e) const; public: //第一点,第二点<引用> TPGeDscPoint3D*pPt0,*pPt1; //当前拟合点<引用> TPGeDscPoint3D*pPtFit; }; #endif