Files
envi-code/SourceCode/Code2026/tg_shs/inc/pipewire/DbPipeFitting.h
T

80 lines
3.5 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#ifndef __DBFITTING_H
2026-09-28 15:28:50 +08:00
#define __DBFITTING_H
/*============================================================================*
* Copyright(c), 1994-2007, Beijing Tangent Engineering Software Co.Ltd.
2026-10-04 00:04:20 +08:00
* 作 者: 沈睿
* 创建时间: 张金乾2003年夏季提供框架
* 描 述: 水管自动连接件:三通、弯头、四通、堵头、等等
* 归属项目: 给排水 暖通
* 历史记录: 2008-6-26 补头文件注释
2026-09-28 15:28:50 +08:00
=============================================================================*/
#include "PipePrototype.h"
2026-10-04 00:04:20 +08:00
// 自动连接件:三通、弯头、四通、堵头、等等
2026-09-28 15:28:50 +08:00
class PS_EXP TDbPipeFitting: public TDbPipeNode {
DECLARE_TENTBASE();
ACRX_DECLARE_MEMBERS(TDbPipeFitting);
private:
static const Adesk::UInt8 g_nVersion;
public:
TDbPipeFitting();
protected:
XPoint m_ptLocation;
public:
void SetLocation(const XPoint &ptLoc) {
assertWriteEnabled();
m_ptLocation=ptLoc;
}
public: // Override TDbPipeNode
virtual XPoint GetLocation() const;
2026-10-04 00:04:20 +08:00
// 对st类型的接口进行重新连接
2026-09-28 15:28:50 +08:00
virtual void UpdateLinkage(const XPoint &ptAt, TPipeSys::SysType st,
const DList<AcDbObjectId> &idPipes);
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 Acad::ErrorStatus ExplodeOrDraw3d(XExplodeDraw &dc) const;
virtual Acad::ErrorStatus Draw3dElbow(XExplodeDraw &dc) const;
2026-10-04 00:04:20 +08:00
virtual Acad::ErrorStatus Draw3dElbow2(XExplodeDraw &dc) const; // cet 2011.5.27 add 绘制两管平行时的情况
2026-09-28 15:28:50 +08:00
virtual Acad::ErrorStatus Draw3dOther(XExplodeDraw &dc) const;
2026-10-04 00:04:20 +08:00
virtual void GetTips(DList<TObjInfoUnit> &) const; //取动态属性显示数据
2026-09-28 15:28:50 +08:00
virtual Acad::ErrorStatus GetGripText(int idx, CString &cs) const;
virtual CString GetXml(const AcGeMatrix3d& mat) const; // cet 2011.2.11 add
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 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 subGetStretchPoints(AcGePoint3dArray & stretchPoints) const;
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus subMoveStretchPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
virtual Acad::ErrorStatus GetExtents(XPoint &ptLow, XPoint &ptUp) const;
private:
Acad::ErrorStatus GetGSPoints(AcGePoint3dArray &stretchPoints) const;
Acad::ErrorStatus MoveGSPointsAt(const AcDbIntArray& indices,const AcGeVector3d& offset);
BOOL GetPointAtDist(AcDbCurve *pCurve, double dDist, XPoint &ptGet) const;
2026-10-04 00:04:20 +08:00
// cet 2016.8.17 add 判断fitting连接的是不是方沟
2026-09-28 15:28:50 +08:00
bool IsLinkedPipeCanal() const;
};
#endif