Transaction target that edits stable RoadNetwork node/edge ids. 更多...
#include <RoadNetworkEditTarget.h>
Public 成员函数 | |
| EVENGINE_API_ORCHESTRATION | RoadNetworkEditTarget (std::string id, procgen::road::RoadNetwork &network) |
| Bind an editor target to an externally owned road network. | |
| editing::TargetId | targetId () const override |
| Target id. | |
| std::uint64_t | revision () const override |
| Revision. | |
| editing::EditRegion | dirtyRegion () const override |
| Dirty region. | |
| void | clearDirtyRegion () override |
| Clears dirty region. | |
| EVENGINE_API_ORCHESTRATION editing::TargetDescriptor | describe () const override |
| Describe the target for tools and automation. | |
| EVENGINE_API_ORCHESTRATION void * | queryCapability (const editing::CapabilityId &capability) override |
| Query an optional stable capability. | |
| EVENGINE_API_ORCHESTRATION editing::GizmoSnapshot | gizmo (std::size_t maximumPrimitives=4096, bool showLabels=true) const |
| Build a renderer-neutral authoring overlay from stable road identities. | |
| EVENGINE_API_ORCHESTRATION EditorValue | snapshotValue () const override |
Serialize the complete editable network as eve.procgen.roadNetwork schema version 1. | |
| EVENGINE_API_ORCHESTRATION EditorResult< void > | loadSnapshot (const EditorValue &snapshot) |
| Atomically replace the network from a validated version-one snapshot. | |
| EVENGINE_API_ORCHESTRATION EditorResult< void > | applyDomainOperation (const editing::DomainOperation &operation) override |
| Apply one validated domain operation. | |
| EVENGINE_API_ORCHESTRATION std::unique_ptr< editing::IDomainOperationTarget > | cloneDomainState () const override |
| Clone the complete target state into an owning detached candidate. | |
| EVENGINE_API_ORCHESTRATION EditorResult< void > | commitDomainState (std::unique_ptr< editing::IDomainOperationTarget > candidate) override |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeMoveNode (std::uint32_t nodeId, float x, float y, float z) const |
| Create an undoable stable-id node move operation. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeSetNodeJunctionRadius (std::uint32_t nodeId, float junctionRadius) const |
| Create an undoable junction-radius replacement operation. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeSetNodeJunctionControl (std::uint32_t nodeId, procgen::road::RoadJunctionControl control) const |
| Create an undoable junction traffic-control replacement operation. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeMergeNodes (std::uint32_t keepNodeId, std::uint32_t removeNodeId, float maxDistance) const |
| Create an undoable endpoint-node merge within an explicit 3D snap distance. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeMergeNodesAndConnect (std::uint32_t keepNodeId, std::uint32_t removeNodeId, float maxDistance) const |
| Atomically merge nearby endpoint nodes and generate every missing legal turn at the result. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeSetEdgeControlPoints (std::uint32_t edgeId, std::vector< procgen::road::RoadControlPoint > points) const |
| Create an undoable stable-id spline replacement operation. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeSetEdgeStyle (std::uint32_t edgeId, procgen::road::RoadStyle style) const |
| Create an undoable stable-id edge style replacement operation. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeSetEdgeLaneCounts (std::uint32_t edgeId, int lanesForward, int lanesBackward) const |
| Create an undoable lane-count replacement, including links invalidated by a shrink. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeReverseEdge (std::uint32_t edgeId) const |
| Create a self-inverse operation that reverses an edge and all direction-relative metadata. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeReconnectEdgeEndpoint (std::uint32_t edgeId, bool fromEndpoint, std::uint32_t nodeId) const |
| Create an undoable operation reconnecting one road endpoint to an existing node. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeReconnectEdgeEndpointAndConnect (std::uint32_t edgeId, bool fromEndpoint, std::uint32_t nodeId) const |
| Atomically reconnect one endpoint and add missing turns involving that edge at the new junction. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeSnapEdgeEndpoint (std::uint32_t edgeId, bool fromEndpoint, float maxDistance, bool connectTurns=true) const |
| Snap one endpoint to the nearest distinct node inside an explicit 3D radius. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeDetachEdgeEndpoint (std::uint32_t edgeId, bool fromEndpoint) const |
| Create an undoable operation detaching one endpoint onto a new coincident stable node. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeSplitEdge (std::uint32_t edgeId, std::size_t controlPointIndex, float junctionRadius=6.f) const |
| Create an undoable split at an authored interior control point. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeSplitEdgeAtPosition (std::uint32_t edgeId, procgen::road::RoadControlPoint position, float maxDistance, float junctionRadius=6.f) const |
| Create an undoable nearest-centerline split from a world position. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeConnectNodeAtPosition (std::uint32_t sourceNodeId, std::uint32_t edgeId, procgen::road::RoadControlPoint position, float maxDistance, float junctionRadius=6.f, int lanesForward=1, int lanesBackward=0, procgen::road::RoadStyle style={}) const |
| Atomically split a road at a world position and add a branch from an existing node. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeConnectEdgeIntersection (std::uint32_t firstEdgeId, std::uint32_t secondEdgeId, float maximumHeightDelta=0.5f, float junctionRadius=6.f) const |
| Atomically convert one unique same-level crossing into a connected junction. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeAddNode (float x, float y, float z, float junctionRadius=6.f) const |
| Create an undoable node insertion with a reserved stable id. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeRemoveNode (std::uint32_t nodeId) const |
| Create an undoable removal for an isolated stable-id node. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeAddEdge (std::uint32_t from, std::uint32_t to, std::vector< procgen::road::RoadControlPoint > points, int lanesForward=2, int lanesBackward=0, procgen::road::RoadStyle style={}) const |
| Create an undoable edge insertion with a reserved stable id. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeAddEdgeAndConnect (std::uint32_t from, std::uint32_t to, std::vector< procgen::road::RoadControlPoint > points, int lanesForward=2, int lanesBackward=0, procgen::road::RoadStyle style={}) const |
| Create an edge and every missing endpoint turn involving that edge as one undoable operation. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeRemoveEdge (std::uint32_t edgeId) const |
| Create an undoable edge removal including its affected lane links. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeAddLaneLink (procgen::road::RoadLaneConnection link) const |
| Create an undoable manual lane connection. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeRemoveLaneLink (const procgen::road::RoadLaneConnection &link) const |
| Create an undoable removal of one exact manual lane connection. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeBlockLaneLink (procgen::road::RoadLaneConnection link) const |
| Plan a persistent prohibited turn, atomically removing an active exact link when present. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeUnblockLaneLink (const procgen::road::RoadLaneConnection &link) const |
| Plan removal of one persistent prohibited turn without automatically activating it. | |
| EVENGINE_API_ORCHESTRATION EditorResult< editing::DomainOperation > | makeConnectAllTurns (std::uint32_t nodeId) const |
| Plan all missing legal turn links at one node as one atomic undoable operation. | |
Public 成员函数 继承自 eve::editing::IEditableTarget | |
| virtual | ~IEditableTarget ()=default |
| Releases IEditableTarget resources. | |
| template<class C > | |
| eve::OptionalRef< C > | capability () |
| Query a capability through its interface-owned stable identity. | |
| template<class C > | |
| eve::OptionalRef< const C > | capability () const |
| Capability. | |
| template<class C > | |
| C * | query () |
| Queries query. | |
| template<class C > | |
| const C * | query () const |
| Queries query. | |
Public 成员函数 继承自 eve::editing::IDomainOperationTarget | |
| ~IDomainOperationTarget () override=default | |
| Releases IDomainOperationTarget resources. | |
Public 成员函数 继承自 eve::editing::IDomainOperationTargetStaging | |
| virtual | ~IDomainOperationTargetStaging ()=default |
| Releases IDomainOperationTargetStaging resources. | |
| virtual Result< void > | commitDomainState (std::unique_ptr< IDomainOperationTarget > candidate)=0 |
| Atomically publish a validated candidate state. | |
Public 成员函数 继承自 eve::editing::IEditingSnapshotProvider | |
| virtual | ~IEditingSnapshotProvider ()=default |
| Releases IEditingSnapshotProvider resources. | |
静态 Public 成员函数 | |
| static EVENGINE_API_ORCHESTRATION std::unique_ptr< RoadNetworkEditTarget > | createOwned (std::string id) |
| Create an editor-owned empty road target for automation/composition hosts. | |
静态 Public 成员函数 继承自 eve::editing::IEditingSnapshotProvider | |
| static CapabilityId | editingCapabilityId () |
| Stable capability identity shared by every editable domain target. | |
静态 Public 属性 | |
| static constexpr const char * | kMoveNode = "road.node.move.v1" |
| static constexpr const char * | kSetNodeRadius = "road.node.set-radius.v1" |
| static constexpr const char * | kSetNodeControl = "road.node.set-junction-control.v1" |
| static constexpr const char * | kSetEdgePoints = "road.edge.set-control-points.v1" |
| static constexpr const char * | kSetEdgeStyle = "road.edge.set-style.v1" |
| static constexpr const char * | kSetEdgeLanes = "road.edge.set-lanes.v1" |
| static constexpr const char * | kReverseEdge = "road.edge.reverse.v1" |
| static constexpr const char * | kReconnectEdgeEndpoint = "road.edge.reconnect-endpoint.v1" |
| static constexpr const char * | kDetachEdgeEndpoint = "road.edge.detach-endpoint.v1" |
| static constexpr const char * | kReattachEdgeEndpoint = "road.edge.reattach-endpoint.v1" |
| static constexpr const char * | kSplitEdge = "road.edge.split.v1" |
| static constexpr const char * | kSplitEdgeAtPosition = "road.edge.split-at-position.v1" |
| static constexpr const char * | kUnsplitEdge = "road.edge.unsplit.v1" |
| static constexpr const char * | kMergeNodes = "road.node.merge.v1" |
| static constexpr const char * | kMergeNodesAndConnect = "road.node.merge-and-connect.v1" |
| static constexpr const char * | kUnmergeNodes = "road.node.unmerge.v1" |
| static constexpr const char * | kConnectNodeAtPosition = "road.node.connect-at-position.v1" |
| static constexpr const char * | kDisconnectNodeAtPosition = "road.node.disconnect-at-position.v1" |
| static constexpr const char * | kConnectEdgeIntersection = "road.edge.connect-intersection.v1" |
| static constexpr const char * | kDisconnectEdgeIntersection = "road.edge.disconnect-intersection.v1" |
| static constexpr const char * | kRestoreNode = "road.node.restore.v1" |
| static constexpr const char * | kRemoveNode = "road.node.remove.v1" |
| static constexpr const char * | kRestoreEdge = "road.edge.restore.v1" |
| static constexpr const char * | kRemoveEdge = "road.edge.remove.v1" |
| static constexpr const char * | kRestoreLaneLink = "road.lane-link.restore.v1" |
| static constexpr const char * | kRemoveLaneLink = "road.lane-link.remove.v1" |
| static constexpr const char * | kBlockLaneLink = "road.lane-link.block.v1" |
| static constexpr const char * | kUnblockLaneLink = "road.lane-link.unblock.v1" |
| static constexpr const char * | kRestoreLaneLinks = "road.lane-links.restore.v1" |
| static constexpr const char * | kRemoveLaneLinks = "road.lane-links.remove.v1" |
详细描述
Transaction target that edits stable RoadNetwork node/edge ids.
The live target borrows one authoritative RoadNetwork. Detached transaction candidates alone own a temporary copy; commit atomically replaces the live value, so this adapter never becomes a second persistent road document.
在文件 RoadNetworkEditTarget.h 第 24 行定义.
构造及析构函数说明
◆ RoadNetworkEditTarget()
| eve::procgen_editing::RoadNetworkEditTarget::RoadNetworkEditTarget | ( | std::string | id, |
| procgen::road::RoadNetwork & | network | ||
| ) |
Bind an editor target to an externally owned road network.
- 参数
-
id Stable editor target identity. network Borrowed authoritative network. @lifetime The network must outlive this target and all in-flight transactions.
在文件 RoadNetworkEditTarget.cpp 第 778 行定义.
成员函数说明
◆ applyDomainOperation()
|
overridevirtual |
Apply one validated domain operation.
- 参数
-
operation Operation whose target must match this target.
- 返回
- Applied on mutation, otherwise a structured rejection or failure.
- 备注
- Implementations are main-thread-affine unless their domain contract states otherwise.
实现了 eve::editing::IDomainOperationTarget.
在文件 RoadNetworkEditApply.cpp 第 11 行定义.
引用了 eve::procgen::road::RoadNetwork::addLaneLink(), eve::editing::applied(), eve::procgen::road::RoadNetwork::blockLaneLink(), eve::procgen_editing::detail::decodeBlockedLink(), eve::procgen_editing::detail::decodeConnectAtPosition(), eve::procgen_editing::detail::decodeDetachEndpoint(), eve::procgen_editing::detail::decodeDisconnectAtPosition(), eve::procgen_editing::detail::decodeEdge(), eve::procgen_editing::detail::decodeEdgeRecord(), eve::procgen_editing::detail::decodeIntersectionConnect(), eve::procgen_editing::detail::decodeIntersectionDisconnect(), eve::procgen_editing::detail::decodeLaneCounts(), eve::procgen_editing::detail::decodeLink(), eve::procgen_editing::detail::decodeLinks(), eve::procgen_editing::detail::decodeMergeNodes(), eve::procgen_editing::detail::decodeNodeControl(), eve::procgen_editing::detail::decodeNodeRadius(), eve::procgen_editing::detail::decodeNodeRecord(), eve::procgen_editing::detail::decodePositionSplit(), eve::procgen_editing::detail::decodeReattachEndpoint(), eve::procgen_editing::detail::decodeReconnectEndpoint(), eve::procgen_editing::detail::decodeSplit(), eve::procgen_editing::detail::decodeStyle(), eve::procgen_editing::detail::decodeUnmergeNodes(), eve::procgen_editing::detail::decodeUnsplit(), eve::procgen::road::RoadNetwork::detachEdgeEndpoint(), edge, first, eve::procgen::road::RoadEdge::id, eve::editing::EditRegion::include(), kBlockLaneLink, kConnectEdgeIntersection, kConnectNodeAtPosition, kDetachEdgeEndpoint, kDisconnectEdgeIntersection, kDisconnectNodeAtPosition, kMergeNodes, kMergeNodesAndConnect, kMoveNode, kReattachEdgeEndpoint, kReconnectEdgeEndpoint, kRemoveEdge, kRemoveLaneLink, kRemoveLaneLinks, kRemoveNode, kRestoreEdge, kRestoreLaneLink, kRestoreLaneLinks, kRestoreNode, kReverseEdge, kSetEdgeLanes, kSetEdgePoints, kSetEdgeStyle, kSetNodeControl, kSetNodeRadius, kSplitEdge, kSplitEdgeAtPosition, kUnblockLaneLink, kUnmergeNodes, kUnsplitEdge, eve::procgen::road::RoadNetwork::mergeNodes(), node, nodeId, operation, points, position, eve::procgen_editing::detail::readId(), eve::procgen_editing::detail::readNumber(), eve::procgen::road::RoadNetwork::reconnectEdgeEndpoint(), removed, eve::procgen::road::RoadNetwork::removeEdge(), eve::procgen::road::RoadNetwork::removeNode(), eve::procgen::road::RoadNetwork::restoreEdge(), eve::procgen::road::RoadNetwork::restoreNode(), eve::procgen::road::RoadNetwork::reverseEdge(), second, eve::procgen::road::RoadNetwork::setEdgeControlPoints(), eve::procgen::road::RoadNetwork::setEdgeLaneCounts(), eve::procgen::road::RoadNetwork::setEdgeStyle(), eve::procgen::road::RoadNetwork::setNodeJunctionControl(), eve::procgen::road::RoadNetwork::setNodeJunctionRadius(), eve::procgen::road::RoadNetwork::setNodePosition(), split, eve::procgen::road::RoadNetwork::splitEdge(), eve::procgen::road::RoadNetwork::splitEdgeAtPosition(), eve::procgen::road::RoadNetwork::splitEdgeAtSplineParameter(), targetId(), eve::procgen::road::Uncontrolled, valid, x, eve::procgen::road::RoadControlPoint::x, y, eve::procgen::road::RoadControlPoint::y, z , 以及 eve::procgen::road::RoadControlPoint::z.
◆ clearDirtyRegion()
|
inlineoverridevirtual |
◆ cloneDomainState()
|
overridevirtual |
Clone the complete target state into an owning detached candidate.
- 返回
- Owning candidate that shares no mutable state with the authoritative target.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 RoadNetworkEditTarget.cpp 第 949 行定义.
◆ commitDomainState()
|
override |
在文件 RoadNetworkEditTarget.cpp 第 954 行定义.
引用了 eve::editing::applied(), eve::editing::EditRegion::include() , 以及 valid.
◆ createOwned()
|
static |
Create an editor-owned empty road target for automation/composition hosts.
在文件 RoadNetworkEditTarget.cpp 第 781 行定义.
被这些函数引用 eve::procgen_editor::ProcgenEditorModule::TargetFactory::create().
◆ describe()
|
overridevirtual |
Describe the target for tools and automation.
重载 eve::editing::IEditableTarget .
在文件 RoadNetworkEditTarget.cpp 第 789 行定义.
引用了 eve::editing::IEditingSnapshotProvider::editingCapabilityId(), revision() , 以及 targetId().
◆ dirtyRegion()
|
inlineoverridevirtual |
◆ gizmo()
| editing::GizmoSnapshot eve::procgen_editing::RoadNetworkEditTarget::gizmo | ( | std::size_t | maximumPrimitives = 4096, |
| bool | showLabels = true |
||
| ) | const |
Build a renderer-neutral authoring overlay from stable road identities.
- 参数
-
maximumPrimitives Hard output budget; zero produces a rejected snapshot. showLabels Whether node identity labels are included.
- 返回
- Owning revision-tagged snapshot, or a rejected snapshot when the budget is insufficient. @cost Linear in node and edge control-point count; output is bounded by maximumPrimitives. @thread Call only while the borrowed RoadNetwork is not being mutated.
在文件 RoadNetworkEditTarget.cpp 第 800 行定义.
引用了 eve::editing::GizmoSnapshot::diagnostics, edge, eve::procgen::road::RoadNetwork::edges(), handle, eve::editing::GizmoPrimitive::id, label, eve::procgen_editing::detail::linePrimitive(), node, eve::procgen::road::RoadNetwork::nodes(), point, eve::PreconditionViolation, eve::editing::GizmoSnapshot::primitives, required, revision(), eve::editing::ruleDiagnostic(), eve::editing::GizmoSnapshot::status, eve::editing::GizmoSnapshot::target , 以及 eve::editing::GizmoSnapshot::targetRevision.
◆ loadSnapshot()
| EditorResult< void > eve::procgen_editing::RoadNetworkEditTarget::loadSnapshot | ( | const EditorValue & | snapshot | ) |
Atomically replace the network from a validated version-one snapshot.
- 参数
-
snapshot Serialized road network value; unknown object fields are ignored.
- 返回
- Applied on success, otherwise a structured rejection without changing the live network. @cost Linear in graph size with bounded node, edge, control-point, and lane-link counts.
在文件 RoadNetworkEditTarget.cpp 第 884 行定义.
引用了 eve::procgen::road::RoadNetwork::addLaneLink(), eve::editing::applied(), eve::procgen::road::RoadNetwork::blockLaneLink(), eve::procgen_editing::detail::decodeEdgeRecord(), eve::procgen_editing::detail::decodeLink(), eve::procgen_editing::detail::decodeNodeRecord(), edge, edges, eve::procgen_editing::detail::field(), eve::editing::EditRegion::include(), node, nodes, eve::procgen::road::RoadNetwork::restoreEdge(), eve::procgen::road::RoadNetwork::restoreNode(), valid , 以及 eve::procgen::road::RoadNetwork::validate().
◆ makeAddEdge()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeAddEdge | ( | std::uint32_t | from, |
| std::uint32_t | to, | ||
| std::vector< procgen::road::RoadControlPoint > | points, | ||
| int | lanesForward = 2, |
||
| int | lanesBackward = 0, |
||
| procgen::road::RoadStyle | style = {} |
||
| ) | const |
Create an undoable edge insertion with a reserved stable id.
- 参数
-
from Stable source node identity. to Stable destination node identity. points Owning spline control points. lanesForward Forward lane count. lanesBackward Reverse lane count. style Complete edge style.
- 返回
- Owning restore/remove operation pair or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 579 行定义.
引用了 eve::procgen::road::RoadNetwork::addEdge(), eve::editing::applied(), edge, eve::procgen_editing::detail::encodeEdgeRecord(), from, kRemoveEdge, kRestoreEdge, operation, points, targetId(), to , 以及 eve::editing::DomainOperation::type.
被这些函数引用 makeAddEdgeAndConnect().
◆ makeAddEdgeAndConnect()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeAddEdgeAndConnect | ( | std::uint32_t | from, |
| std::uint32_t | to, | ||
| std::vector< procgen::road::RoadControlPoint > | points, | ||
| int | lanesForward = 2, |
||
| int | lanesBackward = 0, |
||
| procgen::road::RoadStyle | style = {} |
||
| ) | const |
Create an edge and every missing endpoint turn involving that edge as one undoable operation.
- 参数
-
from Stable source node identity. to Stable destination node identity. points Owning spline control points. lanesForward Forward lane count. lanesBackward Reverse lane count. style Complete edge style.
- 返回
- One restore/remove pair containing the stable edge and its exact generated lane links.
- 注解
- Existing-to-existing endpoint routes are not generated or changed. @cost Quadratic in endpoint incident edge count times lane count; intended for authoring transactions.
在文件 RoadNetworkEditOperations.cpp 第 598 行定义.
引用了 eve::editing::applied(), eve::procgen_editing::detail::decodeEdgeRecord(), edge, eve::procgen_editing::detail::encodeEdgeRecord(), from, makeAddEdge(), nodeId, operation, points, eve::procgen::road::RoadNetwork::restoreEdge() , 以及 to.
◆ makeAddLaneLink()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeAddLaneLink | ( | procgen::road::RoadLaneConnection | link | ) | const |
Create an undoable manual lane connection.
- 参数
-
link Complete directed lane-to-lane connection.
- 返回
- Owning restore/remove operation pair or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 651 行定义.
引用了 eve::procgen::road::RoadNetwork::addLaneLink(), eve::editing::applied(), eve::procgen_editing::detail::encodeLink(), eve::procgen::road::RoadLaneConnection::inEdge, kRemoveLaneLink, kRestoreLaneLink, operation, eve::procgen::road::RoadLaneConnection::outEdge, targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeAddNode()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeAddNode | ( | float | x, |
| float | y, | ||
| float | z, | ||
| float | junctionRadius = 6.f |
||
| ) | const |
Create an undoable node insertion with a reserved stable id.
- 参数
-
x Finite world X coordinate. y Finite world Y coordinate. z Finite world Z coordinate. junctionRadius Positive junction trim radius.
- 返回
- Owning restore/remove operation pair or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 544 行定义.
引用了 eve::procgen::road::RoadNetwork::addNode(), eve::editing::applied(), eve::procgen_editing::detail::encodeNodeRecord(), kRemoveNode, kRestoreNode, node, operation, targetId(), eve::editing::DomainOperation::type, x, y , 以及 z.
◆ makeBlockLaneLink()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeBlockLaneLink | ( | procgen::road::RoadLaneConnection | link | ) | const |
Plan a persistent prohibited turn, atomically removing an active exact link when present.
在文件 RoadNetworkEditOperations.cpp 第 687 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::blockLaneLink(), eve::procgen_editing::detail::encodeBlockedLink(), eve::procgen::road::RoadLaneConnection::inEdge, kBlockLaneLink, kUnblockLaneLink, operation, eve::procgen::road::RoadLaneConnection::outEdge, targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeConnectAllTurns()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeConnectAllTurns | ( | std::uint32_t | nodeId | ) | const |
Plan all missing legal turn links at one node as one atomic undoable operation.
- 参数
-
nodeId Stable junction node identity.
- 返回
- Batch restore/remove operation containing only newly generated links.
在文件 RoadNetworkEditOperations.cpp 第 723 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::connectAllTurns(), current, eve::procgen_editing::detail::encodeLinks(), kRemoveLaneLinks, kRestoreLaneLinks, eve::procgen::road::RoadNetwork::laneLinks(), nodeId, operation, targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeConnectEdgeIntersection()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeConnectEdgeIntersection | ( | std::uint32_t | firstEdgeId, |
| std::uint32_t | secondEdgeId, | ||
| float | maximumHeightDelta = 0.5f, |
||
| float | junctionRadius = 6.f |
||
| ) | const |
Atomically convert one unique same-level crossing into a connected junction.
- 参数
-
firstEdgeId First road edge crossing internally. secondEdgeId Distinct second road edge crossing internally. maximumHeightDelta Maximum vertical separation that may become a junction. junctionRadius Radius assigned to the shared intersection node.
- 返回
- One operation covering both splits, node merge, and lane turns. @cost Quadratic in bounded sampled spline intervals, then linear in graph and lane-link size.
在文件 RoadNetworkEditOperations.cpp 第 475 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::blockedLaneLinks(), eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodeIntersectionConnect(), eve::procgen_editing::detail::encodeIntersectionDisconnect(), eve::procgen_editing::detail::findUniqueInteriorIntersection(), first, kConnectEdgeIntersection, kDisconnectEdgeIntersection, eve::procgen::road::RoadNetwork::laneLinks(), operation, second, eve::procgen::road::RoadNetwork::splitEdgeAtSplineParameter(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeConnectNodeAtPosition()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeConnectNodeAtPosition | ( | std::uint32_t | sourceNodeId, |
| std::uint32_t | edgeId, | ||
| procgen::road::RoadControlPoint | position, | ||
| float | maxDistance, | ||
| float | junctionRadius = 6.f, |
||
| int | lanesForward = 1, |
||
| int | lanesBackward = 0, |
||
| procgen::road::RoadStyle | style = {} |
||
| ) | const |
Atomically split a road at a world position and add a branch from an existing node.
- 参数
-
sourceNodeId Existing branch source node. edgeId Road edge to split and connect. position World position projected onto the road centerline. maxDistance Maximum allowed 3D snap distance. junctionRadius Radius assigned to the inserted junction. lanesForward Forward branch lane count. lanesBackward Reverse branch lane count. style Branch road style.
- 返回
- One forward/inverse operation covering both structural changes. @cost Linear in road topology and lane-link count; intended for authoring transactions.
在文件 RoadNetworkEditOperations.cpp 第 422 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::blockedLaneLinks(), eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodeConnectAtPosition(), eve::procgen_editing::detail::encodeDisconnectAtPosition(), kConnectNodeAtPosition, kDisconnectNodeAtPosition, eve::procgen::road::RoadNetwork::laneLinks(), eve::procgen::road::RoadNetwork::nodeResult(), operation, position, source, sourceNodeId, split, eve::procgen::road::RoadNetwork::splitEdgeAtPosition(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeDetachEdgeEndpoint()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeDetachEdgeEndpoint | ( | std::uint32_t | edgeId, |
| bool | fromEndpoint | ||
| ) | const |
Create an undoable operation detaching one endpoint onto a new coincident stable node.
- 参数
-
edgeId Stable road edge identity. fromEndpoint True for the authored start endpoint, false for the end endpoint.
- 返回
- Detach/reattach pair restoring the old node and all pruned allowed/blocked turns. @cost Linear in network lane-link count; intended for authoring transactions.
在文件 RoadNetworkEditOperations.cpp 第 325 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::blockedLaneLinks(), eve::procgen::road::RoadNetwork::detachEdgeEndpoint(), edge, eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodeDetachEndpoint(), eve::procgen_editing::detail::encodeReattachEndpoint(), kDetachEdgeEndpoint, kReattachEdgeEndpoint, eve::procgen::road::RoadNetwork::laneLinks(), operation, targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeMergeNodes()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeMergeNodes | ( | std::uint32_t | keepNodeId, |
| std::uint32_t | removeNodeId, | ||
| float | maxDistance | ||
| ) | const |
Create an undoable endpoint-node merge within an explicit 3D snap distance.
- 参数
-
keepNodeId Stable node identity and position retained by the merge. removeNodeId Distinct nearby node rewired into keepNodeId. maxDistance Maximum allowed distance between nodes.
- 返回
- Merge/unmerge operation pair preserving affected edges and lane links. @cost Linear in road topology and affected lane links; intended for authoring transactions.
在文件 RoadNetworkEditOperations.cpp 第 72 行定义.
◆ makeMergeNodesAndConnect()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeMergeNodesAndConnect | ( | std::uint32_t | keepNodeId, |
| std::uint32_t | removeNodeId, | ||
| float | maxDistance | ||
| ) | const |
Atomically merge nearby endpoint nodes and generate every missing legal turn at the result.
- 参数
-
keepNodeId Stable node identity and position retained by the merge. removeNodeId Distinct nearby node rewired into keepNodeId. maxDistance Maximum allowed 3D distance between nodes.
- 返回
- Merge/unmerge operation pair restoring the exact pre-merge edges and lane links. @cost Linear in topology plus quadratic in incident edge count times lane count; authoring only.
在文件 RoadNetworkEditOperations.cpp 第 78 行定义.
◆ makeMoveNode()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeMoveNode | ( | std::uint32_t | nodeId, |
| float | x, | ||
| float | y, | ||
| float | z | ||
| ) | const |
Create an undoable stable-id node move operation.
- 参数
-
nodeId Stable node identity. x New finite world X coordinate. y New finite world Y coordinate. z New finite world Z coordinate.
- 返回
- Owning forward/inverse operation or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 12 行定义.
引用了 eve::editing::applied(), eve::procgen_editing::detail::encodeNode(), kMoveNode, node, nodeId, eve::procgen::road::RoadNetwork::nodeResult(), operation, targetId(), eve::editing::DomainOperation::type, x, y , 以及 z.
◆ makeReconnectEdgeEndpoint()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeReconnectEdgeEndpoint | ( | std::uint32_t | edgeId, |
| bool | fromEndpoint, | ||
| std::uint32_t | nodeId | ||
| ) | const |
Create an undoable operation reconnecting one road endpoint to an existing node.
- 参数
-
edgeId Stable road edge identity. fromEndpoint True for the authored start endpoint, false for the end endpoint. nodeId Existing replacement node identity.
- 返回
- Forward/inverse pair that also restores lane connections pruned from the old junction. @cost Linear in network lane-link count; intended for authoring transactions.
在文件 RoadNetworkEditOperations.cpp 第 227 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::blockedLaneLinks(), edge, eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodeReconnectEndpoint(), kReconnectEdgeEndpoint, eve::procgen::road::RoadNetwork::laneLinks(), nodeId, operation, eve::procgen::road::RoadNetwork::reconnectEdgeEndpoint(), targetId() , 以及 eve::editing::DomainOperation::type.
被这些函数引用 makeReconnectEdgeEndpointAndConnect() , 以及 makeSnapEdgeEndpoint().
◆ makeReconnectEdgeEndpointAndConnect()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeReconnectEdgeEndpointAndConnect | ( | std::uint32_t | edgeId, |
| bool | fromEndpoint, | ||
| std::uint32_t | nodeId | ||
| ) | const |
Atomically reconnect one endpoint and add missing turns involving that edge at the new junction.
- 参数
-
edgeId Stable road edge identity. fromEndpoint True for the authored start endpoint, false for the end endpoint. nodeId Existing replacement node identity.
- 返回
- Reconnect operation whose inverse restores the old junction connections exactly. @cost Linear in topology plus quadratic in new-junction incident edges times lane count; authoring only.
在文件 RoadNetworkEditOperations.cpp 第 269 行定义.
引用了 eve::procgen_editing::detail::encodeReconnectEndpoint(), eve::procgen::road::RoadNetwork::laneLinks(), makeReconnectEdgeEndpoint(), nodeId , 以及 eve::procgen::road::RoadNetwork::reconnectEdgeEndpoint().
被这些函数引用 makeSnapEdgeEndpoint().
◆ makeRemoveEdge()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeRemoveEdge | ( | std::uint32_t | edgeId | ) | const |
Create an undoable edge removal including its affected lane links.
- 参数
-
edgeId Stable edge identity.
- 返回
- Owning remove/restore operation pair or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 627 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::blockedLaneLinks(), edge, eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodeEdgeRecord(), kRemoveEdge, kRestoreEdge, eve::procgen::road::RoadNetwork::laneLinks(), operation, targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeRemoveLaneLink()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeRemoveLaneLink | ( | const procgen::road::RoadLaneConnection & | link | ) | const |
Create an undoable removal of one exact manual lane connection.
- 参数
-
link Composite connection identity to remove.
- 返回
- Owning remove/restore operation pair or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 669 行定义.
引用了 eve::editing::applied(), eve::procgen_editing::detail::encodeLink(), eve::procgen::road::RoadLaneConnection::inEdge, kRemoveLaneLink, kRestoreLaneLink, operation, eve::procgen::road::RoadLaneConnection::outEdge, removed, eve::procgen::road::RoadNetwork::removeLaneLink(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeRemoveNode()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeRemoveNode | ( | std::uint32_t | nodeId | ) | const |
Create an undoable removal for an isolated stable-id node.
- 参数
-
nodeId Stable node identity.
- 返回
- Owning remove/restore operation pair or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 562 行定义.
引用了 eve::editing::applied(), eve::procgen_editing::detail::encodeNodeRecord(), kRemoveNode, kRestoreNode, node, nodeId, eve::procgen::road::RoadNetwork::nodeResult(), operation, removed, eve::procgen::road::RoadNetwork::removeNode(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeReverseEdge()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeReverseEdge | ( | std::uint32_t | edgeId | ) | const |
Create a self-inverse operation that reverses an edge and all direction-relative metadata.
- 参数
-
edgeId Stable edge identity.
- 返回
- Owning operation or a structured rejection. @cost Linear in edge control points and network lane links.
在文件 RoadNetworkEditOperations.cpp 第 211 行定义.
引用了 eve::editing::applied(), kReverseEdge, operation, eve::procgen::road::RoadNetwork::reverseEdge(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeSetEdgeControlPoints()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeSetEdgeControlPoints | ( | std::uint32_t | edgeId, |
| std::vector< procgen::road::RoadControlPoint > | points | ||
| ) | const |
Create an undoable stable-id spline replacement operation.
- 参数
-
edgeId Stable edge identity. points Owning replacement control points.
- 返回
- Owning forward/inverse operation or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 127 行定义.
引用了 eve::editing::applied(), edge, eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodeEdge(), kSetEdgePoints, operation, points, eve::procgen::road::RoadNetwork::setEdgeControlPoints(), targetId(), eve::editing::DomainOperation::type , 以及 valid.
◆ makeSetEdgeLaneCounts()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeSetEdgeLaneCounts | ( | std::uint32_t | edgeId, |
| int | lanesForward, | ||
| int | lanesBackward | ||
| ) | const |
Create an undoable lane-count replacement, including links invalidated by a shrink.
- 参数
-
edgeId Stable edge identity. lanesForward New forward lane count. lanesBackward New reverse lane count.
- 返回
- Owning forward/inverse operation or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 169 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::blockedLaneLinks(), count, direction, edge, eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodeLaneCounts(), eve::procgen::road::Forward, kSetEdgeLanes, eve::procgen::road::RoadNetwork::laneLinks(), operation, eve::procgen::road::RoadNetwork::setEdgeLaneCounts(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeSetEdgeStyle()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeSetEdgeStyle | ( | std::uint32_t | edgeId, |
| procgen::road::RoadStyle | style | ||
| ) | const |
Create an undoable stable-id edge style replacement operation.
- 参数
-
edgeId Stable edge identity. style Complete replacement style value.
- 返回
- Owning forward/inverse operation or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 148 行定义.
引用了 eve::editing::applied(), edge, eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodeStyle(), kSetEdgeStyle, operation, eve::procgen::road::RoadNetwork::setEdgeStyle(), targetId(), eve::editing::DomainOperation::type , 以及 valid.
◆ makeSetNodeJunctionControl()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeSetNodeJunctionControl | ( | std::uint32_t | nodeId, |
| procgen::road::RoadJunctionControl | control | ||
| ) | const |
Create an undoable junction traffic-control replacement operation.
- 参数
-
nodeId Stable node identity. control Authoritative control policy for the junction approaches.
- 返回
- Owning forward/inverse operation or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 52 行定义.
引用了 eve::editing::applied(), eve::procgen_editing::detail::encodeNodeControl(), kSetNodeControl, node, nodeId, eve::procgen::road::RoadNetwork::nodeResult(), operation, eve::procgen::road::RoadNetwork::setNodeJunctionControl(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeSetNodeJunctionRadius()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeSetNodeJunctionRadius | ( | std::uint32_t | nodeId, |
| float | junctionRadius | ||
| ) | const |
Create an undoable junction-radius replacement operation.
- 参数
-
nodeId Stable node identity. junctionRadius Finite positive junction trim radius.
- 返回
- Owning forward/inverse operation or a structured rejection.
在文件 RoadNetworkEditOperations.cpp 第 32 行定义.
引用了 eve::editing::applied(), eve::procgen_editing::detail::encodeNodeRadius(), kSetNodeRadius, node, nodeId, eve::procgen::road::RoadNetwork::nodeResult(), operation, eve::procgen::road::RoadNetwork::setNodeJunctionRadius(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeSnapEdgeEndpoint()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeSnapEdgeEndpoint | ( | std::uint32_t | edgeId, |
| bool | fromEndpoint, | ||
| float | maxDistance, | ||
| bool | connectTurns = true |
||
| ) | const |
Snap one endpoint to the nearest distinct node inside an explicit 3D radius.
- 参数
-
edgeId Stable road edge identity. fromEndpoint True for the authored start endpoint, false for the end endpoint. maxDistance Finite non-negative maximum distance from the current endpoint. connectTurns Whether to atomically add missing turns involving the moved edge.
- 返回
- Existing reconnect operation targeting the deterministic nearest node. @cost Linear in node count plus reconnect cost; intended for authoring interactions.
在文件 RoadNetworkEditOperations.cpp 第 290 行定义.
引用了 dx, dy, dz, edge, eve::procgen::road::RoadNetwork::edgeResult(), makeReconnectEdgeEndpoint(), makeReconnectEdgeEndpointAndConnect(), node, eve::procgen::road::RoadNetwork::nodeResult() , 以及 eve::procgen::road::RoadNetwork::nodes().
◆ makeSplitEdge()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeSplitEdge | ( | std::uint32_t | edgeId, |
| std::size_t | controlPointIndex, | ||
| float | junctionRadius = 6.f |
||
| ) | const |
Create an undoable split at an authored interior control point.
- 参数
-
edgeId Stable edge identity retained by the first half. controlPointIndex Interior control-point index. junctionRadius Radius assigned to the inserted junction node.
- 返回
- Split/unsplit operation pair with stable reserved identities.
在文件 RoadNetworkEditOperations.cpp 第 363 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::blockedLaneLinks(), eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodeSplit(), eve::procgen_editing::detail::encodeUnsplit(), kSplitEdge, kUnsplitEdge, eve::procgen::road::RoadNetwork::laneLinks(), operation, split, eve::procgen::road::RoadNetwork::splitEdge(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeSplitEdgeAtPosition()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeSplitEdgeAtPosition | ( | std::uint32_t | edgeId, |
| procgen::road::RoadControlPoint | position, | ||
| float | maxDistance, | ||
| float | junctionRadius = 6.f |
||
| ) | const |
Create an undoable nearest-centerline split from a world position.
- 参数
-
edgeId Stable edge identity retained by the first half. position Finite world position to project onto the authored centerline. maxDistance Maximum allowed 3D snap distance. junctionRadius Radius assigned to the inserted junction node.
- 返回
- Split/unsplit operation pair with stable reserved identities.
在文件 RoadNetworkEditOperations.cpp 第 393 行定义.
引用了 eve::editing::applied(), eve::procgen::road::RoadNetwork::blockedLaneLinks(), eve::procgen::road::RoadNetwork::edgeResult(), eve::procgen_editing::detail::encodePositionSplit(), eve::procgen_editing::detail::encodeUnsplit(), kSplitEdgeAtPosition, kUnsplitEdge, eve::procgen::road::RoadNetwork::laneLinks(), operation, position, split, eve::procgen::road::RoadNetwork::splitEdgeAtPosition(), targetId() , 以及 eve::editing::DomainOperation::type.
◆ makeUnblockLaneLink()
| EditorResult< editing::DomainOperation > eve::procgen_editing::RoadNetworkEditTarget::makeUnblockLaneLink | ( | const procgen::road::RoadLaneConnection & | link | ) | const |
Plan removal of one persistent prohibited turn without automatically activating it.
在文件 RoadNetworkEditOperations.cpp 第 705 行定义.
引用了 eve::editing::applied(), eve::procgen_editing::detail::encodeBlockedLink(), eve::procgen::road::RoadLaneConnection::inEdge, kBlockLaneLink, kUnblockLaneLink, operation, eve::procgen::road::RoadLaneConnection::outEdge, targetId(), eve::editing::DomainOperation::type , 以及 eve::procgen::road::RoadNetwork::unblockLaneLink().
◆ queryCapability()
|
overridevirtual |
Query an optional stable capability.
- 参数
-
capability Stable capability identifier.
- 返回
- Borrowed pointer owned by this target, or null when unsupported. @lifetime Valid until this target is destroyed or the capability is explicitly invalidated.
重载 eve::editing::IEditableTarget .
在文件 RoadNetworkEditTarget.cpp 第 794 行定义.
引用了 eve::editing::IEditableTarget::capability() , 以及 eve::editing::IEditingSnapshotProvider::editingCapabilityId().
◆ revision()
|
inlineoverridevirtual |
Revision.
实现了 eve::editing::IEditableTarget.
在文件 RoadNetworkEditTarget.h 第 71 行定义.
引用了 eve::procgen::road::RoadNetwork::revision().
被这些函数引用 describe() , 以及 gizmo().
◆ snapshotValue()
|
overridevirtual |
Serialize the complete editable network as eve.procgen.roadNetwork schema version 1.
- 返回
- Owning value containing stable nodes, edges, styles, control points, and lane links. @cost Linear in graph size and owning; use for save/reload boundaries, not per frame.
- 注解
- Readers ignore unknown object fields for forward-compatible additive metadata.
实现了 eve::editing::IEditingSnapshotProvider.
在文件 RoadNetworkEditTarget.cpp 第 860 行定义.
引用了 eve::procgen::road::RoadNetwork::blockedLaneLinks(), edge, eve::procgen::road::RoadNetwork::edges(), edges, eve::procgen_editing::detail::encodeEdgeRecord(), eve::procgen_editing::detail::encodeLink(), eve::procgen_editing::detail::encodeNodeRecord(), eve::procgen::road::RoadNetwork::laneLinks(), node, nodes , 以及 eve::procgen::road::RoadNetwork::nodes().
◆ targetId()
|
inlineoverridevirtual |
Target id.
实现了 eve::editing::IEditableTarget.
在文件 RoadNetworkEditTarget.h 第 70 行定义.
被这些函数引用 applyDomainOperation(), describe(), makeAddEdge(), makeAddLaneLink(), makeAddNode(), makeBlockLaneLink(), makeConnectAllTurns(), makeConnectEdgeIntersection(), makeConnectNodeAtPosition(), makeDetachEdgeEndpoint(), makeMoveNode(), makeReconnectEdgeEndpoint(), makeRemoveEdge(), makeRemoveLaneLink(), makeRemoveNode(), makeReverseEdge(), makeSetEdgeControlPoints(), makeSetEdgeLaneCounts(), makeSetEdgeStyle(), makeSetNodeJunctionControl(), makeSetNodeJunctionRadius(), makeSplitEdge(), makeSplitEdgeAtPosition() , 以及 makeUnblockLaneLink().
类成员变量说明
◆ kBlockLaneLink
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 55 行定义.
被这些函数引用 applyDomainOperation(), makeBlockLaneLink() , 以及 makeUnblockLaneLink().
◆ kConnectEdgeIntersection
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 47 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeConnectEdgeIntersection().
◆ kConnectNodeAtPosition
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 45 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeConnectNodeAtPosition().
◆ kDetachEdgeEndpoint
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 37 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeDetachEdgeEndpoint().
◆ kDisconnectEdgeIntersection
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 48 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeConnectEdgeIntersection().
◆ kDisconnectNodeAtPosition
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 46 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeConnectNodeAtPosition().
◆ kMergeNodes
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 42 行定义.
被这些函数引用 applyDomainOperation().
◆ kMergeNodesAndConnect
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 43 行定义.
被这些函数引用 applyDomainOperation().
◆ kMoveNode
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 29 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeMoveNode().
◆ kReattachEdgeEndpoint
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 38 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeDetachEdgeEndpoint().
◆ kReconnectEdgeEndpoint
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 36 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeReconnectEdgeEndpoint().
◆ kRemoveEdge
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 52 行定义.
被这些函数引用 applyDomainOperation(), makeAddEdge() , 以及 makeRemoveEdge().
◆ kRemoveLaneLink
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 54 行定义.
被这些函数引用 applyDomainOperation(), makeAddLaneLink() , 以及 makeRemoveLaneLink().
◆ kRemoveLaneLinks
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 58 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeConnectAllTurns().
◆ kRemoveNode
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 50 行定义.
被这些函数引用 applyDomainOperation(), makeAddNode() , 以及 makeRemoveNode().
◆ kRestoreEdge
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 51 行定义.
被这些函数引用 applyDomainOperation(), makeAddEdge() , 以及 makeRemoveEdge().
◆ kRestoreLaneLink
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 53 行定义.
被这些函数引用 applyDomainOperation(), makeAddLaneLink() , 以及 makeRemoveLaneLink().
◆ kRestoreLaneLinks
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 57 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeConnectAllTurns().
◆ kRestoreNode
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 49 行定义.
被这些函数引用 applyDomainOperation(), makeAddNode() , 以及 makeRemoveNode().
◆ kReverseEdge
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 35 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeReverseEdge().
◆ kSetEdgeLanes
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 34 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeSetEdgeLaneCounts().
◆ kSetEdgePoints
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 32 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeSetEdgeControlPoints().
◆ kSetEdgeStyle
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 33 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeSetEdgeStyle().
◆ kSetNodeControl
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 31 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeSetNodeJunctionControl().
◆ kSetNodeRadius
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 30 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeSetNodeJunctionRadius().
◆ kSplitEdge
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 39 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeSplitEdge().
◆ kSplitEdgeAtPosition
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 40 行定义.
被这些函数引用 applyDomainOperation() , 以及 makeSplitEdgeAtPosition().
◆ kUnblockLaneLink
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 56 行定义.
被这些函数引用 applyDomainOperation(), makeBlockLaneLink() , 以及 makeUnblockLaneLink().
◆ kUnmergeNodes
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 44 行定义.
被这些函数引用 applyDomainOperation().
◆ kUnsplitEdge
|
staticconstexpr |
在文件 RoadNetworkEditTarget.h 第 41 行定义.
被这些函数引用 applyDomainOperation(), makeSplitEdge() , 以及 makeSplitEdgeAtPosition().
该类的文档由以下文件生成:
- src/modules/procgen/editing/RoadNetworkEditTarget.h
- src/modules/procgen/editing/RoadNetworkEditApply.cpp
- src/modules/procgen/editing/RoadNetworkEditOperations.cpp
- src/modules/procgen/editing/RoadNetworkEditTarget.cpp
Public 成员函数 继承自