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

84 lines
2.0 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TGGeRdupCurveOper 类
// = Version : ver2.0
// = Author : wlw
// = CreateDate : 2002-09-09
// = Description: TGGeRdupCurveOper 声明
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TGGERDUPCURVEOPER_H_
#define _TGGERDUPCURVEOPER_H_
#ifndef _TDPTRLIST_H_
#include "TDPtrList.h"
#endif
#ifndef _TGGECURVESEGMENT_H_
#include "TGGeCurveSegment.h"
#endif
#ifndef _TPICKENTSET_H_
#include "TPickEntSet.h"
#endif
#ifndef _TDRDUPLINENODE_H_
#include "TDRdupLineNode.h"
#endif
#ifndef _TGGECURVESEGSEG_H_
#include "TGGeCurveSegSeg.h"
#endif
#ifndef _TADSGEPOINT3D_H_
#include "TADSGePoint3d.h"
#endif
class GEOAPI TGGeRdupCurveOper
{
public:
TGGeRdupCurveOper();
virtual ~TGGeRdupCurveOper();
void removeDupCurve(TDPtrList<TGGeCurveSegment> &ss, BOOL bExact, BOOL bIntsect);
void IntersectCurves(TDPtrList<TGGeCurveSegment> &lstCurves);
void RemoveDupLine(TPickEntSet &ss);
void SpecialRemoveDupCurve(const TDPtrList<TGGeCurveSegment> &ss1, TDPtrList<TGGeCurveSegment> &ssOut);
void setShortLineLength(double dShortLine);
public:
int m_shortLineNum;
int m_delLineNum;
private:
BOOL makeArrayByAngle(TDPtrList<TGGeCurveSegSeg> &ss,TDPtrList <TDRdupLineNode> &lstNewCurves);
void getMinPoint(AcDbIntArray *ids,TADSGePoint3d & ptMin);
double distanceOfPtToLine(TADSGePoint3d pt, TADSGePoint3d ptStart, TADSGePoint3d ptEnd);
int FindNode(double dKey, TDPtrList<TDRdupLineNode> &lstNewCurves);
private:
double m_slength;
TDPtrList<TGGeCurveSegSeg> m_ssCurves;
};
extern GEOAPI void TdSpecialRemoveDupCurve(const TDPtrList<TGGeCurveSegment> &ssIn, TDPtrList<TGGeCurveSegment> &ssOut);
extern GEOAPI void TdRemoveDupCurves(TDPtrList<TGGeCurveSegment> &lstCurves, BOOL bExactDup,BOOL bIntsect);
extern GEOAPI void TdRemoveDupLines(TPickEntSet &ss);
#endif