80 lines
3.5 KiB
C++
80 lines
3.5 KiB
C++
#ifndef __DBFITTING_H
|
|
#define __DBFITTING_H
|
|
/*============================================================================*
|
|
* Copyright(c), 1994-2007, Beijing Tangent Engineering Software Co.Ltd.
|
|
* 作 者: 沈睿
|
|
* 创建时间: 张金乾2003年夏季提供框架
|
|
* 描 述: 水管自动连接件:三通、弯头、四通、堵头、等等
|
|
* 归属项目: 给排水 暖通
|
|
* 历史记录: 2008-6-26 补头文件注释
|
|
=============================================================================*/
|
|
|
|
#include "PipePrototype.h"
|
|
|
|
// 自动连接件:三通、弯头、四通、堵头、等等
|
|
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;
|
|
// 对st类型的接口进行重新连接
|
|
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;
|
|
virtual Acad::ErrorStatus Draw3dElbow2(XExplodeDraw &dc) const; // cet 2011.5.27 add 绘制两管平行时的情况
|
|
virtual Acad::ErrorStatus Draw3dOther(XExplodeDraw &dc) const;
|
|
virtual void GetTips(DList<TObjInfoUnit> &) const; //取动态属性显示数据
|
|
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;
|
|
// cet 2016.8.17 add 判断fitting连接的是不是方沟
|
|
bool IsLinkedPipeCanal() const;
|
|
};
|
|
|
|
#endif |