载入中...
搜索中...
未找到
TrajectoryCollision.cpp
浏览该文件的文档.
56 if (!lifetime || !world_ || !world_->isValid() || world_->runtimeHandle() != worldHandle_) return nullptr;
194Result<void> TrajectoryCollisionRuntime::disarm(SubjectRef subject, std::string_view colliderId) {
227 // Stationary frame: still overlap-test with a zero-length cast so resting contacts register once.
236 hitCount = world.castSphereAll(armed.previous.start.x, armed.previous.start.y, armed.previous.start.z,
Bone-bound continuous collision sweeps against World3D (UE5-style trajectory traces).
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
Read-only cross-module contract for sampling named animated attachment points. @ownership Implementat...
Definition AttachmentPoint.h:22
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
constexpr std::uint64_t value() const noexcept
Returns the underlying value at an explicit protocol boundary.
Definition StrongUint64.h:26
Box3D rigid-body world. Script coordinates are meters (Box3D native), unlike 2D World which uses pixe...
Definition World3D.h:63
PhysicsWorldHandle runtimeHandle() const noexcept
Process-local identity used by PhysicsLink; invalid after destruction.
Definition World3D.h:141
Result< void > clearPoseSource(SubjectRef subject)
Remove one subject's pose source and disarm its armed colliders.
Definition TrajectoryCollision.cpp:101
Result< void > arm(SubjectRef subject, std::string_view colliderId)
Arm one collider for continuous sweeps while an attack window is open.
Definition TrajectoryCollision.cpp:164
Result< TrajectorySample > sampleArmed(SubjectRef subject, std::string_view colliderId) const
Current world-space sample for one armed collider, or NotFound.
Definition TrajectoryCollision.cpp:310
Result< void > unregisterCollider(std::string_view colliderId)
Remove one catalog entry and disarm every matching armed window.
Definition TrajectoryCollision.cpp:67
TrajectoryCollisionRuntime(World3D &world)
Construct a runtime bound to one borrowed World3D.
Definition TrajectoryCollision.cpp:49
Result< TrajectoryFrame > advance(SimulationTick tick)
Sample poses for armed colliders, sweep previous→current through World3D, emit unique hits.
Definition TrajectoryCollision.cpp:277
Result< void > registerCollider(BoneColliderDefinition definition)
Register or replace one collider catalog entry after full validation.
Definition TrajectoryCollision.cpp:60
Result< void > disarm(SubjectRef subject, std::string_view colliderId)
Disarm one collider and forget its per-target hit memory.
Definition TrajectoryCollision.cpp:194
Result< void > bindPoseSource(SubjectRef subject, IAttachmentPointSource &source)
Bind a subject's attachment pose source.
Definition TrajectoryCollision.cpp:93
~TrajectoryCollisionRuntime()
Releases TrajectoryCollisionRuntime resources.
Definition BoneCollider.cpp:5
@ InvalidArgument
@ NotFound
@ PreconditionViolation
@ StaleHandle
Plain world-space point shared by animation consumers without a math-library dependency.
Definition AttachmentPoint.h:10
Query filter applied atomically for one owning query operation.
Definition OwnedQuery3D.h:22
Catalog entry that binds a sphere or capsule to named attachment points.
Definition BoneCollider.h:32
std::string endBoneName
Optional second attachment for dual-socket capsules. Empty means a single-bone capsule axis along loc...
Definition BoneCollider.h:41
std::string boneName
Primary / start attachment name resolved by IAttachmentPointSource.
Definition BoneCollider.h:36
int maxHits
Maximum World3D cast results retained per armed collider per frame.
Definition BoneCollider.h:58
BoneColliderShapeKind kind
Definition BoneCollider.h:42
float halfHeight
Half-length along local +Y for single-bone capsules; ignored otherwise.
Definition BoneCollider.h:46
AttachmentPoint localOffset
Local offset on boneName (sphere center or capsule start/center).
Definition BoneCollider.h:48
AttachmentPoint endLocalOffset
Local offset on endBoneName for dual-socket capsules.
Definition BoneCollider.h:50
Owning result of one deterministic trajectory advance. @cost Linear in the number of unique World3D c...
Definition TrajectoryCollision.h:68
SimulationTick tick
Definition TrajectoryCollision.h:69
std::vector< TrajectoryHit > hits
Unique contacts produced by armed collider sweeps this tick.
Definition TrajectoryCollision.h:71
World-space sample of one collider endpoint pair.
Definition TrajectoryCollision.h:41