Files
envi-code/SourceCode/Code2026/tg_shs/inc/TArch/DbGroupOpening.h
T
2026-09-28 15:28:50 +08:00

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