载入中...
搜索中...
未找到
eve::procgen_editing::RoadNetworkEditTarget类 参考final

Transaction target that edits stable RoadNetwork node/edge ids. 更多...

#include <RoadNetworkEditTarget.h>

类 eve::procgen_editing::RoadNetworkEditTarget 继承关系图:
eve::editing::IEditableTarget eve::editing::IDomainOperationTarget eve::editing::IDomainOperationTargetStaging eve::editing::IEditingSnapshotProvider eve::editing::IEditableTarget

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.

参数
idStable editor target identity.
networkBorrowed authoritative network. @lifetime The network must outlive this target and all in-flight transactions.

在文件 RoadNetworkEditTarget.cpp 第 778 行定义.

成员函数说明

◆ applyDomainOperation()

EditorResult< void > eve::procgen_editing::RoadNetworkEditTarget::applyDomainOperation ( const editing::DomainOperation &  operation)
overridevirtual

Apply one validated domain operation.

参数
operationOperation 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()

void eve::procgen_editing::RoadNetworkEditTarget::clearDirtyRegion ( )
inlineoverridevirtual

Clears dirty region.

实现了 eve::editing::IEditableTarget.

在文件 RoadNetworkEditTarget.h 第 73 行定义.

引用了 eve::editing::EditRegion::clear().

◆ cloneDomainState()

std::unique_ptr< editing::IDomainOperationTarget > eve::procgen_editing::RoadNetworkEditTarget::cloneDomainState ( ) const
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()

EditorResult< void > eve::procgen_editing::RoadNetworkEditTarget::commitDomainState ( std::unique_ptr< editing::IDomainOperationTarget >  candidate)
override

◆ createOwned()

std::unique_ptr< RoadNetworkEditTarget > eve::procgen_editing::RoadNetworkEditTarget::createOwned ( std::string  id)
static

Create an editor-owned empty road target for automation/composition hosts.

在文件 RoadNetworkEditTarget.cpp 第 781 行定义.

被这些函数引用 eve::procgen_editor::ProcgenEditorModule::TargetFactory::create().

◆ describe()

editing::TargetDescriptor eve::procgen_editing::RoadNetworkEditTarget::describe ( ) const
overridevirtual

Describe the target for tools and automation.

重载 eve::editing::IEditableTarget .

在文件 RoadNetworkEditTarget.cpp 第 789 行定义.

引用了 eve::editing::IEditingSnapshotProvider::editingCapabilityId(), revision() , 以及 targetId().

◆ dirtyRegion()

editing::EditRegion eve::procgen_editing::RoadNetworkEditTarget::dirtyRegion ( ) const
inlineoverridevirtual

Dirty region.

实现了 eve::editing::IEditableTarget.

在文件 RoadNetworkEditTarget.h 第 72 行定义.

◆ 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.

参数
maximumPrimitivesHard output budget; zero produces a rejected snapshot.
showLabelsWhether 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.

参数
snapshotSerialized 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.

参数
fromStable source node identity.
toStable destination node identity.
pointsOwning spline control points.
lanesForwardForward lane count.
lanesBackwardReverse lane count.
styleComplete 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.

参数
fromStable source node identity.
toStable destination node identity.
pointsOwning spline control points.
lanesForwardForward lane count.
lanesBackwardReverse lane count.
styleComplete 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.

参数
linkComplete 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.

参数
xFinite world X coordinate.
yFinite world Y coordinate.
zFinite world Z coordinate.
junctionRadiusPositive 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()

◆ 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.

参数
nodeIdStable 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.

参数
firstEdgeIdFirst road edge crossing internally.
secondEdgeIdDistinct second road edge crossing internally.
maximumHeightDeltaMaximum vertical separation that may become a junction.
junctionRadiusRadius 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.

参数
sourceNodeIdExisting branch source node.
edgeIdRoad edge to split and connect.
positionWorld position projected onto the road centerline.
maxDistanceMaximum allowed 3D snap distance.
junctionRadiusRadius assigned to the inserted junction.
lanesForwardForward branch lane count.
lanesBackwardReverse branch lane count.
styleBranch 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.

参数
edgeIdStable road edge identity.
fromEndpointTrue 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.

参数
keepNodeIdStable node identity and position retained by the merge.
removeNodeIdDistinct nearby node rewired into keepNodeId.
maxDistanceMaximum 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.

参数
keepNodeIdStable node identity and position retained by the merge.
removeNodeIdDistinct nearby node rewired into keepNodeId.
maxDistanceMaximum 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.

参数
nodeIdStable node identity.
xNew finite world X coordinate.
yNew finite world Y coordinate.
zNew 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.

参数
edgeIdStable road edge identity.
fromEndpointTrue for the authored start endpoint, false for the end endpoint.
nodeIdExisting 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.

参数
edgeIdStable road edge identity.
fromEndpointTrue for the authored start endpoint, false for the end endpoint.
nodeIdExisting 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.

参数
edgeIdStable 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.

参数
linkComposite 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.

参数
nodeIdStable 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.

参数
edgeIdStable 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.

参数
edgeIdStable edge identity.
pointsOwning 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.

参数
edgeIdStable edge identity.
lanesForwardNew forward lane count.
lanesBackwardNew 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.

参数
edgeIdStable edge identity.
styleComplete 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.

参数
nodeIdStable node identity.
controlAuthoritative 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.

参数
nodeIdStable node identity.
junctionRadiusFinite 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.

参数
edgeIdStable road edge identity.
fromEndpointTrue for the authored start endpoint, false for the end endpoint.
maxDistanceFinite non-negative maximum distance from the current endpoint.
connectTurnsWhether 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.

参数
edgeIdStable edge identity retained by the first half.
controlPointIndexInterior control-point index.
junctionRadiusRadius 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.

参数
edgeIdStable edge identity retained by the first half.
positionFinite world position to project onto the authored centerline.
maxDistanceMaximum allowed 3D snap distance.
junctionRadiusRadius 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()

◆ queryCapability()

void * eve::procgen_editing::RoadNetworkEditTarget::queryCapability ( const editing::CapabilityId &  capability)
overridevirtual

Query an optional stable capability.

参数
capabilityStable 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()

std::uint64_t eve::procgen_editing::RoadNetworkEditTarget::revision ( ) const
inlineoverridevirtual

Revision.

实现了 eve::editing::IEditableTarget.

在文件 RoadNetworkEditTarget.h 第 71 行定义.

引用了 eve::procgen::road::RoadNetwork::revision().

被这些函数引用 describe() , 以及 gizmo().

◆ snapshotValue()

EditorValue eve::procgen_editing::RoadNetworkEditTarget::snapshotValue ( ) const
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()

类成员变量说明

◆ kBlockLaneLink

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kBlockLaneLink = "road.lane-link.block.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 55 行定义.

被这些函数引用 applyDomainOperation(), makeBlockLaneLink() , 以及 makeUnblockLaneLink().

◆ kConnectEdgeIntersection

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kConnectEdgeIntersection = "road.edge.connect-intersection.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 47 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeConnectEdgeIntersection().

◆ kConnectNodeAtPosition

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kConnectNodeAtPosition = "road.node.connect-at-position.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 45 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeConnectNodeAtPosition().

◆ kDetachEdgeEndpoint

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kDetachEdgeEndpoint = "road.edge.detach-endpoint.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 37 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeDetachEdgeEndpoint().

◆ kDisconnectEdgeIntersection

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kDisconnectEdgeIntersection = "road.edge.disconnect-intersection.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 48 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeConnectEdgeIntersection().

◆ kDisconnectNodeAtPosition

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kDisconnectNodeAtPosition = "road.node.disconnect-at-position.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 46 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeConnectNodeAtPosition().

◆ kMergeNodes

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kMergeNodes = "road.node.merge.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 42 行定义.

被这些函数引用 applyDomainOperation().

◆ kMergeNodesAndConnect

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kMergeNodesAndConnect = "road.node.merge-and-connect.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 43 行定义.

被这些函数引用 applyDomainOperation().

◆ kMoveNode

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kMoveNode = "road.node.move.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 29 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeMoveNode().

◆ kReattachEdgeEndpoint

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kReattachEdgeEndpoint = "road.edge.reattach-endpoint.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 38 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeDetachEdgeEndpoint().

◆ kReconnectEdgeEndpoint

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kReconnectEdgeEndpoint = "road.edge.reconnect-endpoint.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 36 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeReconnectEdgeEndpoint().

◆ kRemoveEdge

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kRemoveEdge = "road.edge.remove.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 52 行定义.

被这些函数引用 applyDomainOperation(), makeAddEdge() , 以及 makeRemoveEdge().

◆ kRemoveLaneLink

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kRemoveLaneLink = "road.lane-link.remove.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 54 行定义.

被这些函数引用 applyDomainOperation(), makeAddLaneLink() , 以及 makeRemoveLaneLink().

◆ kRemoveLaneLinks

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kRemoveLaneLinks = "road.lane-links.remove.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 58 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeConnectAllTurns().

◆ kRemoveNode

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kRemoveNode = "road.node.remove.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 50 行定义.

被这些函数引用 applyDomainOperation(), makeAddNode() , 以及 makeRemoveNode().

◆ kRestoreEdge

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kRestoreEdge = "road.edge.restore.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 51 行定义.

被这些函数引用 applyDomainOperation(), makeAddEdge() , 以及 makeRemoveEdge().

◆ kRestoreLaneLink

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kRestoreLaneLink = "road.lane-link.restore.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 53 行定义.

被这些函数引用 applyDomainOperation(), makeAddLaneLink() , 以及 makeRemoveLaneLink().

◆ kRestoreLaneLinks

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kRestoreLaneLinks = "road.lane-links.restore.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 57 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeConnectAllTurns().

◆ kRestoreNode

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kRestoreNode = "road.node.restore.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 49 行定义.

被这些函数引用 applyDomainOperation(), makeAddNode() , 以及 makeRemoveNode().

◆ kReverseEdge

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kReverseEdge = "road.edge.reverse.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 35 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeReverseEdge().

◆ kSetEdgeLanes

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kSetEdgeLanes = "road.edge.set-lanes.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 34 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeSetEdgeLaneCounts().

◆ kSetEdgePoints

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kSetEdgePoints = "road.edge.set-control-points.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 32 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeSetEdgeControlPoints().

◆ kSetEdgeStyle

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kSetEdgeStyle = "road.edge.set-style.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 33 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeSetEdgeStyle().

◆ kSetNodeControl

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kSetNodeControl = "road.node.set-junction-control.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 31 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeSetNodeJunctionControl().

◆ kSetNodeRadius

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kSetNodeRadius = "road.node.set-radius.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 30 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeSetNodeJunctionRadius().

◆ kSplitEdge

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kSplitEdge = "road.edge.split.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 39 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeSplitEdge().

◆ kSplitEdgeAtPosition

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kSplitEdgeAtPosition = "road.edge.split-at-position.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 40 行定义.

被这些函数引用 applyDomainOperation() , 以及 makeSplitEdgeAtPosition().

◆ kUnblockLaneLink

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kUnblockLaneLink = "road.lane-link.unblock.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 56 行定义.

被这些函数引用 applyDomainOperation(), makeBlockLaneLink() , 以及 makeUnblockLaneLink().

◆ kUnmergeNodes

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kUnmergeNodes = "road.node.unmerge.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 44 行定义.

被这些函数引用 applyDomainOperation().

◆ kUnsplitEdge

constexpr const char* eve::procgen_editing::RoadNetworkEditTarget::kUnsplitEdge = "road.edge.unsplit.v1"
staticconstexpr

在文件 RoadNetworkEditTarget.h 第 41 行定义.

被这些函数引用 applyDomainOperation(), makeSplitEdge() , 以及 makeSplitEdgeAtPosition().


该类的文档由以下文件生成: