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

84 lines
1.8 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, SH Software Co. Ltd.
// = FileName : XRdupCurve 类
// = Version : ver2.0
// = Author : zjq
// = CreateDate : 2002-09-09
// = Description: XRdupCurve 声明
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _XRDUPCURVEOPER_H_
#define _XRDUPCURVEOPER_H_
#ifndef _DLIST_H_
#include "DList.h"
#endif
#ifndef _XCURVESEGMENT_H_
#include "XCurveSegment.h"
#endif
#ifndef _PICKSET_H_
#include "PickSet.h"
#endif
#ifndef _XDRdupLineNode_H_
#include "XDRdupLineNode.h"
#endif
#ifndef _XCURVESEGSEG_H_
#include "XCurveObject.h"
#endif
#ifndef _XPOINT_H_
#include "XPoint.h"
#endif
class GEOAPI XRdupCurve
{
public:
XRdupCurve();
virtual ~XRdupCurve();
void removeDupCurve(DList<XCurveSegment> &ss, BOOL bExact, BOOL bIntsect);
void IntersectCurves(DList<XCurveSegment> &lstCurves);
void RemoveDupLine(PickSet &ss);
void SpecialRemoveDupCurve(const DList<XCurveSegment> &ss1, DList<XCurveSegment> &ssOut);
void setShortLineLength(double dShortLine);
public:
int m_shortLineNum;
int m_delLineNum;
private:
BOOL makeArrayByAngle(DList<XCurveObject> &ss,DList <XDRdupLineNode> &lstNewCurves);
void getMinPoint(AcDbIntArray *ids,XPoint & ptMin);
double distanceOfPtToLine(XPoint pt, XPoint ptStart, XPoint ptEnd);
int FindNode(double dKey, DList<XDRdupLineNode> &lstNewCurves);
private:
double m_slength;
DList<XCurveObject> m_ssCurves;
};
extern GEOAPI void xdSpecialRemoveDupCurve(const DList<XCurveSegment> &ssIn, DList<XCurveSegment> &ssOut);
extern GEOAPI void xdRemoveDupCurves(DList<XCurveSegment> &lstCurves, BOOL bExactDup,BOOL bIntsect);
extern GEOAPI void xdRemoveDupLines(PickSet &ss);
#endif