#pragma once #include "aecdbportroom.h" #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif class AecDbEarthWorm; class DLLIMPEXP AecDbVenDoghouse : public AecDbPortRoom { public: ACRX_DECLARE_MEMBERS(AecDbVenDoghouse); AecDbVenDoghouse(void); virtual ~AecDbVenDoghouse(void); public: virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler* pFiler); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* pFiler) const; virtual Acad::ErrorStatus dxfInFields (AcDbDxfFiler* pFiler); virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler* pFiler) const; //AEC 派生 virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const; virtual Adesk::Boolean IsDraw2dByBlock() const; virtual Acad::ErrorStatus CreateDoghouse(ESection eSecType,const AcGePoint2dArray& arSizeDatas,AcGeLineSeg3d& ln,AecDbEarthWorm* pEW) const; protected: Acad::ErrorStatus DrawBWindow(const AcGePoint3d& ptGe,const AcGeVector3d& vtDirX,const AcGeVector3d& vtDirXY) const; AcDb3dSolid* CreateHouse( AcGePoint3d& ptLB,double dL,double dW,double dH,double dT,double dHT,double dX,double dXW,const AcGeVector3d& vtDirL,const AcGeVector3d& vtDirW,bool bHasRoof = true) const; };