#pragma once /*------------------------------------------- 墙体端部 以墙体的中心线为基准的对齐,根据材质决定融合方式 以及墙体的高度,标高 参数 ---------------------------------------------*/ #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif typedef struct ColItem { ColumnParam colData; AcDbPolyline *pCol; }COLITEM; typedef struct WallItem { WallData wd; AcDbCurve *pBaseCrv; AcDbPolyline *pPoly; AcDbObjectId idWall; }WALLITEM; typedef struct WallJoin { WallItem* pWItem; AcArray arWallJoins; AcArray arColJoins; }WALLJOIN; class DLLIMPEXP AecWall3DJoin { public: AecWall3DJoin(void); ~AecWall3DJoin(void); bool DoStruDraw(bool b3dUnit = false); bool DoWall2DDraw(); bool DoWall2DDraw(AcDbObjectIdArray &arIds); protected: void AddWallItem(WallData &wallD, AcDbCurve *pCrv, AcDbPolyline *pPoly,const AcDbObjectId &idWall); void AddColItem(ColumnParam &colD, AcDbPolyline *pColPl, const AcDbObjectId &idCol); bool DoWall2DJoin(); private: AcArray m_arWallItems; AcArray m_arWallJoins; };