载入中...
搜索中...
未找到
eve::climbing::ClimbingAnchorGraphInstance类 参考

Runtime instance binding one immutable graph generation to one Physics body. 更多...

#include <ClimbingAnchorGraph.h>

Public 成员函数

eve::Result< ClimbingAnchorNodeRef > nodeRef (std::string_view nodeId) const
 Returns a current-generation reference for a stable node id.
 
eve::Result< ResolvedClimbingAnchorNode > resolveNode (physics::World3D &world, const ClimbingAnchorNodeRef &reference) const
 Resolves a current node from body-local to world space after validating world/body generation.
 
eve::Result< ResolvedClimbingAnchorNode > resolveNodeKinematics (physics::World3D &world, const ClimbingAnchorNodeRef &reference) const
 Resolves per-tick anchor transforms without copying cold tag metadata.
 
eve::Result< std::vector< ClimbingAnchorEdgeDefinition > > edgesFrom (const ClimbingAnchorNodeRef &reference) const
 Returns deterministic outgoing edges for a current-generation node reference.
 
eve::Result< ClimbingAnchorRoute > planRoute (const ClimbingAnchorRouteRequest &request) const
 Finds the shortest occupancy-aware route using stable edge-kind/node-id tie breaking.
 
eve::Result< ClimbingAnchorReservation > reserve (const ClimbingAnchorNodeRef &reference, ClimbingAnchorOccupant occupant)
 Reserves the lowest free slot on a node for one non-zero agent/execution identity.
 
eve::Result< void > validateReservation (const ClimbingAnchorReservation &reservation) const
 Validates that a reservation credential still names the exact live slot record.
 
eve::Result< ClimbingAnchorReservation > transferReservation (const ClimbingAnchorReservation &reservation)
 Atomically transfers a live slot claim to a newly issued credential.
 
eve::Result< ClimbingAnchorReservation > restoreReservation (const ClimbingAnchorReservation &reservation)
 Claims a snapshot reservation by transfer or exact-slot reacquisition.
 
eve::Result< void > release (const ClimbingAnchorReservation &reservation)
 Releases exactly the live reservation described by the credential.
 
eve::Result< std::uint32_t > releaseOccupant (ClimbingAnchorOccupant occupant)
 Releases all reservations owned by an agent/execution pair and returns the released count.
 
eve::Result< ClimbingAnchorGraphReload > reload (ClimbingAnchorGraphDefinition graph)
 Atomically publishes a validated graph generation and invalidates old-generation reservations.
 
std::uint64_t generation () const noexcept
 Current monotonically increasing topology generation.
 
physics::PhysicsBodyHandle body () const noexcept
 Target Physics body handle; stale detection occurs during resolve.
 
std::size_t reservationCount () const noexcept
 Number of live reservations in this graph instance.
 

静态 Public 成员函数

static eve::Result< ClimbingAnchorGraphInstance > bind (ClimbingAnchorGraphDefinition graph, physics::World3D &world, physics::PhysicsBodyHandle body)
 Validates and binds a graph snapshot to an existing Physics body.
 

详细描述

Runtime instance binding one immutable graph generation to one Physics body.

The instance owns topology and reservations, but stores only generation-checked Physics handles. It never retains World3D or Body3D pointers across calls.

在文件 ClimbingAnchorGraph.h 第 198 行定义.

成员函数说明

◆ bind()

eve::Result< ClimbingAnchorGraphInstance > eve::climbing::ClimbingAnchorGraphInstance::bind ( ClimbingAnchorGraphDefinition  graph,
physics::World3D &  world,
physics::PhysicsBodyHandle  body 
)
static

Validates and binds a graph snapshot to an existing Physics body.

参数
graphOwning definition candidate.
worldBorrowed synchronously for link validation only.
bodyGeneration-checked target body handle.

在文件 ClimbingAnchorGraph.cpp 第 391 行定义.

引用了 body(), eve::Diagnostic::error(), eve::Result< T >::failure(), graph, eve::RuntimeHandle< Tag >::isValid(), eve::StaleHandle, eve::Result< T >::success(), valid, eve::climbing::validateClimbingAnchorGraphDefinition() , 以及 world.

被这些函数引用 eve::climbing::Climbing::newAnchorGraph().

◆ body()

physics::PhysicsBodyHandle eve::climbing::ClimbingAnchorGraphInstance::body ( ) const
inlinenoexcept

Target Physics body handle; stale detection occurs during resolve.

在文件 ClimbingAnchorGraph.h 第 261 行定义.

被这些函数引用 bind() , 以及 resolveNodeKinematics().

◆ edgesFrom()

eve::Result< std::vector< ClimbingAnchorEdgeDefinition > > eve::climbing::ClimbingAnchorGraphInstance::edgesFrom ( const ClimbingAnchorNodeRef &  reference) const

◆ generation()

std::uint64_t eve::climbing::ClimbingAnchorGraphInstance::generation ( ) const
inlinenoexcept

Current monotonically increasing topology generation.

在文件 ClimbingAnchorGraph.h 第 259 行定义.

◆ nodeRef()

eve::Result< ClimbingAnchorNodeRef > eve::climbing::ClimbingAnchorGraphInstance::nodeRef ( std::string_view  nodeId) const

Returns a current-generation reference for a stable node id.

在文件 ClimbingAnchorGraph.cpp 第 414 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::climbing::ClimbingAnchorGraphDefinition::id, nodeId, eve::NotFound , 以及 eve::Result< T >::success().

◆ planRoute()

eve::Result< ClimbingAnchorRoute > eve::climbing::ClimbingAnchorGraphInstance::planRoute ( const ClimbingAnchorRouteRequest &  request) const

Finds the shortest occupancy-aware route using stable edge-kind/node-id tie breaking.

返回
An owning current-generation route; NotFound means no permitted complete route exists. @thread Call on the graph owner thread; this method is read-only and invokes no callbacks.

在文件 ClimbingAnchorGraph.cpp 第 520 行定义.

引用了 eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), from, eve::climbing::ClimbingAnchorGraphDefinition::id, eve::climbing::Ignore, eve::InvalidArgument, kind, node, nodeId, eve::NotFound, occupied, previous, request , 以及 eve::StaleHandle.

◆ release()

eve::Result< void > eve::climbing::ClimbingAnchorGraphInstance::release ( const ClimbingAnchorReservation &  reservation)

Releases exactly the live reservation described by the credential.

在文件 ClimbingAnchorGraph.cpp 第 688 行定义.

引用了 eve::Applied, eve::climbing::ClimbingAnchorReservation::id, eve::Status::success(), eve::Result< T >::success() , 以及 valid.

◆ releaseOccupant()

eve::Result< std::uint32_t > eve::climbing::ClimbingAnchorGraphInstance::releaseOccupant ( ClimbingAnchorOccupant  occupant)

◆ reload()

eve::Result< ClimbingAnchorGraphReload > eve::climbing::ClimbingAnchorGraphInstance::reload ( ClimbingAnchorGraphDefinition  graph)

◆ reservationCount()

std::size_t eve::climbing::ClimbingAnchorGraphInstance::reservationCount ( ) const
inlinenoexcept

Number of live reservations in this graph instance.

在文件 ClimbingAnchorGraph.h 第 263 行定义.

◆ reserve()

◆ resolveNode()

eve::Result< ResolvedClimbingAnchorNode > eve::climbing::ClimbingAnchorGraphInstance::resolveNode ( physics::World3D &  world,
const ClimbingAnchorNodeRef &  reference 
) const

Resolves a current node from body-local to world space after validating world/body generation.

在文件 ClimbingAnchorGraph.cpp 第 421 行定义.

引用了 EV_ASSERT, node, reference, resolveNodeKinematics() , 以及 world.

◆ resolveNodeKinematics()

◆ restoreReservation()

◆ transferReservation()

eve::Result< ClimbingAnchorReservation > eve::climbing::ClimbingAnchorGraphInstance::transferReservation ( const ClimbingAnchorReservation &  reservation)

Atomically transfers a live slot claim to a newly issued credential.

返回
A credential with an incremented claim generation; the input credential becomes stale.

在文件 ClimbingAnchorGraph.cpp 第 715 行定义.

引用了 eve::Applied, eve::climbing::ClimbingAnchorReservation::claimGeneration, eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::climbing::ClimbingAnchorReservation::id, eve::PreconditionViolation, eve::Status::success(), eve::Result< T >::success() , 以及 valid.

◆ validateReservation()


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