69 lines
2.7 KiB
C++
69 lines
2.7 KiB
C++
#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<TDbOpening> 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<AcDbObjectId> &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 |