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

56 lines
1.2 KiB
C++

#pragma once
#include <set>
#include "EarThwormDef.h"
namespace MK_DIM
{
struct NodeDim
{
enum ENodeType
{
eDrainWell = 0, // 集水井
eDoghouse, // 料口
eVenDoghouse, // 通风口
eFireWall, // 防火墙
eEscapeHatch, // 逃生口
eOutlet, // 分支口
eEspJoint, // 变形缝
eNone,
};
struct _com_by_dist{ bool operator () (NodeDim &a, NodeDim &b) { return a.distFromHead < b.distFromHead; } };
typedef std::map<ENodeType, std::set<CString>> TypeRooms;
typedef std::map<CString, std::set<ENodeType>> RoomTypes;
AcGePoint3d pntIns;
// 节点类型-拥有此类节点的舱室数组
TypeRooms type_rooms;
RoomTypes room_types;
AcGeVector3d vt;
CString stake;
//节点名称
CString name;
// 从管廊起点到节点的距离
double distFromHead;
AcDbObjectId idEw;
};
void collectNodeInfo_Dim(AcDbObjectId idEw, std::vector<NodeDim> &nodeDims, bool includeFire);
void collectNodeInfo_Statistic(AcDbObjectId idEw, std::vector<NodeDim> &nodeDims, bool includeFire);
CString getNodeName(const NodeDim::ENodeType &type);
NodeDim::ENodeType getNodeType(const EFnctType &type);
NodeDim::ENodeType getNodeType(LPCTSTR psz);
}
namespace MK_DIM
{
void insertFireWallDim();
void insertNodeDim();
}