// DbFloorRect.h: interface for the TDbFloorRectOld class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_DBFLOORRECT_H__E28722E1_CA4E_4411_8513_E56D227DEBCF__INCLUDED_) #define AFX_DBFLOORRECT_H__E28722E1_CA4E_4411_8513_E56D227DEBCF__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 /*============================================================================* * Copyright(c), 1994-2008, Beijing Tangent Engineering Software Co.Ltd. * 作 者: 沈睿 * 创建时间: 2009-2-28 * 描 述: 楼层范围 * 归属项目: 公共 =============================================================================*/ class PS_EXP TDbFloorRectOld : public TDbEntity { DECLARE_TENTBASE(); ACRX_DECLARE_MEMBERS(TDbFloorRectOld); private: static const Adesk::UInt8 g_nVersion; public: TDbFloorRectOld(); protected: XPoint m_ptBase; // 楼层基点 XPoint m_ptCenter; // 中心点 double m_dLength; // 长 double m_dWidth; // 宽 double m_dFloorHeight; // 楼层高度 double m_nSpare; // 备用 XString m_sFloorName; // 楼层名词 Adesk::UInt8 m_nFloorFrom; // 楼层起始层 Adesk::UInt8 m_nFloorTo; // 楼层终止层 BOOL m_bShow; // 是否显示 XString m_sSpare; // 备用 public: void SetShow(BOOL bFlag=TRUE) { assertWriteEnabled(); m_bShow=bFlag; } BOOL IsShow() const { return m_bShow;} const TCHAR* GetFloorName() const { return (const TCHAR*)m_sFloorName; } void SetFloorName(const TCHAR *szFloorName) { assertWriteEnabled(); m_sFloorName = szFloorName; } void SetFloorTo(const Adesk::UInt8 nNum) { assertWriteEnabled(); m_nFloorTo = nNum; } int GetFloorTo() const { return m_nFloorTo; } void SetFloorFrom(const Adesk::UInt8 nNum) { assertWriteEnabled(); m_nFloorFrom = nNum; } int GetFloorFrom() const { return m_nFloorFrom; } double GetFloorHeight() const { return m_dFloorHeight; } void SetFloorHeight(double dFloorHeight) { assertWriteEnabled(); m_dFloorHeight=dFloorHeight; } double GetWidth() const { return m_dWidth; } void SetWidth(double dWidth) { assertWriteEnabled(); m_dWidth=dWidth; } double GetLength() const { return m_dLength; } void SetLength(double dLength) { assertWriteEnabled(); m_dLength=dLength; } const TCHAR* GetSpare() const { return (const TCHAR*)m_sSpare; } void SetSpare(const TCHAR *szSpare) { assertWriteEnabled(); m_sSpare = szSpare; } XPoint GetBase() const { return m_ptBase; } void SetBase(const XPoint &pt) { assertWriteEnabled(); m_ptBase=pt; } XPoint GetCenter() const { return m_ptCenter; } void SetCenter(const XPoint &pt) { assertWriteEnabled(); m_ptCenter=pt; } // 导出参数 XPoint GetLowLeft() const; XPoint GetLowRight() const; XPoint GetUpRight() const; XPoint GetUpLeft() const; void GetPolyline(AcDbPolyline &pline) const; public: // Override TDbEntity // virtual Acad::ErrorStatus GetGripText(int idx, CString &cs) const; virtual void CopyPropertiesFrom(AcDbEntity *pSrc, unsigned gMatchFlag); virtual Acad::ErrorStatus getClassID(CLSID* pClsid) const; virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const; virtual Acad::ErrorStatus ExplodeOrDraw3d(XExplodeDraw &dc) const; virtual void GetTips(DList &) const; //取动态属性显示数据 virtual int GetFirstVersion()const{return 8;} public: // Override AcDbEntity Acad::ErrorStatus getOsnapPoints(AcDb::OsnapMode osnapMode, int gsSelectionMark, const AcGePoint3d& ptPick, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; virtual Acad::ErrorStatus getGripPoints(AcGePoint3dArray& gripPoints, AcDbIntArray& osnapModes, AcDbIntArray& geomIds) const; virtual Acad::ErrorStatus moveGripPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); virtual Acad::ErrorStatus moveStretchPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); 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 transformBy(const AcGeMatrix3d& xform); virtual Acad::ErrorStatus deepClone(AcDbObject* pOwner, AcDbObject*& pClonedObject, AcDbIdMapping& idMap, Adesk::Boolean isPrimary) const; }; #endif // !defined(AFX_DBFLOORRECT_H__E28722E1_CA4E_4411_8513_E56D227DEBCF__INCLUDED_)