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

57 lines
1.6 KiB
C++

// XdRdupCurve.h: interface for the XdRdupCurve class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_XDRDUPCURVE_H__1CA904C1_D54B_11D5_9F75_0800460222F0__INCLUDED_)
#define AFX_XDRDUPCURVE_H__1CA904C1_D54B_11D5_9F75_0800460222F0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "gepnt3d.h"
class XdRdupLineNode{
public:
double key;
AcDbObjectIdArray entArray;
};
class XdRdupCircArcNode{
public:
AcGePoint3d center;
double radius;
AcDbObjectIdArray arcIdArray;
};
class XdRdupCurve
{
public:
int m_shortLineNum;
int m_shortArcNum;
int m_delLineNum;
int m_delArcNum;
int m_delCirNum;
void removeDupCurve(PickSet &ss);
void removeDupCircle(PickSet &ss);
void removeDupArc(PickSet &ss);
void setEqualPoint(double tol);
void setEqualVector(double tol);
void setShortLineLength(double shortLine);
void setProgressBarInterval(int interval);
XdRdupCurve();
virtual ~XdRdupCurve();
private:
AcGeTol m_tol;
int m_pbarinterval;
double m_slength;
AcDbObjectId m_layerId;
BOOL makeArrayByAngle(PickSet &ss,DList <XdRdupLineNode> &lstNewCurves,PickSet &ssArc,PickSet &ssCir);
BOOL makeArrayByCenterRadius(PickSet &ss,DList<XdRdupCircArcNode> &lstArc);
void getMinPoint(AcDbObjectIdArray *ids,AcGePoint3d &minPt);
double distanceOfPtToLine(AcGePoint3d pt,AcGePoint3d sPt,AcGePoint3d ePt);
int FindNode(double key,DList <XdRdupLineNode> &lstNewCurves);
int FindNode(DList<XdRdupCircArcNode> &lstCircle,AcGePoint3d center,double radius);
};
#endif // !defined(AFX_XDRDUPCURVE_H__1CA904C1_D54B_11D5_9F75_0800460222F0__INCLUDED_)