Files
envi-code/SourceCode/Code2026/ThunderProof/FoldProTool.h
T
2026-09-28 15:28:50 +08:00

34 lines
1.1 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