载入中...
搜索中...
未找到
eve::building::PlacementWorld类 参考

格子型建筑放置世界(脚本可直接操作)。 更多...

#include <PlacementWorld.h>

Public 类型

using ChannelMap = std::unordered_map< std::string, std::vector< int > >
 

Public 成员函数

 PlacementWorld (int width, int height, float cellSize=32.f)
 创建 width×height 的格子世界,cellSize 为像素/格。
 
 ~PlacementWorld ()
 Placement world.
 
 PlacementWorld (const PlacementWorld &)=delete
 
PlacementWorld & operator= (const PlacementWorld &)=delete
 
void destroy ()
 释放资源并使其失效。
 
std::string getId () const
 世界 id(用于变更事件定位)。
 
void setId (const std::string &id)
 Sets the id.
 
int getWidth () const
 尺寸 / 格子大小 / 原点。
 
int getHeight () const
 Returns the height.
 
float getCellSize () const
 Returns the cell size.
 
void setCellSize (float s)
 Sets the cell size.
 
float getOriginX () const
 Returns the origin x.
 
float getOriginY () const
 Returns the origin y.
 
void setOrigin (float x, float y)
 Sets the origin.
 
float getFloorHeight () const
 Height between discrete floors along the grid plane normal.
 
void setFloorHeight (float height)
 Set positive height between discrete floors. Invalid values are ignored.
 
int getActiveLevel () const
 Floor used by compatibility placement/query APIs.
 
void setActiveLevel (int level)
 Select the floor used by compatibility placement/query APIs.
 
std::string getSnapMode () const
 放置策略:吸附模式 / 校验规则。
 
void setSnapMode (const std::string &mode)
 Sets the snap mode.
 
std::string getValidateRule () const
 Returns the validate rule.
 
void setValidateRule (const std::string &rule)
 Sets the validate rule.
 
void setExtra (const std::string &key, const std::string &value)
 世界级额外属性(键值)。
 
std::string getExtra (const std::string &key, const std::string &fallback={}) const
 Returns the extra.
 
const grid::GridConfig & getGrid () const
 Returns the grid.
 
grid::GridConfig & getGrid ()
 Returns the grid.
 
void setGridLayout (const std::string &layout)
 Sets the grid layout.
 
std::string getGridLayoutName () const
 Returns the grid layout name.
 
void setGridPlane (const std::string &plane)
 Sets the grid plane.
 
std::string getGridPlaneName () const
 Returns the grid plane name.
 
void setCellGap (float gapX, float gapY)
 Sets the cell gap.
 
void setHexSideLength (float s)
 Sets the hex side length.
 
void setStagger (const std::string &axis, const std::string &index)
 Sets the stagger.
 
void setGridFromLayer (map::TileLayer *layer)
 Sets the grid from layer.
 
bool hasGridFromLayer () const
 True when grid from layer.
 
int worldToCellX (float worldX) const
 世界像素 ↔ 格子坐标。
 
int worldToCellY (float worldY) const
 World to cell y.
 
float cellToWorldX (int cellX) const
 Cell to world x.
 
float cellToWorldY (int cellY) const
 Cell to world y.
 
void cellToWorldPlane (int cellX, int cellY, float &px, float &py) const
 Cell to world plane.
 
void cellToWorld3D (int cellX, int cellY, float elevation, float &worldX, float &worldY, float &worldZ) const
 Cell to world 3 d.
 
float cellToWorld3DX (int cellX, int cellY, float elevation) const
 Cell to world 3 dx.
 
float cellToWorld3DY (int cellX, int cellY, float elevation) const
 Cell to world 3 dy.
 
float cellToWorld3DZ (int cellX, int cellY, float elevation) const
 Cell to world 3 dz.
 
void worldToCell3D (float worldX, float worldY, float worldZ, int &cellX, int &cellY) const
 World to cell 3 d.
 
int worldToCell3DX (float worldX, float worldY, float worldZ) const
 World to cell 3 dx.
 
int worldToCell3DY (float worldX, float worldY, float worldZ) const
 World to cell 3 dy.
 
void fillTerrain (int semantic)
 地形语义(占用检查用)。
 
void setTerrain (int cellX, int cellY, int semantic)
 Sets the terrain.
 
int getTerrain (int cellX, int cellY) const
 Returns the terrain.
 
bool inBounds (int cellX, int cellY) const
 In bounds.
 
void bindTileLayer (map::TileLayer *layer)
 Binds tile layer.
 
map::TileLayer * getTileLayer () const
 Returns the tile layer.
 
void clearTileLayer ()
 Clears tile layer.
 
void setTerrainGidMapJson (const std::string &json)
 Sets the terrain gid map json.
 
void setTerrainGid (int gid, int semantic)
 Sets the terrain gid.
 
void clearTerrainGidMap ()
 Clears terrain gid map.
 
int getOccupant (int cellX, int cellY) const
 占用查询:格子上建筑实例 / 是否为空。
 
int getOccupantInChannel (const std::string &channel, int cellX, int cellY) const
 Returns the occupant in channel.
 
int getOccupantAtLevel (const std::string &channel, int cellX, int cellY, int level) const
 Query one channel at an explicit discrete floor.
 
int getAnyOccupant (int cellX, int cellY) const
 Returns the any occupant.
 
int getAnyOccupantAtLevel (int cellX, int cellY, int level) const
 Query the first occupant across channels at an explicit floor.
 
bool isCellEmpty (int cellX, int cellY) const
 True when cell empty.
 
bool isCellEmptyInChannel (const std::string &channel, int cellX, int cellY) const
 已放置建筑实例查询。
 
int getEdgeOccupant (const std::string &channel, int cellX, int cellY, const std::string &direction) const
 Return the occupant of a canonicalized north/east/south/west cell edge.
 
int getEdgeOccupantAtLevel (const std::string &channel, int cellX, int cellY, const std::string &direction, int level) const
 Query a canonical edge at an explicit discrete floor.
 
bool isEdgeEmpty (const std::string &channel, int cellX, int cellY, const std::string &direction) const
 Return whether an edge is unoccupied in the requested channel.
 
int getCornerOccupant (const std::string &channel, int vertexX, int vertexY) const
 Query a corner-domain occupant at the active floor.
 
int getCornerOccupantAtLevel (const std::string &channel, int vertexX, int vertexY, int level) const
 Query a corner-domain occupant at an explicit floor.
 
int getAnyCornerOccupantAtLevel (int vertexX, int vertexY, int level) const
 Query the first corner occupant across channels at an explicit floor.
 
bool isCornerEmpty (const std::string &channel, int vertexX, int vertexY) const
 Return whether a corner-domain address is empty in one channel.
 
int getFreeOccupant (const std::string &channel, float worldX, float worldY) const
 Return the first free-domain object whose circular footprint contains the point.
 
int getFreeOccupantAtLevel (const std::string &channel, float worldX, float worldY, int level) const
 Query a free-domain footprint at an explicit floor.
 
int getEdgeConnectionMask (int instanceId) const
 Six-bit local connection mask for an edge object's compatible neighbours.
 
std::string getEdgeVariant (int instanceId) const
 Stable topology variant name for an edge instance.
 
int getBuildingCount () const
 Returns the building count.
 
bool hasBuilding (int instanceId) const
 True when building.
 
std::string getBuildingId (int instanceId) const
 Returns the building id.
 
int getBuildingCellX (int instanceId) const
 Returns the building cell x.
 
int getBuildingCellY (int instanceId) const
 Returns the building cell y.
 
float getBuildingWorldX (int instanceId) const
 Returns the building world x.
 
float getBuildingWorldY (int instanceId) const
 Returns the building world y.
 
float getBuildingWorldZ (int instanceId) const
 Returns the building world z.
 
float getBuildingElevation (int instanceId) const
 Returns the building elevation.
 
int getBuildingLevel (int instanceId) const
 Return an instance's authoritative discrete floor.
 
int getBuildingSupportCount (int instanceId) const
 Number of direct structural supports used by an instance.
 
int getBuildingSupportAt (int instanceId, int index) const
 Direct structural support id by stable footprint order, or zero.
 
int getBuildingDependentCount (int instanceId) const
 Number of instances that directly depend on this instance.
 
std::string getBuildingSurfaceId (int instanceId) const
 Surface provider identity captured when this instance was placed.
 
int64_t getBuildingSurfaceRevision (int instanceId) const
 Surface provider revision captured when this instance was placed.
 
float getBuildingSurfaceNormalX (int instanceId) const
 X component of the unit surface normal captured at placement time.
 
float getBuildingSurfaceNormalY (int instanceId) const
 Y component of the unit surface normal captured at placement time.
 
float getBuildingSurfaceNormalZ (int instanceId) const
 Z component of the unit surface normal captured at placement time.
 
std::string getBuildingChannel (int instanceId) const
 Returns the building channel.
 
float getBuildingRotation (int instanceId) const
 Returns the building rotation.
 
std::string getBuildingProp (int instanceId, const std::string &key, const std::string &fallback={}) const
 Returns the building prop.
 
void setBuildingProp (int instanceId, const std::string &key, const std::string &value)
 Sets the building prop.
 
bool buildingHasTag (int instanceId, const std::string &tag) const
 Building has tag.
 
int getBuildingInstanceAt (int index) const
 按插入顺序取实例 id。
 
int getEdgeCurveGroupCount () const
 Number of complete authoritative edge-curve groups in this world.
 
EdgeCurveGroupId nextEdgeCurveGroupId () const
 Return the next monotonic curve-group identity without reserving it.
 
std::vector< EdgeCurveGroupId > edgeCurveGroupIds () const
 Return an owning ascending list of all curve-group identities.
 
eve::Result< EdgeCurveGroup > edgeCurveGroup (EdgeCurveGroupId id) const
 Return an owning curve-group snapshot.
 
eve::Result< EdgeCurveGroup > edgeCurveGroupForInstance (int instanceId) const
 Return the owning curve-group snapshot linked by an edge instance.
 
bool canPlace (const std::string &buildingId, int cellX, int cellY, float rotationDeg=0.f)
 便捷操作(转发 PlacementSystem):放置 / 移除 / 移动。
 
std::string canPlaceReason (const std::string &buildingId, int cellX, int cellY, float rotationDeg=0.f)
 Can place reason.
 
int placeAt (const std::string &buildingId, int cellX, int cellY, float rotationDeg=0.f)
 Place at.
 
int placeAtWorld (const std::string &buildingId, float worldX, float worldY, float rotationDeg=0.f)
 Place at world.
 
int placeAtWorld3D (const std::string &buildingId, float worldX, float worldY, float worldZ, float rotationDeg=0.f)
 Place at world 3 d.
 
int placeGhost (Ghost *ghost)
 Place ghost.
 
int placeEdge (const std::string &buildingId, int cellX, int cellY, const std::string &direction)
 Place an edge definition on a north/east/south/west edge; returns instance id or 0.
 
bool canPlaceEdge (const std::string &buildingId, int cellX, int cellY, const std::string &direction)
 Validate edge placement without mutation.
 
std::string canPlaceEdgeReason (const std::string &buildingId, int cellX, int cellY, const std::string &direction)
 Stable rejection token for edge placement.
 
int placeCorner (const std::string &buildingId, int vertexX, int vertexY)
 Compatibility-only script projection of canonical corner placement.
 
bool canPlaceCorner (const std::string &buildingId, int vertexX, int vertexY)
 Validate corner placement without mutation.
 
std::string canPlaceCornerReason (const std::string &buildingId, int vertexX, int vertexY)
 Stable corner placement rejection token.
 
int placeFree (const std::string &buildingId, float worldX, float worldY, float elevation=0.f, float rotationDeg=0.f)
 Compatibility-only script projection of exact free placement.
 
bool canPlaceFree (const std::string &buildingId, float worldX, float worldY)
 Can place free.
 
std::string canPlaceFreeReason (const std::string &buildingId, float worldX, float worldY)
 Can place free reason.
 
bool removeBuilding (int instanceId)
 Removes building.
 
std::string canRemoveBuildingReason (int instanceId) const
 Stable rejection token for ordinary removal (support_in_use when depended on).
 
int removeBuildingCascade (int instanceId)
 Compatibility-only script projection of the canonical Result removal API.
 
bool moveBuilding (int instanceId, int cellX, int cellY, float rotationDeg=-1.f)
 Moves building.
 
void clearBuildings ()
 Clears buildings.
 
std::unique_ptr< PlacementWorld > cloneState () const
 Clone complete logical state into an independently owned world candidate.
 
void swapState (PlacementWorld &candidate) noexcept
 Atomically exchange complete logical state with a prepared candidate.
 
const std::vector< int > & occupancy () const
 Occupancy.
 
std::vector< int > & occupancy ()
 Occupancy.
 
const std::vector< int > & terrain () const
 Terrain.
 
std::vector< int > & terrain ()
 Terrain.
 
const std::unordered_map< std::string, std::vector< int > > & allChannels () const
 
std::unordered_map< std::string, std::vector< int > > & allChannels ()
 
std::vector< int > & channelOccupancy (const std::string &channel)
 Channel occupancy.
 
std::vector< int > & channelOccupancy (const std::string &channel, int level)
 Mutable occupancy storage for a channel and explicit floor.
 
const std::unordered_map< int, PlacedBuilding > & buildings () const
 
std::unordered_map< int, PlacedBuilding > & buildings ()
 

友元

class PlacementSystem
 

详细描述

格子型建筑放置世界(脚本可直接操作)。

在文件 PlacementWorld.h 第 32 行定义.

成员类型定义说明

◆ ChannelMap

using eve::building::PlacementWorld::ChannelMap = std::unordered_map<std::string, std::vector<int> >

在文件 PlacementWorld.h 第 34 行定义.

构造及析构函数说明

◆ PlacementWorld() [1/2]

eve::building::PlacementWorld::PlacementWorld ( int  width,
int  height,
float  cellSize = 32.f 
)

创建 width×height 的格子世界,cellSize 为像素/格。

在文件 PlacementWorld.cpp 第 17 行定义.

引用了 eve::building::PlacementSystem::ensureBuiltins(), height , 以及 width.

◆ ~PlacementWorld()

eve::building::PlacementWorld::~PlacementWorld ( )
default

Placement world.

◆ PlacementWorld() [2/2]

eve::building::PlacementWorld::PlacementWorld ( const PlacementWorld &  )
delete

成员函数说明

◆ allChannels() [1/2]

std::unordered_map< std::string, std::vector< int > > & eve::building::PlacementWorld::allChannels ( )
inline

在文件 PlacementWorld.h 第 351 行定义.

◆ allChannels() [2/2]

const std::unordered_map< std::string, std::vector< int > > & eve::building::PlacementWorld::allChannels ( ) const
inline

在文件 PlacementWorld.h 第 348 行定义.

◆ bindTileLayer()

void eve::building::PlacementWorld::bindTileLayer ( map::TileLayer *  layer)

Binds tile layer.

在文件 PlacementWorld.cpp 第 237 行定义.

引用了 layer , 以及 setGridFromLayer().

◆ buildingHasTag()

bool eve::building::PlacementWorld::buildingHasTag ( int  instanceId,
const std::string &  tag 
) const

Building has tag.

在文件 PlacementWorld.cpp 第 609 行定义.

引用了 tag.

◆ buildings() [1/2]

std::unordered_map< int, PlacedBuilding > & eve::building::PlacementWorld::buildings ( )
inline

在文件 PlacementWorld.h 第 358 行定义.

◆ buildings() [2/2]

◆ canPlace()

bool eve::building::PlacementWorld::canPlace ( const std::string &  buildingId,
int  cellX,
int  cellY,
float  rotationDeg = 0.f 
)

便捷操作(转发 PlacementSystem):放置 / 移除 / 移动。

在文件 PlacementWorld.cpp 第 621 行定义.

引用了 eve::building::PlacementSystem::canPlace().

◆ canPlaceCorner()

bool eve::building::PlacementWorld::canPlaceCorner ( const std::string &  buildingId,
int  vertexX,
int  vertexY 
)

Validate corner placement without mutation.

在文件 PlacementWorld.cpp 第 703 行定义.

引用了 eve::building::PlacementSystem::canPlaceCorner().

◆ canPlaceCornerReason()

std::string eve::building::PlacementWorld::canPlaceCornerReason ( const std::string &  buildingId,
int  vertexX,
int  vertexY 
)

Stable corner placement rejection token.

在文件 PlacementWorld.cpp 第 707 行定义.

引用了 eve::building::PlacementSystem::canPlaceCorner().

◆ canPlaceEdge()

bool eve::building::PlacementWorld::canPlaceEdge ( const std::string &  buildingId,
int  cellX,
int  cellY,
const std::string &  direction 
)

Validate edge placement without mutation.

在文件 PlacementWorld.cpp 第 687 行定义.

引用了 eve::building::PlacementSystem::canPlaceEdge() , 以及 direction.

◆ canPlaceEdgeReason()

std::string eve::building::PlacementWorld::canPlaceEdgeReason ( const std::string &  buildingId,
int  cellX,
int  cellY,
const std::string &  direction 
)

Stable rejection token for edge placement.

在文件 PlacementWorld.cpp 第 692 行定义.

引用了 eve::building::PlacementSystem::canPlaceEdge() , 以及 direction.

◆ canPlaceFree()

bool eve::building::PlacementWorld::canPlaceFree ( const std::string &  buildingId,
float  worldX,
float  worldY 
)

Can place free.

在文件 PlacementWorld.cpp 第 720 行定义.

引用了 eve::building::PlacementSystem::canPlaceFree().

◆ canPlaceFreeReason()

std::string eve::building::PlacementWorld::canPlaceFreeReason ( const std::string &  buildingId,
float  worldX,
float  worldY 
)

Can place free reason.

在文件 PlacementWorld.cpp 第 724 行定义.

引用了 eve::building::PlacementSystem::canPlaceFree().

◆ canPlaceReason()

std::string eve::building::PlacementWorld::canPlaceReason ( const std::string &  buildingId,
int  cellX,
int  cellY,
float  rotationDeg = 0.f 
)

Can place reason.

在文件 PlacementWorld.cpp 第 626 行定义.

引用了 eve::building::PlacementSystem::canPlace().

◆ canRemoveBuildingReason()

std::string eve::building::PlacementWorld::canRemoveBuildingReason ( int  instanceId) const

Stable rejection token for ordinary removal (support_in_use when depended on).

在文件 PlacementWorld.cpp 第 772 行定义.

引用了 getBuildingDependentCount() , 以及 hasBuilding().

◆ cellToWorld3D()

void eve::building::PlacementWorld::cellToWorld3D ( int  cellX,
int  cellY,
float  elevation,
float &  worldX,
float &  worldY,
float &  worldZ 
) const

Cell to world 3 d.

3D 换算:cell + 高度 -> 真实世界坐标。

在文件 PlacementWorld.cpp 第 150 行定义.

引用了 eve::grid::cellToWorld(), elevation, px, py , 以及 eve::grid::XZ.

被这些函数引用 cellToWorld3DX(), cellToWorld3DY() , 以及 cellToWorld3DZ().

◆ cellToWorld3DX()

float eve::building::PlacementWorld::cellToWorld3DX ( int  cellX,
int  cellY,
float  elevation 
) const

Cell to world 3 dx.

在文件 PlacementWorld.cpp 第 165 行定义.

引用了 cellToWorld3D(), elevation, wx, wy , 以及 wz.

◆ cellToWorld3DY()

float eve::building::PlacementWorld::cellToWorld3DY ( int  cellX,
int  cellY,
float  elevation 
) const

Cell to world 3 dy.

在文件 PlacementWorld.cpp 第 171 行定义.

引用了 cellToWorld3D(), elevation, wx, wy , 以及 wz.

◆ cellToWorld3DZ()

float eve::building::PlacementWorld::cellToWorld3DZ ( int  cellX,
int  cellY,
float  elevation 
) const

Cell to world 3 dz.

在文件 PlacementWorld.cpp 第 177 行定义.

引用了 cellToWorld3D(), elevation, wx, wy , 以及 wz.

◆ cellToWorldPlane()

void eve::building::PlacementWorld::cellToWorldPlane ( int  cellX,
int  cellY,
float &  px,
float &  py 
) const

Cell to world plane.

平面坐标对(非正交布局下两个轴必须一起换算)。

在文件 PlacementWorld.cpp 第 146 行定义.

引用了 eve::grid::cellToWorld(), px , 以及 py.

被这些函数引用 eve::building_editing::BuildingPlacementTarget::curveLogicalPointFromWorld(), eve::building_editing::BuildingPlacementTarget::edgeCubicBezierGizmo() , 以及 eve::building_editing::BuildingPlacementTarget::makeMove().

◆ cellToWorldX()

float eve::building::PlacementWorld::cellToWorldX ( int  cellX) const

Cell to world x.

在文件 PlacementWorld.cpp 第 134 行定义.

引用了 eve::grid::cellToWorld(), px , 以及 py.

◆ cellToWorldY()

float eve::building::PlacementWorld::cellToWorldY ( int  cellY) const

Cell to world y.

在文件 PlacementWorld.cpp 第 140 行定义.

引用了 eve::grid::cellToWorld(), px , 以及 py.

◆ channelOccupancy() [1/2]

std::vector< int > & eve::building::PlacementWorld::channelOccupancy ( const std::string &  channel)

Channel occupancy.

取某通道占用数组;空通道返回默认 occupancy_,其它懒创建。

在文件 PlacementWorld.cpp 第 311 行定义.

引用了 channelOccupancy().

被这些函数引用 channelOccupancy().

◆ channelOccupancy() [2/2]

std::vector< int > & eve::building::PlacementWorld::channelOccupancy ( const std::string &  channel,
int  level 
)

Mutable occupancy storage for a channel and explicit floor.

在文件 PlacementWorld.cpp 第 315 行定义.

引用了 level, occupancy() , 以及 required.

◆ clearBuildings()

void eve::building::PlacementWorld::clearBuildings ( )

Clears buildings.

在文件 PlacementWorld.cpp 第 739 行定义.

引用了 eve::building::PlacementSystem::clearBuildings().

◆ clearTerrainGidMap()

void eve::building::PlacementWorld::clearTerrainGidMap ( )

Clears terrain gid map.

在文件 PlacementWorld.cpp 第 276 行定义.

◆ clearTileLayer()

void eve::building::PlacementWorld::clearTileLayer ( )

Clears tile layer.

在文件 PlacementWorld.cpp 第 246 行定义.

◆ cloneState()

std::unique_ptr< PlacementWorld > eve::building::PlacementWorld::cloneState ( ) const

Clone complete logical state into an independently owned world candidate.

在文件 PlacementWorld.cpp 第 741 行定义.

引用了 getCellSize().

被这些函数引用 eve::building_editing::BuildingPlacementTarget::cloneDomainState() , 以及 eve::building_editing::BuildingPlacementTarget::makeUpdateEdgeCubicBezier().

◆ destroy()

void eve::building::PlacementWorld::destroy ( )

释放资源并使其失效。

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

◆ edgeCurveGroup()

eve::Result< EdgeCurveGroup > eve::building::PlacementWorld::edgeCurveGroup ( EdgeCurveGroupId  id) const

Return an owning curve-group snapshot.

返回
NotFound when the strong world-local id is absent. @thread Caller-thread only; the returned value remains valid across world mutation.

在文件 PlacementWorld.cpp 第 652 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::NotFound, eve::Result< T >::success() , 以及 value.

被这些函数引用 edgeCurveGroupForInstance() , 以及 eve::building_editing::BuildingPlacementTarget::snapshotValue().

◆ edgeCurveGroupForInstance()

eve::Result< EdgeCurveGroup > eve::building::PlacementWorld::edgeCurveGroupForInstance ( int  instanceId) const

Return the owning curve-group snapshot linked by an edge instance.

在文件 PlacementWorld.cpp 第 662 行定义.

引用了 edgeCurveGroup(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::NotFound , 以及 placed.

被这些函数引用 eve::building_editing::BuildingPlacementTarget::makeUpdateEdgeCubicBezier().

◆ edgeCurveGroupIds()

std::vector< EdgeCurveGroupId > eve::building::PlacementWorld::edgeCurveGroupIds ( ) const

Return an owning ascending list of all curve-group identities.

在文件 PlacementWorld.cpp 第 672 行定义.

引用了 group , 以及 ids.

被这些函数引用 eve::building_editing::BuildingPlacementTarget::snapshotValue().

◆ fillTerrain()

void eve::building::PlacementWorld::fillTerrain ( int  semantic)

地形语义(占用检查用)。

在文件 PlacementWorld.cpp 第 204 行定义.

引用了 semantic.

◆ getActiveLevel()

int eve::building::PlacementWorld::getActiveLevel ( ) const
inline

Floor used by compatibility placement/query APIs.

在文件 PlacementWorld.h 第 72 行定义.

◆ getAnyCornerOccupantAtLevel()

int eve::building::PlacementWorld::getAnyCornerOccupantAtLevel ( int  vertexX,
int  vertexY,
int  level 
) const

Query the first corner occupant across channels at an explicit floor.

在文件 PlacementWorld.cpp 第 518 行定义.

引用了 channels, getCornerOccupantAtLevel(), level , 以及 occupancy().

◆ getAnyOccupant()

int eve::building::PlacementWorld::getAnyOccupant ( int  cellX,
int  cellY 
) const

Returns the any occupant.

跨通道第一个占用实例(邻接等跨层查询用)。

在文件 PlacementWorld.cpp 第 354 行定义.

引用了 getAnyOccupantAtLevel().

◆ getAnyOccupantAtLevel()

int eve::building::PlacementWorld::getAnyOccupantAtLevel ( int  cellX,
int  cellY,
int  level 
) const

Query the first occupant across channels at an explicit floor.

在文件 PlacementWorld.cpp 第 358 行定义.

引用了 getOccupantAtLevel(), level, v , 以及 value.

被这些函数引用 getAnyOccupant().

◆ getBuildingCellX()

int eve::building::PlacementWorld::getBuildingCellX ( int  instanceId) const

Returns the building cell x.

在文件 PlacementWorld.cpp 第 396 行定义.

◆ getBuildingCellY()

int eve::building::PlacementWorld::getBuildingCellY ( int  instanceId) const

Returns the building cell y.

在文件 PlacementWorld.cpp 第 401 行定义.

◆ getBuildingChannel()

std::string eve::building::PlacementWorld::getBuildingChannel ( int  instanceId) const

Returns the building channel.

在文件 PlacementWorld.cpp 第 586 行定义.

◆ getBuildingCount()

int eve::building::PlacementWorld::getBuildingCount ( ) const

Returns the building count.

在文件 PlacementWorld.cpp 第 385 行定义.

被这些函数引用 eve::building_editing::BuildingPlacementTarget::snapshotValue().

◆ getBuildingDependentCount()

int eve::building::PlacementWorld::getBuildingDependentCount ( int  instanceId) const

Number of instances that directly depend on this instance.

在文件 PlacementWorld.cpp 第 453 行定义.

引用了 count , 以及 placed.

被这些函数引用 canRemoveBuildingReason().

◆ getBuildingElevation()

float eve::building::PlacementWorld::getBuildingElevation ( int  instanceId) const

Returns the building elevation.

垂直高度(平面法向)。

在文件 PlacementWorld.cpp 第 430 行定义.

◆ getBuildingId()

std::string eve::building::PlacementWorld::getBuildingId ( int  instanceId) const

Returns the building id.

在文件 PlacementWorld.cpp 第 391 行定义.

◆ getBuildingInstanceAt()

int eve::building::PlacementWorld::getBuildingInstanceAt ( int  index) const

按插入顺序取实例 id。

在文件 PlacementWorld.cpp 第 614 行定义.

引用了 index.

被这些函数引用 eve::building_editing::BuildingPlacementTarget::snapshotValue().

◆ getBuildingLevel()

int eve::building::PlacementWorld::getBuildingLevel ( int  instanceId) const

Return an instance's authoritative discrete floor.

在文件 PlacementWorld.cpp 第 435 行定义.

◆ getBuildingProp()

std::string eve::building::PlacementWorld::getBuildingProp ( int  instanceId,
const std::string &  key,
const std::string &  fallback = {} 
) const

Returns the building prop.

在文件 PlacementWorld.cpp 第 596 行定义.

引用了 key.

◆ getBuildingRotation()

float eve::building::PlacementWorld::getBuildingRotation ( int  instanceId) const

Returns the building rotation.

在文件 PlacementWorld.cpp 第 591 行定义.

◆ getBuildingSupportAt()

int eve::building::PlacementWorld::getBuildingSupportAt ( int  instanceId,
int  index 
) const

Direct structural support id by stable footprint order, or zero.

在文件 PlacementWorld.cpp 第 445 行定义.

引用了 found , 以及 index.

◆ getBuildingSupportCount()

int eve::building::PlacementWorld::getBuildingSupportCount ( int  instanceId) const

Number of direct structural supports used by an instance.

在文件 PlacementWorld.cpp 第 440 行定义.

引用了 found.

◆ getBuildingSurfaceId()

std::string eve::building::PlacementWorld::getBuildingSurfaceId ( int  instanceId) const

Surface provider identity captured when this instance was placed.

在文件 PlacementWorld.cpp 第 561 行定义.

◆ getBuildingSurfaceNormalX()

float eve::building::PlacementWorld::getBuildingSurfaceNormalX ( int  instanceId) const

X component of the unit surface normal captured at placement time.

在文件 PlacementWorld.cpp 第 571 行定义.

◆ getBuildingSurfaceNormalY()

float eve::building::PlacementWorld::getBuildingSurfaceNormalY ( int  instanceId) const

Y component of the unit surface normal captured at placement time.

在文件 PlacementWorld.cpp 第 576 行定义.

◆ getBuildingSurfaceNormalZ()

float eve::building::PlacementWorld::getBuildingSurfaceNormalZ ( int  instanceId) const

Z component of the unit surface normal captured at placement time.

在文件 PlacementWorld.cpp 第 581 行定义.

◆ getBuildingSurfaceRevision()

int64_t eve::building::PlacementWorld::getBuildingSurfaceRevision ( int  instanceId) const

Surface provider revision captured when this instance was placed.

在文件 PlacementWorld.cpp 第 566 行定义.

◆ getBuildingWorldX()

float eve::building::PlacementWorld::getBuildingWorldX ( int  instanceId) const

Returns the building world x.

在文件 PlacementWorld.cpp 第 406 行定义.

◆ getBuildingWorldY()

float eve::building::PlacementWorld::getBuildingWorldY ( int  instanceId) const

◆ getBuildingWorldZ()

float eve::building::PlacementWorld::getBuildingWorldZ ( int  instanceId) const

Returns the building world z.

真实世界 Z:XY 平面 = elevation;XZ 平面 = 平面第二轴。

在文件 PlacementWorld.cpp 第 421 行定义.

引用了 eve::building::PlacedBuilding::elevation, eve::building::PlacedBuilding::level, eve::building::PlacedBuilding::worldY , 以及 eve::grid::XZ.

◆ getCellSize()

float eve::building::PlacementWorld::getCellSize ( ) const

Returns the cell size.

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

被这些函数引用 cloneState() , 以及 eve::building_editing::BuildingPlacementTarget::edgeCubicBezierGizmo().

◆ getCornerOccupant()

int eve::building::PlacementWorld::getCornerOccupant ( const std::string &  channel,
int  vertexX,
int  vertexY 
) const

Query a corner-domain occupant at the active floor.

在文件 PlacementWorld.cpp 第 502 行定义.

引用了 getCornerOccupantAtLevel().

被这些函数引用 eve::building::PlacementSession::execute() , 以及 isCornerEmpty().

◆ getCornerOccupantAtLevel()

int eve::building::PlacementWorld::getCornerOccupantAtLevel ( const std::string &  channel,
int  vertexX,
int  vertexY,
int  level 
) const

Query a corner-domain occupant at an explicit floor.

在文件 PlacementWorld.cpp 第 507 行定义.

引用了 channels, found, index , 以及 level.

被这些函数引用 getAnyCornerOccupantAtLevel() , 以及 getCornerOccupant().

◆ getEdgeConnectionMask()

int eve::building::PlacementWorld::getEdgeConnectionMask ( int  instanceId) const

Six-bit local connection mask for an edge object's compatible neighbours.

在文件 PlacementWorld.cpp 第 553 行定义.

引用了 eve::building::PlacementSystem::edgeConnectionMask().

◆ getEdgeCurveGroupCount()

int eve::building::PlacementWorld::getEdgeCurveGroupCount ( ) const
inline

Number of complete authoritative edge-curve groups in this world.

在文件 PlacementWorld.h 第 269 行定义.

◆ getEdgeOccupant()

int eve::building::PlacementWorld::getEdgeOccupant ( const std::string &  channel,
int  cellX,
int  cellY,
const std::string &  direction 
) const

Return the occupant of a canonicalized north/east/south/west cell edge.

在文件 PlacementWorld.cpp 第 464 行定义.

引用了 direction , 以及 getEdgeOccupantAtLevel().

被这些函数引用 eve::building::PlacementSession::execute() , 以及 isEdgeEmpty().

◆ getEdgeOccupantAtLevel()

int eve::building::PlacementWorld::getEdgeOccupantAtLevel ( const std::string &  channel,
int  cellX,
int  cellY,
const std::string &  direction,
int  level 
) const

Query a canonical edge at an explicit discrete floor.

在文件 PlacementWorld.cpp 第 469 行定义.

引用了 eve::building::EdgeAddress::axis, eve::building::PlacementSystem::canonicalEdge(), channels, direction, edge, eve::building::Horizontal, inBounds(), index , 以及 level.

被这些函数引用 getEdgeOccupant().

◆ getEdgeVariant()

std::string eve::building::PlacementWorld::getEdgeVariant ( int  instanceId) const

Stable topology variant name for an edge instance.

在文件 PlacementWorld.cpp 第 557 行定义.

引用了 eve::building::PlacementSystem::edgeVariant().

◆ getExtra()

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

Returns the extra.

在文件 PlacementWorld.cpp 第 55 行定义.

引用了 key.

◆ getFloorHeight()

float eve::building::PlacementWorld::getFloorHeight ( ) const
inline

Height between discrete floors along the grid plane normal.

在文件 PlacementWorld.h 第 68 行定义.

被这些函数引用 eve::building_editing::BuildingPlacementTarget::edgeCubicBezierGizmo().

◆ getFreeOccupant()

int eve::building::PlacementWorld::getFreeOccupant ( const std::string &  channel,
float  worldX,
float  worldY 
) const

Return the first free-domain object whose circular footprint contains the point.

在文件 PlacementWorld.cpp 第 533 行定义.

引用了 getFreeOccupantAtLevel().

被这些函数引用 eve::building::PlacementSession::execute().

◆ getFreeOccupantAtLevel()

int eve::building::PlacementWorld::getFreeOccupantAtLevel ( const std::string &  channel,
float  worldX,
float  worldY,
int  level 
) const

Query a free-domain footprint at an explicit floor.

在文件 PlacementWorld.cpp 第 538 行定义.

引用了 eve::building::PlacementSystem::containsFreePoint(), found, level , 以及 placed.

被这些函数引用 getFreeOccupant().

◆ getGrid() [1/2]

grid::GridConfig & eve::building::PlacementWorld::getGrid ( )

Returns the grid.

在文件 PlacementWorld.cpp 第 35 行定义.

◆ getGrid() [2/2]

const grid::GridConfig & eve::building::PlacementWorld::getGrid ( ) const

Returns the grid.

在文件 PlacementWorld.cpp 第 34 行定义.

◆ getGridLayoutName()

std::string eve::building::PlacementWorld::getGridLayoutName ( ) const

Returns the grid layout name.

在文件 PlacementWorld.cpp 第 66 行定义.

引用了 eve::grid::GridConfig::layoutName().

◆ getGridPlaneName()

std::string eve::building::PlacementWorld::getGridPlaneName ( ) const

◆ getHeight()

int eve::building::PlacementWorld::getHeight ( ) const
inline

Returns the height.

在文件 PlacementWorld.h 第 54 行定义.

◆ getId()

std::string eve::building::PlacementWorld::getId ( ) const
inline

世界 id(用于变更事件定位)。

在文件 PlacementWorld.h 第 47 行定义.

被这些函数引用 eve::building_editing::BuildingPlacementTarget::snapshotValue().

◆ getOccupant()

int eve::building::PlacementWorld::getOccupant ( int  cellX,
int  cellY 
) const

占用查询:格子上建筑实例 / 是否为空。

默认通道("")占用。

Returns the occupant.

在文件 PlacementWorld.cpp 第 328 行定义.

引用了 getOccupantInChannel().

被这些函数引用 eve::building::PlacementSession::execute() , 以及 isCellEmpty().

◆ getOccupantAtLevel()

int eve::building::PlacementWorld::getOccupantAtLevel ( const std::string &  channel,
int  cellX,
int  cellY,
int  level 
) const

Query one channel at an explicit discrete floor.

在文件 PlacementWorld.cpp 第 336 行定义.

引用了 idx, inBounds() , 以及 level.

被这些函数引用 getAnyOccupantAtLevel() , 以及 getOccupantInChannel().

◆ getOccupantInChannel()

int eve::building::PlacementWorld::getOccupantInChannel ( const std::string &  channel,
int  cellX,
int  cellY 
) const

Returns the occupant in channel.

在文件 PlacementWorld.cpp 第 332 行定义.

引用了 getOccupantAtLevel().

被这些函数引用 getOccupant() , 以及 isCellEmptyInChannel().

◆ getOriginX()

float eve::building::PlacementWorld::getOriginX ( ) const

Returns the origin x.

在文件 PlacementWorld.cpp 第 32 行定义.

◆ getOriginY()

float eve::building::PlacementWorld::getOriginY ( ) const

Returns the origin y.

在文件 PlacementWorld.cpp 第 33 行定义.

◆ getSnapMode()

std::string eve::building::PlacementWorld::getSnapMode ( ) const
inline

放置策略:吸附模式 / 校验规则。

在文件 PlacementWorld.h 第 77 行定义.

◆ getTerrain()

int eve::building::PlacementWorld::getTerrain ( int  cellX,
int  cellY 
) const

Returns the terrain.

手动 setTerrain 优先;绑定 tilemap 后未覆盖的格由 GID 映射懒解析。

在文件 PlacementWorld.cpp 第 216 行定义.

引用了 idx , 以及 inBounds().

◆ getTileLayer()

map::TileLayer * eve::building::PlacementWorld::getTileLayer ( ) const
inline

Returns the tile layer.

在文件 PlacementWorld.h 第 162 行定义.

◆ getValidateRule()

std::string eve::building::PlacementWorld::getValidateRule ( ) const
inline

Returns the validate rule.

在文件 PlacementWorld.h 第 81 行定义.

◆ getWidth()

int eve::building::PlacementWorld::getWidth ( ) const
inline

尺寸 / 格子大小 / 原点。

在文件 PlacementWorld.h 第 52 行定义.

◆ hasBuilding()

◆ hasGridFromLayer()

bool eve::building::PlacementWorld::hasGridFromLayer ( ) const
inline

True when grid from layer.

在文件 PlacementWorld.h 第 113 行定义.

◆ inBounds()

bool eve::building::PlacementWorld::inBounds ( int  cellX,
int  cellY 
) const

In bounds.

在文件 PlacementWorld.cpp 第 231 行定义.

被这些函数引用 getEdgeOccupantAtLevel(), getOccupantAtLevel(), getTerrain() , 以及 setTerrain().

◆ isCellEmpty()

bool eve::building::PlacementWorld::isCellEmpty ( int  cellX,
int  cellY 
) const

True when cell empty.

在文件 PlacementWorld.cpp 第 377 行定义.

引用了 getOccupant().

◆ isCellEmptyInChannel()

bool eve::building::PlacementWorld::isCellEmptyInChannel ( const std::string &  channel,
int  cellX,
int  cellY 
) const

已放置建筑实例查询。

在文件 PlacementWorld.cpp 第 381 行定义.

引用了 getOccupantInChannel().

◆ isCornerEmpty()

bool eve::building::PlacementWorld::isCornerEmpty ( const std::string &  channel,
int  vertexX,
int  vertexY 
) const

Return whether a corner-domain address is empty in one channel.

在文件 PlacementWorld.cpp 第 529 行定义.

引用了 getCornerOccupant().

◆ isEdgeEmpty()

bool eve::building::PlacementWorld::isEdgeEmpty ( const std::string &  channel,
int  cellX,
int  cellY,
const std::string &  direction 
) const

Return whether an edge is unoccupied in the requested channel.

在文件 PlacementWorld.cpp 第 497 行定义.

引用了 direction , 以及 getEdgeOccupant().

◆ moveBuilding()

bool eve::building::PlacementWorld::moveBuilding ( int  instanceId,
int  cellX,
int  cellY,
float  rotationDeg = -1.f 
)

Moves building.

在文件 PlacementWorld.cpp 第 735 行定义.

引用了 eve::building::PlacementSystem::moveBuilding().

◆ nextEdgeCurveGroupId()

EdgeCurveGroupId eve::building::PlacementWorld::nextEdgeCurveGroupId ( ) const
inline

Return the next monotonic curve-group identity without reserving it.

在文件 PlacementWorld.h 第 271 行定义.

◆ occupancy() [1/2]

std::vector< int > & eve::building::PlacementWorld::occupancy ( )
inline

Occupancy.

在文件 PlacementWorld.h 第 343 行定义.

◆ occupancy() [2/2]

const std::vector< int > & eve::building::PlacementWorld::occupancy ( ) const
inline

Occupancy.

在文件 PlacementWorld.h 第 341 行定义.

被这些函数引用 channelOccupancy() , 以及 getAnyCornerOccupantAtLevel().

◆ operator=()

PlacementWorld & eve::building::PlacementWorld::operator= ( const PlacementWorld &  )
delete

◆ placeAt()

int eve::building::PlacementWorld::placeAt ( const std::string &  buildingId,
int  cellX,
int  cellY,
float  rotationDeg = 0.f 
)

Place at.

在文件 PlacementWorld.cpp 第 633 行定义.

引用了 eve::building::PlacementSystem::placeAt().

◆ placeAtWorld()

int eve::building::PlacementWorld::placeAtWorld ( const std::string &  buildingId,
float  worldX,
float  worldY,
float  rotationDeg = 0.f 
)

Place at world.

在文件 PlacementWorld.cpp 第 638 行定义.

引用了 eve::building::PlacementSystem::placeAtWorld().

◆ placeAtWorld3D()

int eve::building::PlacementWorld::placeAtWorld3D ( const std::string &  buildingId,
float  worldX,
float  worldY,
float  worldZ,
float  rotationDeg = 0.f 
)

Place at world 3 d.

在文件 PlacementWorld.cpp 第 643 行定义.

引用了 eve::building::PlacementSystem::placeAtWorld3D().

◆ placeCorner()

int eve::building::PlacementWorld::placeCorner ( const std::string &  buildingId,
int  vertexX,
int  vertexY 
)

Compatibility-only script projection of canonical corner placement.

在文件 PlacementWorld.cpp 第 699 行定义.

引用了 eve::building::PlacementSystem::placeCorner().

◆ placeEdge()

int eve::building::PlacementWorld::placeEdge ( const std::string &  buildingId,
int  cellX,
int  cellY,
const std::string &  direction 
)

Place an edge definition on a north/east/south/west edge; returns instance id or 0.

在文件 PlacementWorld.cpp 第 682 行定义.

引用了 direction , 以及 eve::building::PlacementSystem::placeEdge().

◆ placeFree()

int eve::building::PlacementWorld::placeFree ( const std::string &  buildingId,
float  worldX,
float  worldY,
float  elevation = 0.f,
float  rotationDeg = 0.f 
)

Compatibility-only script projection of exact free placement.

在文件 PlacementWorld.cpp 第 715 行定义.

引用了 elevation , 以及 eve::building::PlacementSystem::placeFree().

◆ placeGhost()

int eve::building::PlacementWorld::placeGhost ( Ghost *  ghost)

Place ghost.

在文件 PlacementWorld.cpp 第 648 行定义.

引用了 eve::building::PlacementSystem::placeGhost().

被这些函数引用 eve::building::PlacementSession::execute().

◆ removeBuilding()

bool eve::building::PlacementWorld::removeBuilding ( int  instanceId)

Removes building.

在文件 PlacementWorld.cpp 第 731 行定义.

引用了 eve::building::PlacementSystem::removeBuilding().

被这些函数引用 eve::building::PlacementSession::execute().

◆ removeBuildingCascade()

int eve::building::PlacementWorld::removeBuildingCascade ( int  instanceId)

Compatibility-only script projection of the canonical Result removal API.

返回
Removed count, or zero when the canonical operation is rejected.

在文件 PlacementWorld.cpp 第 777 行定义.

引用了 eve::building::PlacementSystem::removeBuildingCascade().

◆ setActiveLevel()

void eve::building::PlacementWorld::setActiveLevel ( int  level)
inline

Select the floor used by compatibility placement/query APIs.

在文件 PlacementWorld.h 第 74 行定义.

引用了 level.

◆ setBuildingProp()

void eve::building::PlacementWorld::setBuildingProp ( int  instanceId,
const std::string &  key,
const std::string &  value 
)

Sets the building prop.

在文件 PlacementWorld.cpp 第 602 行定义.

引用了 key , 以及 value.

◆ setCellGap()

void eve::building::PlacementWorld::setCellGap ( float  gapX,
float  gapY 
)

Sets the cell gap.

在文件 PlacementWorld.cpp 第 78 行定义.

◆ setCellSize()

void eve::building::PlacementWorld::setCellSize ( float  s)

Sets the cell size.

在文件 PlacementWorld.cpp 第 39 行定义.

引用了 s.

◆ setExtra()

void eve::building::PlacementWorld::setExtra ( const std::string &  key,
const std::string &  value 
)

世界级额外属性(键值)。

在文件 PlacementWorld.cpp 第 51 行定义.

引用了 key , 以及 value.

◆ setFloorHeight()

void eve::building::PlacementWorld::setFloorHeight ( float  height)

Set positive height between discrete floors. Invalid values are ignored.

在文件 PlacementWorld.cpp 第 278 行定义.

引用了 height.

◆ setGridFromLayer()

void eve::building::PlacementWorld::setGridFromLayer ( map::TileLayer *  layer)

Sets the grid from layer.

复用 TileLayer 的投影(orientation / stagger / hex / 尺寸 / 原点)。

在文件 PlacementWorld.cpp 第 92 行定义.

引用了 c, eve::grid::Even, eve::grid::Hexagon, eve::map::Hexagonal, eve::grid::Isometric, eve::map::Isometric, layer, eve::grid::Odd, eve::map::Odd, eve::map::Orthogonal, eve::grid::Rectangle, eve::grid::Staggered, eve::map::Staggered, eve::grid::X, eve::grid::Y , 以及 eve::map::Y.

被这些函数引用 bindTileLayer().

◆ setGridLayout()

void eve::building::PlacementWorld::setGridLayout ( const std::string &  layout)

Sets the grid layout.

在文件 PlacementWorld.cpp 第 62 行定义.

引用了 layout , 以及 eve::grid::GridConfig::layoutFromName().

◆ setGridPlane()

void eve::building::PlacementWorld::setGridPlane ( const std::string &  plane)

Sets the grid plane.

在文件 PlacementWorld.cpp 第 70 行定义.

引用了 eve::grid::GridConfig::planeFromName().

◆ setHexSideLength()

void eve::building::PlacementWorld::setHexSideLength ( float  s)

Sets the hex side length.

在文件 PlacementWorld.cpp 第 83 行定义.

引用了 s.

◆ setId()

void eve::building::PlacementWorld::setId ( const std::string &  id)
inline

Sets the id.

在文件 PlacementWorld.h 第 49 行定义.

引用了 id.

◆ setOrigin()

void eve::building::PlacementWorld::setOrigin ( float  x,
float  y 
)

Sets the origin.

在文件 PlacementWorld.cpp 第 46 行定义.

引用了 x , 以及 y.

◆ setSnapMode()

void eve::building::PlacementWorld::setSnapMode ( const std::string &  mode)
inline

Sets the snap mode.

在文件 PlacementWorld.h 第 79 行定义.

◆ setStagger()

void eve::building::PlacementWorld::setStagger ( const std::string &  axis,
const std::string &  index 
)

Sets the stagger.

在文件 PlacementWorld.cpp 第 85 行定义.

引用了 eve::grid::Even, index, eve::grid::Odd, eve::grid::X , 以及 eve::grid::Y.

◆ setTerrain()

void eve::building::PlacementWorld::setTerrain ( int  cellX,
int  cellY,
int  semantic 
)

Sets the terrain.

在文件 PlacementWorld.cpp 第 209 行定义.

引用了 idx, inBounds() , 以及 semantic.

◆ setTerrainGid()

void eve::building::PlacementWorld::setTerrainGid ( int  gid,
int  semantic 
)

Sets the terrain gid.

在文件 PlacementWorld.cpp 第 272 行定义.

引用了 semantic.

◆ setTerrainGidMapJson()

void eve::building::PlacementWorld::setTerrainGidMapJson ( const std::string &  json)

Sets the terrain gid map json.

在文件 PlacementWorld.cpp 第 253 行定义.

引用了 n , 以及 semantic.

◆ setValidateRule()

void eve::building::PlacementWorld::setValidateRule ( const std::string &  rule)
inline

Sets the validate rule.

在文件 PlacementWorld.h 第 83 行定义.

◆ swapState()

void eve::building::PlacementWorld::swapState ( PlacementWorld &  candidate)
noexcept

Atomically exchange complete logical state with a prepared candidate.

在文件 PlacementWorld.cpp 第 781 行定义.

被这些函数引用 eve::building_editing::BuildingPlacementTarget::commitDomainState().

◆ terrain() [1/2]

std::vector< int > & eve::building::PlacementWorld::terrain ( )
inline

Terrain.

在文件 PlacementWorld.h 第 347 行定义.

◆ terrain() [2/2]

const std::vector< int > & eve::building::PlacementWorld::terrain ( ) const
inline

Terrain.

在文件 PlacementWorld.h 第 345 行定义.

◆ worldToCell3D()

void eve::building::PlacementWorld::worldToCell3D ( float  worldX,
float  worldY,
float  worldZ,
int &  cellX,
int &  cellY 
) const

World to cell 3 d.

3D 拾取:真实世界坐标 -> 最近格子。

在文件 PlacementWorld.cpp 第 183 行定义.

引用了 px, py, eve::grid::worldToCell() , 以及 eve::grid::XZ.

被这些函数引用 worldToCell3DX() , 以及 worldToCell3DY().

◆ worldToCell3DX()

int eve::building::PlacementWorld::worldToCell3DX ( float  worldX,
float  worldY,
float  worldZ 
) const

World to cell 3 dx.

在文件 PlacementWorld.cpp 第 190 行定义.

引用了 cx, cy , 以及 worldToCell3D().

◆ worldToCell3DY()

int eve::building::PlacementWorld::worldToCell3DY ( float  worldX,
float  worldY,
float  worldZ 
) const

World to cell 3 dy.

在文件 PlacementWorld.cpp 第 196 行定义.

引用了 cx, cy , 以及 worldToCell3D().

◆ worldToCellX()

int eve::building::PlacementWorld::worldToCellX ( float  worldX) const

世界像素 ↔ 格子坐标。

worldX 恒为平面 X 轴。

World to cell x.

在文件 PlacementWorld.cpp 第 122 行定义.

引用了 cx, cy , 以及 eve::grid::worldToCell().

◆ worldToCellY()

int eve::building::PlacementWorld::worldToCellY ( float  worldY) const

World to cell y.

worldY 为平面第二轴(XY 平面 = 世界 Y;XZ 平面 = 世界 Z)。

在文件 PlacementWorld.cpp 第 128 行定义.

引用了 cx, cy , 以及 eve::grid::worldToCell().

友元及相关函数文档

◆ PlacementSystem

friend class PlacementSystem
friend

在文件 PlacementWorld.h 第 361 行定义.


该类的文档由以下文件生成: