Files
envi-code/SourceCode/Code2026/ThunderProof/FoldProTool.h
T

33 lines
1.2 KiB
C++
Raw Normal View History

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