载入中...
搜索中...
未找到
eve::building::BuildingDefinition结构体 参考

建筑模板(进程级注册表中的定义)。 更多...

#include <BuildingTypes.h>

Public 成员函数

bool hasTag (const std::string &tag) const
 查询辅助。
 
std::string getExtra (const std::string &key, const std::string &fallback={}) const
 Returns the extra.
 
std::string getVisual2d (const std::string &key, const std::string &fallback={}) const
 Returns the visual 2 d.
 
std::string getVisual3d (const std::string &key, const std::string &fallback={}) const
 Returns the visual 3 d.
 
int getCost (const std::string &resource, int fallback=0) const
 Returns the cost.
 
bool maskAt (int localX, int localY) const
 占地掩码在局部坐标 (localX, localY) 处是否占用。
 

Public 属性

std::string id
 
std::string displayName
 
std::string category
 
std::string channel
 占地格子尺寸。
 
std::string renderMode
 
std::string placementKind = "cell"
 Placement domain: cell (default), edge, corner, or free.
 
float freeRadiusCells = 0.25f
 Circular free-domain collision radius measured in grid-cell units.
 
float freeFootprintWidthCells = 0.f
 Optional oriented-box width in grid-cell units; positive width and height select OBB collision.
 
float freeFootprintHeightCells = 0.f
 Optional oriented-box height in grid-cell units; positive width and height select OBB collision.
 
std::vector< float > freeFootprintVertices
 Optional convex local polygon as x/y pairs in grid-cell units, centered on the free anchor.
 
std::string connectionGroup
 Edge topology compatibility group; empty falls back to building id.
 
std::string structuralRole
 Structural classification such as floor, wall, ceiling, roof, or stair.
 
std::string supportMode = "none"
 Structural support policy: none, cell_below, or corner_below.
 
std::string supportTag
 Optional tag required on every supporting instance.
 
int footprintW = 1
 
int footprintH = 1
 
std::vector< uint8_t > footprintMask
 可选占地掩码,长度 footprintW*footprintH;空表示实心矩形。行主序、原点在最小 x/y。
 
std::string snapMode = "grid"
 grid | cell | free | 自定义。
 
std::string rotationMode = "cardinal"
 none | cardinal | free。
 
std::string validateRule = "default"
 default | boundsOnly | overlapOk | 自定义。
 
float maxSurfaceSlopeDegrees = 180.f
 Maximum angle between a footprint normal and the grid-plane up axis.
 
float maxSurfaceHeightDelta = -1.f
 Maximum elevation range across a sampled footprint; negative disables it.
 
std::vector< std::string > tags
 
std::vector< int > requireTerrain
 空 = 不限制地形语义。
 
std::vector< int > forbidTerrain
 
std::string requireAdjacentTag
 非空:邻格需有带该 tag 的建筑。
 
int requireAdjacentTerrain = -1
 >=0:邻格地形语义;-1 = 不限。
 
std::unordered_map< std::string, int > cost
 
std::unordered_map< std::string, std::string > extra
 
std::unordered_map< std::string, std::string > visual2d
 
std::unordered_map< std::string, std::string > visual3d
 

详细描述

建筑模板(进程级注册表中的定义)。

在文件 BuildingTypes.h 第 100 行定义.

成员函数说明

◆ getCost()

int eve::building::BuildingDefinition::getCost ( const std::string &  resource,
int  fallback = 0 
) const

Returns the cost.

在文件 BuildingDef.cpp 第 37 行定义.

引用了 cost , 以及 resource.

◆ getExtra()

std::string eve::building::BuildingDefinition::getExtra ( const std::string &  key,
const std::string &  fallback = {} 
) const

Returns the extra.

在文件 BuildingDef.cpp 第 19 行定义.

引用了 extra , 以及 key.

◆ getVisual2d()

std::string eve::building::BuildingDefinition::getVisual2d ( const std::string &  key,
const std::string &  fallback = {} 
) const

Returns the visual 2 d.

在文件 BuildingDef.cpp 第 25 行定义.

引用了 key , 以及 visual2d.

◆ getVisual3d()

std::string eve::building::BuildingDefinition::getVisual3d ( const std::string &  key,
const std::string &  fallback = {} 
) const

Returns the visual 3 d.

在文件 BuildingDef.cpp 第 31 行定义.

引用了 key , 以及 visual3d.

◆ hasTag()

bool eve::building::BuildingDefinition::hasTag ( const std::string &  tag) const

查询辅助。

在文件 BuildingDef.cpp 第 15 行定义.

引用了 tag , 以及 tags.

◆ maskAt()

bool eve::building::BuildingDefinition::maskAt ( int  localX,
int  localY 
) const

占地掩码在局部坐标 (localX, localY) 处是否占用。

在文件 BuildingDef.cpp 第 42 行定义.

引用了 footprintH, footprintMask, footprintW , 以及 idx.

类成员变量说明

◆ category

std::string eve::building::BuildingDefinition::category

在文件 BuildingTypes.h 第 103 行定义.

◆ channel

◆ connectionGroup

std::string eve::building::BuildingDefinition::connectionGroup

Edge topology compatibility group; empty falls back to building id.

在文件 BuildingTypes.h 第 120 行定义.

被这些函数引用 eve::building::PlacementSystem::edgeConnectionMask().

◆ cost

std::unordered_map<std::string, int> eve::building::BuildingDefinition::cost

在文件 BuildingTypes.h 第 149 行定义.

被这些函数引用 getCost().

◆ displayName

std::string eve::building::BuildingDefinition::displayName

在文件 BuildingTypes.h 第 102 行定义.

被这些函数引用 eve::building::BuildingRegistry::registerBuilding().

◆ extra

std::unordered_map<std::string, std::string> eve::building::BuildingDefinition::extra

在文件 BuildingTypes.h 第 150 行定义.

被这些函数引用 getExtra().

◆ footprintH

◆ footprintMask

std::vector<uint8_t> eve::building::BuildingDefinition::footprintMask

可选占地掩码,长度 footprintW*footprintH;空表示实心矩形。行主序、原点在最小 x/y。

在文件 BuildingTypes.h 第 130 行定义.

被这些函数引用 eve::building::PlacementSystem::effectiveFootprint(), eve::building::PlacementSystem::foreachFootprintCell(), maskAt() , 以及 eve::building::BuildingRegistry::registerBuilding().

◆ footprintW

◆ forbidTerrain

std::vector<int> eve::building::BuildingDefinition::forbidTerrain

在文件 BuildingTypes.h 第 144 行定义.

◆ freeFootprintHeightCells

float eve::building::BuildingDefinition::freeFootprintHeightCells = 0.f

Optional oriented-box height in grid-cell units; positive width and height select OBB collision.

在文件 BuildingTypes.h 第 116 行定义.

被这些函数引用 eve::building::BuildingRegistry::registerBuilding() , 以及 eve::building::PlacementSystem::sampleSurfacePatch().

◆ freeFootprintVertices

std::vector<float> eve::building::BuildingDefinition::freeFootprintVertices

Optional convex local polygon as x/y pairs in grid-cell units, centered on the free anchor.

在文件 BuildingTypes.h 第 118 行定义.

被这些函数引用 eve::building::BuildingRegistry::registerBuilding() , 以及 eve::building::PlacementSystem::sampleSurfacePatch().

◆ freeFootprintWidthCells

float eve::building::BuildingDefinition::freeFootprintWidthCells = 0.f

Optional oriented-box width in grid-cell units; positive width and height select OBB collision.

在文件 BuildingTypes.h 第 114 行定义.

被这些函数引用 eve::building::BuildingRegistry::registerBuilding() , 以及 eve::building::PlacementSystem::sampleSurfacePatch().

◆ freeRadiusCells

float eve::building::BuildingDefinition::freeRadiusCells = 0.25f

Circular free-domain collision radius measured in grid-cell units.

在文件 BuildingTypes.h 第 112 行定义.

被这些函数引用 eve::building::BuildingRegistry::registerBuilding().

◆ id

std::string eve::building::BuildingDefinition::id

◆ maxSurfaceHeightDelta

float eve::building::BuildingDefinition::maxSurfaceHeightDelta = -1.f

Maximum elevation range across a sampled footprint; negative disables it.

在文件 BuildingTypes.h 第 140 行定义.

被这些函数引用 eve::building::PlacementSystem::moveFreeSurfaceResult() , 以及 eve::building::PlacementSystem::placeFreeSurfaceResult().

◆ maxSurfaceSlopeDegrees

float eve::building::BuildingDefinition::maxSurfaceSlopeDegrees = 180.f

Maximum angle between a footprint normal and the grid-plane up axis.

在文件 BuildingTypes.h 第 138 行定义.

被这些函数引用 eve::building::PlacementSystem::moveFreeSurfaceResult(), eve::building::PlacementSystem::placeFreeSurfaceResult() , 以及 eve::building::BuildingRegistry::registerBuilding().

◆ placementKind

◆ renderMode

std::string eve::building::BuildingDefinition::renderMode

视觉形态:"2d" | "3d",空 = 由渲染桥默认(2d)。仅元数据,building 模块不渲染。

在文件 BuildingTypes.h 第 108 行定义.

◆ requireAdjacentTag

std::string eve::building::BuildingDefinition::requireAdjacentTag

非空:邻格需有带该 tag 的建筑。

在文件 BuildingTypes.h 第 146 行定义.

◆ requireAdjacentTerrain

int eve::building::BuildingDefinition::requireAdjacentTerrain = -1

>=0:邻格地形语义;-1 = 不限。

在文件 BuildingTypes.h 第 148 行定义.

◆ requireTerrain

std::vector<int> eve::building::BuildingDefinition::requireTerrain

空 = 不限制地形语义。

在文件 BuildingTypes.h 第 143 行定义.

◆ rotationMode

std::string eve::building::BuildingDefinition::rotationMode = "cardinal"

◆ snapMode

std::string eve::building::BuildingDefinition::snapMode = "grid"

grid | cell | free | 自定义。

在文件 BuildingTypes.h 第 132 行定义.

被这些函数引用 eve::building::BuildingRegistry::registerBuilding().

◆ structuralRole

std::string eve::building::BuildingDefinition::structuralRole

Structural classification such as floor, wall, ceiling, roof, or stair.

在文件 BuildingTypes.h 第 122 行定义.

◆ supportMode

std::string eve::building::BuildingDefinition::supportMode = "none"

Structural support policy: none, cell_below, or corner_below.

在文件 BuildingTypes.h 第 124 行定义.

被这些函数引用 eve::building::PlacementSystem::rebuildStructuralLinksResult() , 以及 eve::building::BuildingRegistry::registerBuilding().

◆ supportTag

std::string eve::building::BuildingDefinition::supportTag

Optional tag required on every supporting instance.

在文件 BuildingTypes.h 第 126 行定义.

◆ tags

◆ validateRule

std::string eve::building::BuildingDefinition::validateRule = "default"

default | boundsOnly | overlapOk | 自定义。

在文件 BuildingTypes.h 第 136 行定义.

被这些函数引用 eve::building::BuildingRegistry::registerBuilding().

◆ visual2d

std::unordered_map<std::string, std::string> eve::building::BuildingDefinition::visual2d

2D 视觉元数据:texture / frame / anchorX / anchorY / layer / colorR..B 等。

在文件 BuildingTypes.h 第 152 行定义.

被这些函数引用 getVisual2d().

◆ visual3d

std::unordered_map<std::string, std::string> eve::building::BuildingDefinition::visual3d

3D 视觉元数据:mesh / height / colorR..B / offsetX..Z 等。

在文件 BuildingTypes.h 第 154 行定义.

被这些函数引用 getVisual3d().


该结构体的文档由以下文件生成: