#ifndef _DB_GROUP_OPENING_H #define _DB_GROUP_OPENING_H #include "DbOpening.h" class TARCH_EXP TDbGroupOpening:public TDbOpening { DECLARE_TENTBASE(); ACRX_DECLARE_MEMBERS(TDbGroupOpening); private: const static Adesk::UInt8 g_nVersion; protected: DList m_lstOpening; public: TDbGroupOpening(); long GetOpeningNum()const{assertReadEnabled();return m_lstOpening.Length();}//ok TDbOpening* operator[](long i){return m_lstOpening[i];}//ok void Reset(){assertWriteEnabled();m_lstOpening.Reset();}//ok void Append(TDbOpening*pOpening){assertWriteEnabled();m_lstOpening.Append(pOpening);}//ok void Update(bool bFromChild); //override TDbOpening virtual void MirrorSelf(BOOL bLeftRight); //左右镜像或上下进行 virtual void ValidateContainership(DList &lstWalls); //验证调整和墙的配属关系 //override TOpeningData; virtual void GetElevOutline(XPoly2D&poly)const; virtual const TCHAR * GetKindString() const; virtual Acad::ErrorStatus SetSill(double nSill); virtual Acad::ErrorStatus SetWidth(double nW); virtual Acad::ErrorStatus SetHeight(double nH); //override TEntityBase virtual BOOL IsValid() const; virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag); virtual int GetFirstVersion()const{return 7;}//ok virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const; virtual Acad::ErrorStatus ExplodeOrDraw3d(XExplodeDraw &dc) const; virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const; #if ADS>15 virtual void CreateGrip();//ok virtual Acad::ErrorStatus EntityToDim(long iGrip,long iDim,const AcDbEntity*pEnt); virtual Acad::ErrorStatus DimToEntity(long iGrip,long iDim,double newValue,const AcGeVector3d& offset); #endif // Overriden function from AcDbEntity virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler*); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const; virtual Acad::ErrorStatus dxfInFields (AcDbDxfFiler*); virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler*) const; virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray& gripPoints, AcDbIntArray& osnapModes, AcDbIntArray& geomIds) const; virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); virtual Acad::ErrorStatus subGetOsnapPoints( AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform); virtual Acad::ErrorStatus subClose(); }; #endif