#include "map/Pathfinder.h"#include "map/TileOrientation.h"#include <algorithm>#include <cmath>#include <cstdint>#include <functional>#include <limits>#include <queue>#include <tuple>#include <unordered_set>#include <vector>类 | |
| struct | eve::map::Pathfinder::Impl |
命名空间 | |
| namespace | eve |
| namespace | eve::map |
| 放置世界:格子占用(多通道)+ 地形语义 + 已放置建筑实例。 行为由 PlacementSystem 提供;本类暴露便于脚本绑定的薄封装方法。 坐标换算统一走 eve::grid(支持 rectangle / iso / staggered / hex 与 XY/XZ 平面轴)。 | |
变量说明
◆ blockedGids
| std::unordered_set<uint32_t> blockedGids |
在文件 Pathfinder.cpp 第 155 行定义.
◆ blockEmpty
| bool blockEmpty = true |
在文件 Pathfinder.cpp 第 150 行定义.
◆ cost
| std::vector<float> cost |
◆ diagonal
| bool diagonal = false |
在文件 Pathfinder.cpp 第 149 行定义.
◆ dirty
| bool dirty = true |
◆ f
| float f = 0.f |
在文件 Pathfinder.cpp 第 289 行定义.
被这些函数引用 eve::filesystem::FileWatch::add(), eve::editor::EditorInspector::addBool(), eve::editor::EditorInspector::addChoice(), eve::daynight::DayNight::addFirefly(), eve::editor::EditorInspector::addFloat(), eve::editor::EditorInspector::addFloat3(), eve::particles::ParticleEmitter::addForceField(), eve::animation::SpriteSheet::addFrame(), eve::tensor::TF::addScalar(), eve::editor::EditorInspector::addString(), eve::particles::applyConfigDocument(), eve::animation::SpriteSheet::applyToQuad(), eve::tensor::TF::argmax(), eve::tensor::TF::avgpool2d(), eve::animation::MotionDatabase::bake(), eve::graphics::buildDirectionalCSM(), eve::tensor::TF::cast(), eve::tensor::TF::clamp(), eve::editor::EditorInspector::clearAllDirty(), eve::editor::EditorInspector::clearDirty(), eve::gpgpu::compileComputeGlsl(), eve::tensor::TF::concatN(), eve::tensor::kernels::conv1d(), eve::tensor::TF::conv1dBias(), eve::tensor::kernels::conv2d(), eve::tensor::TF::conv2dBias(), eve::avatar::Avatar::createLive2DBackend(), eve::dev::CallGraph::currentStack(), eve::physics::Body::destroy(), eve::physics::World::destroy(), eve::tensor::TF::divScalar(), eve::tensor::TF::embedding(), eve::tensor::TF::eye(), eve::tensor::q::f16ToF32(), eve::tensor::TF::flatten(), eve::dev::CallGraph::formatErrorReport(), eve::tensor::q::fp8E4M3ToF32(), eve::voxel::Frustum::fromViewProjColumnMajor(), eve::procgen::generateHexPlanetMesh(), eve::editor::EditorInspector::getBool(), eve::editor::EditorInspector::getChoice(), eve::editor::EditorInspector::getChoicesCsv(), eve::animation::MotionDatabase::getFeature(), eve::editor::EditorInspector::getFloat(), eve::editor::EditorInspector::getFloat3X(), eve::editor::EditorInspector::getFloat3Y(), eve::editor::EditorInspector::getFloat3Z(), eve::editor::EditorInspector::getFloatMax(), eve::editor::EditorInspector::getFloatMin(), eve::editor::EditorInspector::getFloatStep(), eve::editor::EditorInspector::getString(), eve::daynight::DayNight::init(), eve::editor::EditorInspector::isDirty(), eve::tensor::TF::layernorm(), eve::tensor::TF::layernormWB(), eve::tensor::TF::logSoftmax(), eve::animation::makeSecondOrderCoeffs(), eve::graphics::grass::makeSwayAtlasRGBA(), eve::tensor::TF::matmul(), eve::tensor::TF::maximumScalar(), eve::tensor::TF::maxpool2d(), eve::tensor::TF::minimumScalar(), eve::tensor::TF::mulScalar(), eve::graphics::webgpu::Graphics::newCubemap(), eve::graphics::Graphics::newMeshCube(), eve::graphics::vulkan::Graphics::newMeshFromAssimp(), eve::graphics::vulkan::Graphics::newMeshFromAssimp(), eve::graphics::webgpu::Graphics::newMeshFromAssimp(), eve::gpgpu::packScriptEntityFloats(), eve::tensor::TF::permute2(), eve::tensor::TF::permute3(), eve::tensor::TF::permute4(), eve::tensor::TF::permute5(), eve::tensor::TF::permute6(), eve::tensor::TF::popTrace(), ssq::detail::popValue(), eve::tensor::TF::powScalar(), eve::tensor::TF::pushTrace(), eve::tensor::TF::reshape1(), eve::tensor::TF::reshape2(), eve::tensor::TF::reshape3(), eve::tensor::TF::reshape4(), eve::tensor::TF::reshape5(), eve::tensor::TF::reshape6(), eve::tensor::TF::resize2d(), eve::tensor::TF::rmsnorm(), eve::tensor::TF::rmsnormW(), eve::particles::ParticleGradient::sample(), eve::particles::ParticleCurve::sample(), eve::tensor::TF::sdpaMasked(), eve::animation::MotionMatcher::search(), eve::editor::EditorInspector::setBool(), eve::editor::EditorInspector::setChoice(), eve::editor::EditorInspector::setFloat(), eve::editor::EditorInspector::setFloat3(), eve::graphics::vulkan::Graphics::setMesh3DClip(), eve::scene::Scene::setNodeLookAtAt(), eve::window::sdl::Window::setSize(), eve::editor::EditorInspector::setString(), eve::window::sdl::Window::setWindowSettings(), eve::tensor::TF::slice(), eve::spritestack::sliceModelToLayers(), eve::tensor::TF::softmax(), eve::dev::CallGraph::stackAt(), eve::dev::Debugger::stackTrace(), eve::ik::Solver2D::stepChain(), eve::ik::Solver3D::stepChain(), eve::particles::stepEmitterSim(), eve::tensor::TF::subScalar(), eve::graphics::grass::swayFrame(), eve::dialogue::Dialogue::VarValue::toString(), eve::tensor::Tensor::transpose(), eve::tensor::TF::transpose(), eve::gpgpu::unpackScriptEntityFloats(), eve::daynight::DayNight::update(), eve::weather::Weather::update(), eve::virtualgeometry::vgUpload(), eve::tensor::TF::where() , 以及 eve::physics::Body::~Body().
◆ height
| int height = 0 |
在文件 Pathfinder.cpp 第 145 行定义.
◆ idx
| int idx = 0 |
在文件 Pathfinder.cpp 第 290 行定义.
被这些函数引用 eve::animation::SpriteSheet::addFrame(), eve::animation::SpriteClip::addFrameByName(), eve::sceneloader::SceneLoader::applyTreeDiff(), eve::particles::ParticleEmitter::attachToBoneByName(), eve::particles::ParticleEmitter::attachToSpineBoneByName(), eve::graphics::GrassField::bakePlane(), eve::virtualgeometry::VirtualGeometryRenderer::buildIcosphere(), eve::graphics::Water::createPlane(), eve::graphics::Waterfall::createSheet(), eve::tensor::q::dequantValue(), eve::ui::UISystem::dispatchEvents(), eve::tensor::kernels::embedding(), eve::map::Fov::Impl::extendVertical(), eve::scene::SceneHost::findByName(), eve::scene::SceneHost::findByPath(), eve::scene::SceneHost::findIndexByPath(), eve::map::Pathfinder::findPath(), eve::editor::Brush::floodFill(), eve::graphics::Font::Font(), eve::grid::foreachRotatedFootprint(), eve::StateValue::get(), eve::model3d::ModelData::getEmbeddedTextureHeight(), eve::model3d::ModelData::getEmbeddedTextureImageData(), eve::model3d::ModelData::getEmbeddedTextureName(), eve::model3d::ModelData::getEmbeddedTextureWidth(), eve::filesystem::File::getExtension(), eve::building::PlacementWorld::getOccupantInChannel(), eve::building::PlacementWorld::getTerrain(), eve::animation::AnimImporter::importEva(), eve::map::Fov::Impl::markVisibleIdx(), eve::building::BuildingDefinition::maskAt(), eve::graphics::webgpu::Graphics::newMeshCylinder(), eve::graphics::vulkan::Graphics::newMeshFromArrays(), eve::graphics::vulkan::Graphics::newMeshFromAssimp(), eve::graphics::webgpu::Graphics::newMeshFromAssimp(), eve::graphics::webgpu::Graphics::newMeshSphere(), eve::tensor::optimizeGraph(), eve::tensor::kernels::permute(), eve::procgen::dtlutil::placeSpawnAndStairs(), eve::animation::SpineAnim::play(), eve::map::Fov::Impl::resetVisibleKeepExplored(), eve::procgen::ColorRamp::sampleBanded(), eve::graphics::grass::samplePoisson(), eve::ui::UIHost::setClickHandler(), eve::animation::SpineSkeleton::setSkin(), eve::particles::ParticleEmitter::setSkinBoneFilterByName(), eve::building::PlacementWorld::setTerrain(), eve::ui::UIHost::setTextHandler(), eve::ui::UIHost::setToggleHandler(), eve::ui::UIHost::setValueHandler(), eve::spritestack::sliceModelToLayers(), eve::spritestack::slicePrimitiveToLayers(), eve::dev::Debugger::sourcesMatch() , 以及 eve::camera::CameraController::switchTo().
◆ layer
| TileLayer* layer = nullptr |
在文件 Pathfinder.cpp 第 146 行定义.
被这些函数引用 eve::map::applyConfigDocument(), eve::map::applyConfigText(), eve::procgen::PaletteTable::applyToLayer(), eve::procgen::Procgen::applyToLayer(), eve::map::Fov::bindLayer(), eve::map::Pathfinder::bindLayer(), eve::building::PlacementWorld::bindTileLayer(), eve::map::Fov::Fov(), eve::map::loadConfigFile(), eve::map::Map::newFov(), eve::map::Map::newPathfinder(), eve::map::Pathfinder::Pathfinder(), eve::map::reloadConfigFile(), eve::building::PlacementWorld::setGridFromLayer(), eve::ui::UI::setHostLayer(), eve::animation::SpineAnim::setLayer(), eve::avatar::AvatarInstance::setLayer(), eve::map::TileLayer::setLayer(), eve::particles::ParticleEmitter::setLayer(), eve::scene::SceneHost::setLayer(), eve::ui::UIHost::setLayer(), eve::procgen::OutputSpec::setLayer() , 以及 eve::scene::Scene::setNodeLayerAt().
◆ staggerAxisY
| bool staggerAxisY = true |
在文件 Pathfinder.cpp 第 151 行定义.
◆ staggerOdd
| bool staggerOdd = true |
在文件 Pathfinder.cpp 第 152 行定义.
◆ topology
| Topology topology = Topology::Ortho4 |
在文件 Pathfinder.cpp 第 147 行定义.
◆ topologyManual
| bool topologyManual = false |
在文件 Pathfinder.cpp 第 148 行定义.
◆ width
| int width = 0 |
在文件 Pathfinder.cpp 第 144 行定义.
被这些函数引用 eve::ui::UI::addImage(), eve::ui::UI::addImageButton(), eve::procgen::Grid2D::addObject(), eve::ui::UI::addTextWrapped(), eve::ui::UI::addViewport(), eve::ui::UI::beginChild(), eve::graphics::grass::buildBillboards(), eve::ui::child(), eve::graphics::Waterfall::createSheet(), eve::image::ImageData::encode(), eve::map::Fov::Fov(), eve::map::Fov::Fov(), eve::procgen::Heightmap::generate(), eve::procgen::generateBushMesh(), eve::window::sdl::Window::getDesktopDimensions(), eve::animation::SpineAtlas::getPageWidth(), eve::graphics::vulkan::OffscreenCanvas::getPixel(), eve::image::ImageData::getPixel(), eve::image::ImageData::getWidth(), eve::graphics::vulkan::OffscreenCanvas::getWidth(), eve::graphics::webgpu::OffscreenCanvas::getWidth(), eve::font::FontData::getWidth(), eve::procgen::Heightmap::Heightmap(), eve::ui::image(), eve::ui::imageButton(), eve::image::ImageData::ImageData(), eve::image::ImageData::ImageData(), eve::procgen::dtlutil::makeMatrix(), eve::graphics::mipmapCountForSize(), eve::physics::Body3D::newBoxShape(), eve::procgen::Procgen::newGrid(), eve::procgen::Procgen::newHeightmap(), eve::graphics::vulkan::OffscreenCanvas::newImageData(), eve::image::Image::newImageData(), eve::image::Image::newImageData(), eve::graphics::AmbientOcclusion::newLinearDepthTexture(), eve::graphics::Volumetric::newLinearDepthTexture(), eve::physics::Body::newRectangleFixture(), eve::physics::Body::newRectangleFixtureAt(), eve::editor::Editor::newTileBuffer(), eve::building::Building::newWorld(), eve::graphics::webgpu::OffscreenCanvas::OffscreenCanvas(), eve::graphics::vulkan::OffscreenCanvas::OffscreenCanvas(), eve::ui::EditorHost::openWindow(), eve::map::Pathfinder::Pathfinder(), eve::building::PlacementWorld::PlacementWorld(), eve::editor::TileBuffer::resize(), eve::map::FlowField::resize(), eve::procgen::Grid2D::resize(), eve::procgen::Heightmap::resize(), eve::image::ImageData::rotate(), eve::procgen::CloudField::sample(), eve::procgen::CloudShadow::sampleCoverage(), eve::procgen::CloudShadow::sampleFactor(), eve::window::sdl::Window::setIconRGBA(), eve::ui::UI::setItemSize(), eve::graphics::Volumetric::setLightScreenPos(), eve::spritestack::SpriteStack3D::setOutline(), eve::particles::ParticleEmitter::setParticleSize(), eve::image::ImageData::setPixel(), eve::spritestack::SpriteStack3D::setSize(), eve::map::Fov::setSize(), eve::map::Pathfinder::setSize(), eve::procgen::Params::setSize(), eve::window::sdl::Window::setSize(), eve::editor::Brush::setStampSize(), eve::graphics::GBuffer::setTargets(), eve::ui::UI::setTextWrap(), eve::virtualgeometry::VirtualGeometryRenderer::setViewport(), eve::map::Fov::setVolumeSize(), eve::graphics::Outline::setWidth(), eve::procgen::TerrainSampler::setWorldSize(), eve::editor::TileBuffer::TileBuffer(), eve::ui::viewport() , 以及 eve::ui::WidgetDesc::withWrap().