48 lines
1.4 KiB
C++
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);
|
|
}; |