Hierarchical co-generation of parcels and streets (paper Section 4) plus the global geometric optimization (paper Section 5). 更多...
#include <UrbanGenerator.h>
类 | |
| struct | GenState |
Public 成员函数 | |
| UrbanGenerator (UrbanOptions opts) | |
| Urban generator. | |
| bool | generate (std::string *error=nullptr) |
Run the pipeline. On failure error receives a human-readable reason. | |
| const UrbanLayout & | layout () const |
| Layout. | |
详细描述
Hierarchical co-generation of parcels and streets (paper Section 4) plus the global geometric optimization (paper Section 5).
At each hierarchical level every splittable parcel is binary-partitioned by the best streamline chosen with the quality metric of Eq. (2); short edges in the parcel mesh are removed; unreachable parcels are grouped and given street access (I/L-shaped accesses + turn-aware Dijkstra connections, paper Section 4.2). Finally the vertex positions are optimized with the five-term energy of Eq. (3).
在文件 UrbanGenerator.h 第 24 行定义.
构造及析构函数说明
◆ UrbanGenerator()
|
explicit |
Urban generator.
在文件 UrbanGenerator.cpp 第 231 行定义.
成员函数说明
◆ generate()
| bool eve::procgen::urban::UrbanGenerator::generate | ( | std::string * | error = nullptr | ) |
Run the pipeline. On failure error receives a human-readable reason.
在文件 UrbanGenerator.cpp 第 479 行定义.
引用了 eve::procgen::urban::approximatePolygon(), eve::procgen::urban::UrbanLayout::clear(), eve::procgen::urban::UrbanGenerator::GenState::corners, eve::procgen::urban::UrbanGenerator::GenState::edges, eve::procgen::urban::UrbanGenerator::GenState::edgeStreet, error, eve::procgen::urban::UrbanOptions::gammaAngle, eve::procgen::urban::UrbanOptions::gammaSide, eve::procgen::urban::UrbanOptions::land, level, eve::procgen::urban::UrbanLayout::levelsUsed, eve::procgen::urban::UrbanOptions::maxLevels, eve::procgen::urban::UrbanOptions::minParcelArea, eve::procgen::urban::UrbanOptions::optimize, eve::procgen::urban::UrbanGenerator::GenState::parcels, eve::procgen::urban::shapeIrregularity(), eve::procgen::urban::UrbanGenerator::GenState::streetSegs , 以及 eve::procgen::urban::UrbanOptions::targetParcels.
被这些函数引用 eve::procgen::urban::generateUrbanGrid() , 以及 eve::procgen::urban::generateUrbanMesh().
◆ layout()
|
inline |
Layout.
在文件 UrbanGenerator.h 第 33 行定义.
被这些函数引用 eve::procgen::urban::generateUrbanGrid() , 以及 eve::procgen::urban::generateUrbanMesh().
该类的文档由以下文件生成:
- src/modules/procgen/urban/UrbanGenerator.h
- src/modules/procgen/urban/UrbanGenerator.cpp