载入中...
搜索中...
未找到
BuildingTypes.h
浏览该文件的文档.
214 uint64_t surfaceRevision = 0;
Monotonic state revision for concurrency and change checks.
static constexpr StrongUint64 zero() noexcept
Returns the zero value for this strong type.
Definition StrongUint64.h:24
建筑放置模块入口:定义 / 放置世界 / 鬼影 / 变更事件的脚本绑定点。 设计文档:docs/dev/建筑放置系统设计.md
Definition Building.cpp:7
@ Vertical
@ Horizontal
std::string otherBuildingId
Previous definition id for a replace event; empty for other actions.
Definition BuildingTypes.h:251
std::unordered_map< std::string, std::string > visual2d
Definition BuildingTypes.h:152
std::vector< float > freeFootprintVertices
Optional convex local polygon as x/y pairs in grid-cell units, centered on the free anchor.
Definition BuildingTypes.h:118
std::string structuralRole
Structural classification such as floor, wall, ceiling, roof, or stair.
Definition BuildingTypes.h:122
std::unordered_map< std::string, int > cost
Definition BuildingTypes.h:149
std::unordered_map< std::string, std::string > visual3d
Definition BuildingTypes.h:154
std::unordered_map< std::string, std::string > extra
Definition BuildingTypes.h:150
std::string supportTag
Optional tag required on every supporting instance.
Definition BuildingTypes.h:126
std::string connectionGroup
Edge topology compatibility group; empty falls back to building id.
Definition BuildingTypes.h:120
std::vector< uint8_t > footprintMask
可选占地掩码,长度 footprintW*footprintH;空表示实心矩形。行主序、原点在最小 x/y。
Definition BuildingTypes.h:130
std::vector< int > forbidTerrain
Definition BuildingTypes.h:144
std::vector< std::string > tags
Definition BuildingTypes.h:141
Canonical address of one logical grid vertex used by corner objects.
Definition BuildingTypes.h:39
bool operator==(const CornerAddress &) const =default
Operator ==.
bool operator==(const EdgeAddress &) const =default
Operator ==.
One cubic Bezier control point in logical grid-vertex space.
Definition BuildingTypes.h:58
bool operator==(const EdgeCurveControlPoint &) const =default
Operator ==.
Strong world-local identity of one authoritative edge-curve group.
Definition BuildingTypes.h:48
bool operator==(const EdgeCurveGroupId &) const =default
Operator ==.
World-owned authoritative description and membership of one committed edge curve.
Definition BuildingTypes.h:80
bool operator==(const EdgeCurveGroup &) const =default
Operator ==.
std::vector< EdgeCurveSurfaceSample > surfaceSamples
Owning subdivisions+1 centerline frames for deterministic surface conformance.
Definition BuildingTypes.h:93
std::string surfaceId
Stable provider-returned surface identity shared by every committed sample.
Definition BuildingTypes.h:90
std::vector< EdgeCurveControlPoint > controlPoints
Definition BuildingTypes.h:84
std::string surfaceProviderName
Provider key used to author surfaceSamples; empty means planar projection.
Definition BuildingTypes.h:88
std::vector< int > instanceIds
Definition BuildingTypes.h:86
One committed 3D centerline frame sampled from a custom placement surface.
Definition BuildingTypes.h:67
bool operator==(const EdgeCurveSurfaceSample &) const =default
Operator ==.
One persistent member of a placed building's logical garrison.
Definition BuildingTypes.h:177
std::vector< float > freeFootprintVertices
Committed convex local polygon as world-plane x/y pairs; empty selects OBB or circle.
Definition BuildingTypes.h:202
std::vector< GarrisonMember > garrison
Authoritative logical garrison membership, not a render list.
Definition BuildingTypes.h:233
EdgeCurveGroupId edgeCurveGroupId
Optional link to a world-owned curve group; zero means an ordinary edge.
Definition BuildingTypes.h:192
std::unordered_map< std::string, std::string > props
Definition BuildingTypes.h:228
std::vector< int > supportInstanceIds
Derived support links rebuilt from authoritative level/address data.
Definition BuildingTypes.h:231
CornerAddress corner
Canonical grid vertex when placementKind is corner.
Definition BuildingTypes.h:194
std::string surfaceId
Stable provider-local surface name used to create this placement; empty for unsurfaced placement.
Definition BuildingTypes.h:212
Owning before/after receipt produced by one committed placement edit.
Definition BuildingTypes.h:299
int surfaceSampleCount
Definition BuildingTypes.h:282
std::string surfaceId
Surface metadata available to validation rules for surface-derived ghosts.
Definition BuildingTypes.h:277
uint64_t surfaceRevision
Definition BuildingTypes.h:278
float surfaceHeightDelta
Definition BuildingTypes.h:284
float surfaceMaxSlopeDegrees
Definition BuildingTypes.h:283
Result metadata for an atomic rebuild of all derived structural links.
Definition BuildingTypes.h:311
int changedCount
Definition BuildingTypes.h:313
int inspectedCount
Definition BuildingTypes.h:312
Owning record of one committed dependent-first structural removal.
Definition BuildingTypes.h:305
std::vector< PlacedBuilding > removed
Removed instances in the exact order in which occupancy was released.
Definition BuildingTypes.h:307