58 lines
1.1 KiB
C++
58 lines
1.1 KiB
C++
#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<WallItem*> arWallJoins;
|
|
AcArray<ColItem*> 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<WallItem*> m_arWallItems;
|
|
AcArray<WallJoin> m_arWallJoins;
|
|
};
|