Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

106 lines
3.8 KiB
C++

#pragma once
#include "HDbEquipment.h"
class CDbPool : public CHDbEquipment
{
public:
ACRX_DECLARE_MEMBERS(CDbPool);
public:
CDbPool();
virtual ~CDbPool();
//长度
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 Draw2d(AcGiDraw &dc) const;
Acad::ErrorStatus Draw3d(AcGiDraw &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 CPipeInterface iFace);
// cet 2018.2.7 add 支持双击文字编辑
virtual SubText* 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(AcGiDraw &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
};