66 lines
1.4 KiB
C++
66 lines
1.4 KiB
C++
//-------------------------------------------------------------------------------------------------------+
|
|
// 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 |