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

38 lines
1.1 KiB
C++

#ifndef _XCoverVisibleRelationCal_H_
#define _XCoverVisibleRelationCal_H_
#include "SectionStructDef.h"
#include "XPoly2D.h"
class GEOAPI XCoverVisibleRelationCal
{
public:
XCoverVisibleRelationCal(){};
~XCoverVisibleRelationCal(){};
enum SectionRelative // 表明上下两面之间的遮掩关系
{
// Top面完全包含Low面
kTopContainLow,
// Low面完全包含Top面 或者 两面互不包含,且不相交
kLowContainTop,
// 两面存在交集
kIntersection,
// 两面不存在交集,且组成面的线段也不相交
kNoneIntersection,
};
// 处理两个面的遮挡
static bool CoverVisibleCal(const ObjSectionRecord &top, ObjSectionRecord &low);
// 处理多个没有排序面的遮挡
static void CoverMultipleRecordCal(std::vector<ObjSectionRecord> & arObj);
// 处理 XSectionFill 的遮挡问题.
// 1.如果是 图块, 则判断其是否被遮挡
// 2.如果不是图块,则对其进行遮挡处理.并将处理后的结果存入原位置
static void PorcessCoverForFill(std::vector<ObjSectionRecord> & arObj, std::vector<AcDbVoidPtrArray> &arFills);
};
#endif