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

48 lines
1.4 KiB
C++

#pragma once
#include <vector>
#include <map>
#ifdef EARTHWORM_EXPORT
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP __declspec(dllimport)
#endif
class DLLIMPEXP HLR
{
public:
typedef AcArray<AcDbEntity *> AcDbEntityArray;
typedef std::map<AcDbObjectId, AcDbEntityArray> IDMapEntities;
typedef std::map<AcDbEntity *, int> EntMapInt;
typedef std::map<AcDbEntity *, AcDbEntityArray> EntMapEntities;
static void hlr_collect_all(AcDbObjectIdArray &arIds // 原始实体
, AcDbEntityArray &arPtrs // 原始实体的指针,如果实体没有ID的情况下,用此参数传入
, const int &control // 控制参数
, AcDbViewport *pVp // 视口
, IDMapEntities &result // 结果,first-原实体 second-生成的消隐实体
, EntMapEntities &resutl2);
static void hlr_collect(AcDbObjectIdArray &arIds // 原始实体
, const int &control // 控制参数
, AcDbViewport *pVp // 视口
, IDMapEntities &result);
static void hlr_lite(AcDbEntityArray &arPtrs
, const int &control // 控制参数
, AcDbViewport *pVp // 视口
, EntMapEntities &result);
static void hlr_lite_ids(AcDbObjectIdArray &arids
, const int &control // 控制参数
, AcDbViewport *pVp // 视口
, IDMapEntities &result);
static void OrthoProjected3DSolidImp(AcDbEntity *pSolidClone
, const AcGePlane &plan
, AcGeMatrix3d &xformPlanToWorld
, AcDbVoidPtrArray &arEntPtrs);
};