Files
envi-code/SourceCode/Code2026/tg_shs/inc/Mep/SSearchPipeList.h
T

79 lines
3.6 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
// SSearchPipeList.h: interface for the SSearchPipeList class.
2026-09-28 15:28:50 +08:00
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SSEARCHPIPELIST_H__C5693932_4B07_4994_B306_71DAE68AB9EF__INCLUDED_)
#define AFX_SSEARCHPIPELIST_H__C5693932_4B07_4994_B306_71DAE68AB9EF__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class SSearchPipeList
{
public:
SSearchPipeList(){m_ID = NULL; m_iDn = 0; m_nDang = 0; m_nI = 0; m_nV = 0; m_csName = _T(""), m_iType = 0; m_iNum = 0; m_bNeedCale = FALSE; m_nLength = 0; m_pPrevious = NULL;m_nStartPress=0;m_nLost=0;m_nPipeQ=0;m_nSpare=0;};
AcDbObjectId m_ID;
int m_iNum;
2026-10-04 00:04:20 +08:00
int m_iType; //0:管 1:节点 2:喷头 3:井 4:化粪池
int m_iDn; //管径
int m_iSpare; //保留
2026-09-28 15:28:50 +08:00
BOOL m_bNeedCale;
2026-10-04 00:04:20 +08:00
CString m_csName; //0:管段名称 1/2:节点名称
double m_nLength; //管长
double m_nPipeQ; //管段流量
double m_nDang; //当量长度
double m_nStartPress; //起点压力
double m_nI; //水力坡降 mH2O/m
double m_nV; //流速 m/s
double m_nLost; //沿程损失
double m_nSpare; //保留
TEntityFields fd; //扩展数据
2026-09-28 15:28:50 +08:00
SSearchPipeList *m_pPrevious;
DList<SSearchPipeList> m_lstNode;
};
TELAPI double GetPipeGradient(Entity ent);
TELAPI BOOL SearchSprinkPipeSys(Entity ent, AcDbObjectId idFront, SSearchPipeList *pListAll, PickSet &ssAll);
TELAPI void GetAllPipeAndNodeByPipe(AcDbObjectId pipeId, AcDbObjectId idFront, PickSet &ss);
TELAPI void GetAllPipeAndNodeByNode(AcDbObjectId nodeId, AcDbObjectId idFront, PickSet &ss);
TELAPI int GetNodeType(Entity ent);
TELAPI BOOL GetEquipNameById(AcDbObjectId id, CString &csBlkName, CString &csDesName, int &iItem);
TELAPI BOOL IsPool(AcDbObjectId idNode);
TELAPI BOOL IsSprinkler(AcDbObjectId idNode);
TELAPI BOOL IsPlanHydrant(AcDbObjectId idNode);
TELAPI BOOL IsHydrant(Entity ent);
TELAPI BOOL IsHydrant(AcDbObjectId idNode);
TELAPI BOOL IsSprinkler(Entity ent);
TELAPI BOOL IsSysSprinkler(AcDbObjectId idNode);
TELAPI BOOL IsEquipment(AcDbObjectId id);
TELAPI BOOL IsValve(AcDbObjectId id);
TELAPI BOOL IsPipeLabel(AcDbObjectId id);
TELAPI BOOL IsWell(AcDbObjectId id);
TELAPI CString I2Str(double i);
TELAPI CString GetWellName(Entity ent);
TELAPI CString GetWellName(AcDbObjectId id);
TELAPI CString GetEquipBlkName(Entity ent);
TELAPI Entity GetEquipmentByPt(XPoint &pt, int nSnap = 0.2*DocGetPScale(), const TCHAR* szLayer = _T("*"));
TELAPI BOOL IsAppandEquip(DList<AcDbObjectId> &lstNode, AcDbObjectId id);
TELAPI double GetValBetween2(double n1, double n2, double nRange1, double nRange2, double nFactor);
2026-10-04 00:04:20 +08:00
//给排水搜索计算
2026-09-28 15:28:50 +08:00
TELAPI BOOL DoDimSerialNumber(AcDbObjectId id, int idx);
TELAPI void DoDimPipeSerialNumber(SSearchPipeList *pListAll);
TELAPI int GetAncestorSerial(SSearchPipeList *pListLast);
TELAPI int GetFirstAncestorSerial(SSearchPipeList *pListLast);
TELAPI void CalcPipeLength2(SSearchPipeList *pListAll, SSearchPipeList *pListFront);
TELAPI void CalcPipeLength(SSearchPipeList *pListAll);
TELAPI SSearchPipeList *GetNextDimNode2(SSearchPipeList *pListAll, SSearchPipeList *pDisadvantage);
TELAPI int DoSerialNumber2(SSearchPipeList *pListLast, int idx);
TELAPI BOOL CalcLstPipeLength(SSearchPipeList *pListAll, SSearchPipeList *pListFront, PickSet &ss);
TELAPI SSearchPipeList *GetPipeNodeByName(SSearchPipeList *pListAll, CString csName, SSearchPipeList *pNode);
#endif // !defined(AFX_SSEARCHPIPELIST_H__C5693932_4B07_4994_B306_71DAE68AB9EF__INCLUDED_)