载入中...
搜索中...
未找到
RoadNetworkEditTarget.cpp 文件参考
#include "procgen/editing/RoadNetworkEditTarget.h"
#include "procgen/editing/RoadNetworkEditTargetInternal.inc"
#include "editing/EditingResult.h"
#include "procgen/spline/SplinePath.h"
#include <algorithm>
#include <cmath>
#include <limits>
#include <utility>

浏览源代码.

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::procgen_editing
 
namespace  eve::procgen_editing::detail
 

函数

const EditorValue * eve::procgen_editing::detail::field (const EditorValue &value, const char *name)
 
bool eve::procgen_editing::detail::readId (const EditorValue &value, const char *name, std::uint32_t &output)
 
bool eve::procgen_editing::detail::readNumber (const EditorValue &value, const char *name, float &output)
 
bool eve::procgen_editing::detail::readOptionalNumber (const EditorValue &value, const char *name, float &output)
 
bool eve::procgen_editing::detail::readOptionalBool (const EditorValue &value, const char *name, bool &output)
 
bool eve::procgen_editing::detail::readSmallInt (const EditorValue &value, const char *name, int minimum, int maximum, int &output)
 
Result< RoadIntersection > eve::procgen_editing::detail::findUniqueInteriorIntersection (const procgen::road::RoadEdge &first, const procgen::road::RoadEdge &second, float maximumHeightDelta)
 
EditorValue eve::procgen_editing::detail::encodeNode (std::uint32_t id, float x, float y, float z)
 
EditorValue eve::procgen_editing::detail::encodeNodeRadius (std::uint32_t id, float junctionRadius)
 
bool eve::procgen_editing::detail::decodeNodeRadius (const EditorValue &value, std::uint32_t &id, float &junctionRadius)
 
EditorValue eve::procgen_editing::detail::encodeNodeControl (std::uint32_t id, procgen::road::RoadJunctionControl control)
 
bool eve::procgen_editing::detail::decodeNodeControl (const EditorValue &value, std::uint32_t &id, procgen::road::RoadJunctionControl &control)
 
EditorValue eve::procgen_editing::detail::encodeEdge (std::uint32_t id, const std::vector< procgen::road::RoadControlPoint > &points)
 
EditorValue eve::procgen_editing::detail::encodeStyle (std::uint32_t id, const procgen::road::RoadStyle &style)
 
bool eve::procgen_editing::detail::decodeStyle (const EditorValue &value, std::uint32_t &id, procgen::road::RoadStyle &style)
 
bool eve::procgen_editing::detail::decodeEdge (const EditorValue &value, std::uint32_t &id, std::vector< procgen::road::RoadControlPoint > &points)
 
EditorValue eve::procgen_editing::detail::encodeNodeRecord (const procgen::road::RoadNode &node)
 
bool eve::procgen_editing::detail::decodeNodeRecord (const EditorValue &value, procgen::road::RoadNode &node)
 
EditorValue eve::procgen_editing::detail::encodeLink (const procgen::road::RoadLaneConnection &link)
 
bool eve::procgen_editing::detail::decodeLink (const EditorValue &value, procgen::road::RoadLaneConnection &link)
 
EditorValue eve::procgen_editing::detail::encodeBlockedLink (const procgen::road::RoadLaneConnection &link, bool restoreActive)
 
bool eve::procgen_editing::detail::decodeBlockedLink (const EditorValue &value, procgen::road::RoadLaneConnection &link, bool &restoreActive)
 
bool eve::procgen_editing::detail::sameLink (const procgen::road::RoadLaneConnection &left, const procgen::road::RoadLaneConnection &right)
 
EditorValue eve::procgen_editing::detail::encodeLinks (const std::vector< procgen::road::RoadLaneConnection > &links)
 
bool eve::procgen_editing::detail::decodeLinks (const EditorValue &value, std::vector< procgen::road::RoadLaneConnection > &links)
 
EditorValue eve::procgen_editing::detail::encodeLaneCounts (std::uint32_t edgeId, int lanesForward, int lanesBackward, const std::vector< procgen::road::RoadLaneConnection > &restoreLinks, const std::vector< procgen::road::RoadLaneConnection > &restoreBlockedLinks)
 
bool eve::procgen_editing::detail::decodeLaneCounts (const EditorValue &value, std::uint32_t &edgeId, int &lanesForward, int &lanesBackward, std::vector< procgen::road::RoadLaneConnection > &restoreLinks, std::vector< procgen::road::RoadLaneConnection > &restoreBlockedLinks)
 
EditorValue eve::procgen_editing::detail::encodeReconnectEndpoint (std::uint32_t edgeId, bool fromEndpoint, std::uint32_t nodeId, const std::vector< procgen::road::RoadLaneConnection > &restoreLinks, const std::vector< procgen::road::RoadLaneConnection > &restoreBlockedLinks)
 
bool eve::procgen_editing::detail::decodeReconnectEndpoint (EditorValue const &value, std::uint32_t &edgeId, bool &fromEndpoint, std::uint32_t &nodeId, std::vector< procgen::road::RoadLaneConnection > &restoreLinks, std::vector< procgen::road::RoadLaneConnection > &restoreBlockedLinks)
 
EditorValue eve::procgen_editing::detail::encodeDetachEndpoint (std::uint32_t edgeId, bool fromEndpoint, std::uint32_t nodeId)
 
bool eve::procgen_editing::detail::decodeDetachEndpoint (const EditorValue &value, std::uint32_t &edgeId, bool &fromEndpoint, std::uint32_t &nodeId)
 
EditorValue eve::procgen_editing::detail::encodeReattachEndpoint (std::uint32_t edgeId, bool fromEndpoint, std::uint32_t oldNodeId, std::uint32_t detachedNodeId, const std::vector< procgen::road::RoadLaneConnection > &restoreLinks, const std::vector< procgen::road::RoadLaneConnection > &restoreBlockedLinks)
 
bool eve::procgen_editing::detail::decodeReattachEndpoint (const EditorValue &value, std::uint32_t &edgeId, bool &fromEndpoint, std::uint32_t &oldNodeId, std::uint32_t &detachedNodeId, std::vector< procgen::road::RoadLaneConnection > &restoreLinks, std::vector< procgen::road::RoadLaneConnection > &restoreBlockedLinks)
 
EditorValue eve::procgen_editing::detail::encodeSplit (std::uint32_t edgeId, std::size_t controlPointIndex, float junctionRadius, const procgen::road::RoadEdgeSplitResult &result)
 
bool eve::procgen_editing::detail::decodeSplit (const EditorValue &value, std::uint32_t &edgeId, std::size_t &controlPointIndex, float &junctionRadius, std::uint32_t &nodeId, std::uint32_t &secondEdgeId)
 
EditorValue eve::procgen_editing::detail::encodePositionSplit (std::uint32_t edgeId, procgen::road::RoadControlPoint position, float maxDistance, float junctionRadius, const procgen::road::RoadEdgeSplitResult &result)
 
bool eve::procgen_editing::detail::decodePositionSplit (const EditorValue &value, std::uint32_t &edgeId, procgen::road::RoadControlPoint &position, float &maxDistance, float &junctionRadius, std::uint32_t &nodeId, std::uint32_t &secondEdgeId)
 
EditorValue eve::procgen_editing::detail::encodeMergeNodes (std::uint32_t keepNodeId, std::uint32_t removeNodeId, float maxDistance)
 
bool eve::procgen_editing::detail::decodeMergeNodes (const EditorValue &value, std::uint32_t &keepNodeId, std::uint32_t &removeNodeId, float &maxDistance)
 
EditorValue eve::procgen_editing::detail::encodeUnmergeNodes (const procgen::road::RoadNode &removedNode, const std::vector< procgen::road::RoadEdge > &affectedEdges, const std::vector< procgen::road::RoadLaneConnection > &affectedLinks, const std::vector< procgen::road::RoadLaneConnection > &affectedBlockedLinks)
 
bool eve::procgen_editing::detail::decodeUnmergeNodes (const EditorValue &value, procgen::road::RoadNode &removedNode, std::vector< procgen::road::RoadEdge > &affectedEdges, std::vector< procgen::road::RoadLaneConnection > &affectedLinks, std::vector< procgen::road::RoadLaneConnection > &affectedBlockedLinks)
 
EditorValue eve::procgen_editing::detail::encodeUnsplit (const procgen::road::RoadEdge &edge, const std::vector< procgen::road::RoadLaneConnection > &links, const std::vector< procgen::road::RoadLaneConnection > &blockedLinks, std::uint32_t nodeId, std::uint32_t secondEdgeId)
 
bool eve::procgen_editing::detail::decodeUnsplit (const EditorValue &value, procgen::road::RoadEdge &edge, std::vector< procgen::road::RoadLaneConnection > &links, std::vector< procgen::road::RoadLaneConnection > &blockedLinks, std::uint32_t &nodeId, std::uint32_t &secondEdgeId)
 
EditorValue eve::procgen_editing::detail::encodeConnectAtPosition (std::uint32_t edgeId, procgen::road::RoadControlPoint position, float maxDistance, float junctionRadius, const procgen::road::RoadEdgeSplitResult &split, const procgen::road::RoadEdge &branch)
 
bool eve::procgen_editing::detail::decodeConnectAtPosition (const EditorValue &value, std::uint32_t &edgeId, procgen::road::RoadControlPoint &position, float &maxDistance, float &junctionRadius, std::uint32_t &nodeId, std::uint32_t &secondEdgeId, procgen::road::RoadEdge &branch)
 
EditorValue eve::procgen_editing::detail::encodeDisconnectAtPosition (const procgen::road::RoadEdge &original, const std::vector< procgen::road::RoadLaneConnection > &originalLinks, const std::vector< procgen::road::RoadLaneConnection > &originalBlockedLinks, std::uint32_t nodeId, std::uint32_t secondEdgeId, std::uint32_t branchEdgeId)
 
bool eve::procgen_editing::detail::decodeDisconnectAtPosition (const EditorValue &value, procgen::road::RoadEdge &original, std::vector< procgen::road::RoadLaneConnection > &originalLinks, std::vector< procgen::road::RoadLaneConnection > &originalBlockedLinks, std::uint32_t &nodeId, std::uint32_t &secondEdgeId, std::uint32_t &branchEdgeId)
 
EditorValue eve::procgen_editing::detail::encodeIntersectionConnect (std::uint32_t firstEdgeId, std::uint32_t secondEdgeId, float firstParameter, float secondParameter, procgen::road::RoadControlPoint mergedPoint, float maximumHeightDelta, float junctionRadius, const procgen::road::RoadEdgeSplitResult &firstSplit, const procgen::road::RoadEdgeSplitResult &secondSplit)
 
bool eve::procgen_editing::detail::decodePoint (const EditorValue &value, const char *name, procgen::road::RoadControlPoint &point)
 
bool eve::procgen_editing::detail::decodeIntersectionConnect (const EditorValue &value, std::uint32_t &firstEdgeId, std::uint32_t &secondEdgeId, float &firstParameter, float &secondParameter, procgen::road::RoadControlPoint &mergedPoint, float &maximumHeightDelta, float &junctionRadius, std::uint32_t &firstNodeId, std::uint32_t &firstSecondEdgeId, std::uint32_t &secondNodeId, std::uint32_t &secondSecondEdgeId)
 
EditorValue eve::procgen_editing::detail::encodeIntersectionDisconnect (const procgen::road::RoadEdge &first, const procgen::road::RoadEdge &second, const std::vector< procgen::road::RoadLaneConnection > &links, const std::vector< procgen::road::RoadLaneConnection > &blockedLinks, std::uint32_t sharedNodeId, std::uint32_t firstSecondEdgeId, std::uint32_t secondSecondEdgeId)
 
bool eve::procgen_editing::detail::decodeIntersectionDisconnect (const EditorValue &value, procgen::road::RoadEdge &first, procgen::road::RoadEdge &second, std::vector< procgen::road::RoadLaneConnection > &links, std::vector< procgen::road::RoadLaneConnection > &blockedLinks, std::uint32_t &sharedNodeId, std::uint32_t &firstSecondEdgeId, std::uint32_t &secondSecondEdgeId)
 
EditorValue eve::procgen_editing::detail::encodeEdgeRecord (const procgen::road::RoadEdge &edge, const std::vector< procgen::road::RoadLaneConnection > &links, const std::vector< procgen::road::RoadLaneConnection > &blockedLinks)
 
bool eve::procgen_editing::detail::decodeEdgeRecord (const EditorValue &value, procgen::road::RoadEdge &edge, std::vector< procgen::road::RoadLaneConnection > &links, std::vector< procgen::road::RoadLaneConnection > *blockedLinks)
 
editing::GizmoPrimitive eve::procgen_editing::detail::linePrimitive (std::string id, const procgen::road::RoadControlPoint &from, const procgen::road::RoadControlPoint &to)