// DbDuctElbow.h: interface for the TDbDuctElbow class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_DBDUCTELBOW_H__41B1C924_2CF6_47E5_BF58_08DFB0907027__INCLUDED_) #define AFX_DBDUCTELBOW_H__41B1C924_2CF6_47E5_BF58_08DFB0907027__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 /*============================================================================* * Copyright(c), 1994-2007, Beijing Tangent Engineering Software Co.Ltd. * 文 件 名: DbDuctElbow.h * 版 本: 1.0 * 作 者: sg * 创建时间: * 描 述: 风管中的“弯头节点”实体,未使用 * 归属项目: 暖通 * 历史记录: =============================================================================*/ class PS_EXP TDbDuctElbow : public TDbEntity { DECLARE_TENTBASE(); ACRX_DECLARE_MEMBERS(TDbDuctElbow); private: static const Adesk::UInt8 g_nVersion; public: TDbDuctElbow(); protected: XPoint m_ptLocation; // 设备基点 double m_nWidth1; double m_nWidth2; XVector3D m_vtLocation1; //接口法向 XVector3D m_vtLocation2; //接口法向 double m_nPipeWeight; // 管线的显示宽度 XPoint m_ptNode1; // 上一根风管的端点 XPoint m_ptNode2; // 下一根风管的端点 public: void GetNodePt(XPoint &ptNode1, XPoint &ptNode2); void SetPipeId(AcDbObjectId id1, AcDbObjectId id2); void SetLocation(XPoint pt) { assertWriteEnabled(); m_ptLocation=pt; } const XPoint & GetLocation() const { return m_ptLocation; } void SetWidth1(double nWidth1) { assertWriteEnabled(); m_nWidth1 = nWidth1; } double GetWidth1() const { return m_nWidth1; } void SetWidth2(double nWidth2) { assertWriteEnabled(); m_nWidth2 = nWidth2; } double GetWidth2() const { return m_nWidth2; } void SetDirection1(const XVector3D &vt) { assertWriteEnabled(); m_vtLocation1 = vt; } XVector3D GetDirection1() const { return m_vtLocation1; } void SetDirection2(const XVector3D &vt) { assertWriteEnabled(); m_vtLocation2 = vt; } XVector3D GetDirection2() const { return m_vtLocation2; } public: // Override TDbEntity virtual void CopyPropertiesFrom(AcDbEntity *pSrc, unsigned gMatchFlag); virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const; virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const; virtual void GetTips(DList &) const; //取动态属性显示数据 public: // Override AcDbEntity Acad::ErrorStatus subGetOsnapPoints(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& ptPick, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) 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 subTransformBy(const AcGeMatrix3d& xform); virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler*); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const; virtual Acad::ErrorStatus dxfInFields (AcDbDxfFiler*); virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler*) const; }; #endif // !defined(AFX_DBDUCTELBOW_H__41B1C924_2CF6_47E5_BF58_08DFB0907027__INCLUDED_)