113 lines
4.1 KiB
C++
113 lines
4.1 KiB
C++
#ifndef AFX_TDBPOOL_H__
|
|
#define AFX_TDBPOOL_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "HDbEquipment.h"
|
|
|
|
class PS_EXP TDbPool : public THDbEquipment
|
|
{
|
|
DECLARE_TENTBASE();
|
|
ACRX_DECLARE_MEMBERS(TDbPool);
|
|
public:
|
|
TDbPool();
|
|
virtual ~TDbPool();
|
|
|
|
//长度
|
|
void SetPoolLength(double dLen, BOOL bApply = TRUE);
|
|
//宽度
|
|
void SetPoolWidth(double dWidth, BOOL bApply = TRUE);
|
|
//高度
|
|
void SetPoolHeight(double dHeight, BOOL bApply = TRUE);
|
|
|
|
//顶板标高
|
|
void SetTopBanEle(double dEle);
|
|
//底板标高
|
|
void SetBottomBanEle(double dEle);
|
|
//地面标高
|
|
void SetGroundEle(double dEle);
|
|
void SetSpare(double dSpare) {
|
|
assertWriteEnabled();
|
|
m_dSpare=dSpare;
|
|
}
|
|
|
|
//设备属性
|
|
double GetPoolLength();
|
|
double GetPoolWidth();
|
|
double GetPoolHeight();
|
|
|
|
//标高属性
|
|
double GetTopBanEle();
|
|
double GetBottomBanEle();
|
|
double GetGroundEle();
|
|
|
|
double GetSpare() const {
|
|
return m_dSpare;
|
|
}
|
|
// cet 2016.11.3 add 池名称
|
|
CString GetName(bool *pRet = NULL) const;
|
|
void SetName(const CString &sName);
|
|
//更新接口关系
|
|
void UpdataPipeInterface();
|
|
public:
|
|
virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) 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 subTransformBy(const AcGeMatrix3d& xform);
|
|
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 ExplodeOrDraw2d(XExplodeDraw &dc) const;
|
|
Acad::ErrorStatus ExplodeOrDraw3d(XExplodeDraw &dc) const;
|
|
virtual int GetFirstVersion()const{return 8;}
|
|
|
|
// 对st类型的接口进行重新连接
|
|
virtual void UpdateLinkage(const XPoint &ptAt, TPipeSys::SysType st,
|
|
const DList<AcDbObjectId> &idPipes);
|
|
virtual BOOL CanLinkSide(const AcDbObjectId &idPipe, int nPos) const;
|
|
AcGeScale3d GetInsert2dScale() const;
|
|
Acad::ErrorStatus GetGripText(int idx, CString &cs) const;
|
|
virtual Acad::ErrorStatus subClose();//zxl 2013.07.23 add
|
|
// zxl 2013.07.23 add 池子大小或位置变化时,调整池子标注位置
|
|
void ModifyPoolDimPos(const TPipeInterface iFace);
|
|
// cet 2018.2.7 add 支持双击文字编辑
|
|
virtual TSubText* HitTestText(XPoint pt)const;
|
|
virtual void SetSubText(long i, CString sText);
|
|
private:
|
|
void SetSize(double x, double y, double z, BOOL bApply = TRUE );
|
|
Acad::ErrorStatus DrawLabelText(XExplodeDraw &dc) const;
|
|
//更新管子位置
|
|
void UpdatePipes(const AcDbObjectIdArray &arIds);
|
|
//得到炸碎的实体
|
|
void GetExplodeCurves(const AcDbObjectId &id,AcArray<XCurveSegment, AcArrayObjectCopyReallocator<XCurveSegment> > &arCurves) const;
|
|
void GetExplodeCurves(AcDbEntity *pEnt,AcArray<XCurveSegment, AcArrayObjectCopyReallocator<XCurveSegment> > &arCurves) const;
|
|
//判断是否连接
|
|
BOOL CheckIsConnect(const XPoint &pt,const AcArray<XCurveSegment, AcArrayObjectCopyReallocator<XCurveSegment> > &arSegs,const XLine &line,XPoint &ptCon) const;
|
|
//得到空闲的接口序号
|
|
int GetFreeInterfaceIndex() const;
|
|
//是否找到接口
|
|
bool FindInterfaceByPt(const AcGePoint3d &pt);
|
|
private:
|
|
Acad::ErrorStatus MoveGSPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset);
|
|
const static Adesk::UInt8 g_nVersion; //版本控制
|
|
double m_dTopBanEle; //顶板标高
|
|
double m_dBottomBanEle; //底板标高
|
|
double m_dGroundEle; //地面标高
|
|
|
|
XString m_sSpare; // 备用
|
|
double m_dSpare; // 备用 跌落高差 sr 2009-4-19
|
|
Adesk::UInt16 m_nSpare; // 备用
|
|
bool m_bIsModify; // 是否更新管底标注位置 zxl 2013.09.29 add
|
|
};
|
|
|
|
#endif // !defined(AFX_TDBPOOL_H__47D214CD_FACB_4928_9001_691F625F644C__INCLUDED_)
|