#pragma once #include #include #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif class DLLIMPEXP HLR { public: typedef AcArray AcDbEntityArray; typedef std::map IDMapEntities; typedef std::map EntMapInt; typedef std::map 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); };