34 lines
1.2 KiB
C++
34 lines
1.2 KiB
C++
#ifndef __CFoldProTool_H__
|
|
#define __CFoldProTool_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
class CFoldProTool
|
|
{
|
|
public:
|
|
CFoldProTool(void);
|
|
~CFoldProTool(void);
|
|
|
|
//保护线是否相交
|
|
BOOL IsCrossBy(const AcGeLine3d& line,PFoldProLine line1);
|
|
BOOL IsCrossBy(PFoldProLine ProLine1,PFoldProLine ProLine2);
|
|
//保护线是否和保护圆相交
|
|
BOOL IsCrossBy(PFoldProLine proLine,XFoldThunder thunder,double dHx);
|
|
//计算交点
|
|
BOOL GetCrossPoint(PFoldProLine ProLine1,PFoldProLine ProLine2,AcGePoint3dArray& arCross);
|
|
BOOL GetCrossPoint(PFoldProLine proLine,XFoldThunder thunder,double dHx,AcGePoint3dArray& arCross);
|
|
//过滤基准保护线,返回false 为没有基准保护线
|
|
BOOL SortBaseLine(const AcGeIntArray& arNoBase,PFoldProLine& ProLine1,PFoldProLine& ProLine2,PFoldProLine& ProLine3);
|
|
BOOL SortBaseLine(const AcGeIntArray& arNoBase,PFoldProLine& ProLine1,PFoldProLine& ProLine2);
|
|
|
|
//判断保护线1是否比2离基准线更近
|
|
BOOL IsCloserByLine(const AcGeLine3d& line,PFoldProLine ProBase,PFoldProLine ProLine);
|
|
|
|
//判断2针是否有关联
|
|
BOOL HasUnionPro(const XFoldThunder& thunder1,const XFoldThunder& thunder2,double dHx);
|
|
};
|
|
|
|
#endif
|