类 | |
class | CityAreaDescription |
class | DoublyConnectedEdgeList |
Simple doubly-connected edge list structure. 更多... | |
class | GraphGenerator |
Random DoublyConnectedEdgeList generator. 更多... | |
class | GraphParser |
class | Position |
class | RoadSegmentBuilder |
class | RoadSegmentDescription |
类型定义 | |
using | Graph = DoublyConnectedEdgeList |
枚举 | |
enum class | EIntersectionType { Turn90Deg , TIntersection , XIntersection } |
函数 | |
static std::pair< DoublyConnectedEdgeList::HalfEdge *, DoublyConnectedEdgeList::HalfEdge * > | FindPositionInNode (DoublyConnectedEdgeList::HalfEdge &halfEdge) |
Return the pair {prev, next}, where prev/next is the previous/next edge counterclockwise around edge's source node. | |
static void | fixGraphData (Graph &graph) |
static Graph::Position | getDirection (const Graph::HalfEdge &edge) |
static int | getQuadrant (float angle) |
static std::pair< Graph::HalfEdge *, Graph::HalfEdge * > | getRandomOpposingEdges (Graph::Face &face, FRandomStream &random) |
static float | getRotation (float angle0, float angle1) |
static float | getRotation (float angle0, float angle1, float angle2) |
static const Graph::Position & | getSourcePosition (const Graph::HalfEdge &edge) |
static const Graph::Position & | getTargetPosition (const Graph::HalfEdge &edge) |
struct GraphHalfEdge | INHERIT_GRAPH_TYPE_BASE_CLASS ('e') |
struct GraphFace | INHERIT_GRAPH_TYPE_BASE_CLASS ('f') |
struct GraphNode | INHERIT_GRAPH_TYPE_BASE_CLASS ('n') |
static void | randomize (Graph &graph, const int32 seed) |
static int32 | signOf (int32 val) |
static Graph::Face * | splitFace (Graph &graph, Graph::Face &face, FRandomStream &random) |
变量 | |
static constexpr int32 | MARGIN = 6 |
在文件 GraphGenerator.cpp 第 14 行定义.
|
strong |
枚举值 | |
---|---|
Turn90Deg | |
TIntersection | |
XIntersection |
在文件 CityMapDefinitions.h 第 11 行定义.
|
static |
Return the pair {prev, next}, where prev/next is the previous/next edge counterclockwise around edge's source node.
I.e., edge's position is in between prev and next.
Note: Always returns the half-edge pointing out from node.
The time complexity is O(n*log(n)) where n is the number of edges of edge's source.
在文件 DoublyConnectedEdgeList.cpp 第 42 行定义.
引用了 MapGen::DoublyConnectedEdgeList::GetAngle().
被这些函数引用 MapGen::DoublyConnectedEdgeList::AddNode(), MapGen::DoublyConnectedEdgeList::ConnectNodes() , 以及 MapGen::DoublyConnectedEdgeList::SplitEdge().
|
static |
在文件 GraphParser.cpp 第 53 行定义.
引用了 MapGen::DoublyConnectedEdgeList::GetAngle(), MapGen::DoublyConnectedEdgeList::GetLeavingHalfEdge(), MapGen::DoublyConnectedEdgeList::GetNextInNode(), MapGen::DoublyConnectedEdgeList::GetNodes(), getRotation(), TIntersection, Turn90Deg , 以及 XIntersection.
被这些函数引用 MapGen::GraphParser::GraphParser().
|
static |
在文件 GraphGenerator.cpp 第 34 行定义.
引用了 getSourcePosition() , 以及 getTargetPosition().
被这些函数引用 splitFace().
|
static |
|
static |
在文件 GraphGenerator.cpp 第 38 行定义.
引用了 MapGen::DoublyConnectedEdgeList::GetHalfEdge() , 以及 MapGen::DoublyConnectedEdgeList::GetNextInFace().
被这些函数引用 splitFace().
|
static |
在文件 GraphParser.cpp 第 28 行定义.
引用了 getQuadrant() , 以及 min().
被这些函数引用 fixGraphData().
|
static |
|
static |
在文件 GraphGenerator.cpp 第 26 行定义.
引用了 MapGen::DoublyConnectedEdgeList::Node::GetPosition() , 以及 MapGen::DoublyConnectedEdgeList::GetSource().
被这些函数引用 getDirection() , 以及 splitFace().
|
static |
在文件 GraphGenerator.cpp 第 30 行定义.
引用了 MapGen::DoublyConnectedEdgeList::Node::GetPosition() , 以及 MapGen::DoublyConnectedEdgeList::GetTarget().
被这些函数引用 getDirection() , 以及 splitFace().
struct GraphHalfEdge MapGen::INHERIT_GRAPH_TYPE_BASE_CLASS | ( | 'e' | ) |
在文件 GraphTypes.h 第 56 行定义.
struct GraphFace MapGen::INHERIT_GRAPH_TYPE_BASE_CLASS | ( | 'f' | ) |
在文件 GraphTypes.h 第 61 行定义.
struct GraphNode MapGen::INHERIT_GRAPH_TYPE_BASE_CLASS | ( | 'n' | ) |
在文件 GraphTypes.h 第 47 行定义.
|
static |
在文件 GraphGenerator.cpp 第 75 行定义.
引用了 MapGen::DoublyConnectedEdgeList::CountFaces(), MapGen::DoublyConnectedEdgeList::CountHalfEdges(), MapGen::DoublyConnectedEdgeList::CountNodes(), MapGen::DoublyConnectedEdgeList::GetFaces() , 以及 splitFace().
被这些函数引用 MapGen::GraphGenerator::Generate().
|
static |
|
static |
在文件 GraphGenerator.cpp 第 55 行定义.
引用了 MapGen::DoublyConnectedEdgeList::ConnectNodes(), getDirection(), getRandomOpposingEdges(), getSourcePosition(), getTargetPosition(), MARGIN, signOf() , 以及 MapGen::DoublyConnectedEdgeList::SplitEdge().
被这些函数引用 randomize().
|
staticconstexpr |
在文件 GraphGenerator.cpp 第 16 行定义.
被这些函数引用 splitFace().