载入中...
搜索中...
未找到
PhysicsLink.cpp
浏览该文件的文档.
23eve::Result<Link> attachLink(PhysicsWorldHandle world, Handle handle, const char* path, const char* message) {
94 if (!resolved) return eve::Result<Shape3D*>::failure(staleLinkDiagnostic("physics.shapeLink.resolve"));
114 if (!resolved) return eve::Result<Joint3D*>::failure(staleLinkDiagnostic("physics.jointLink.resolve"));
Typed composition link from a gameplay entity to a physics body.
A structured explanation of a failed, degraded, or noteworthy result.
Definition Diagnostic.h:94
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
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
constexpr bool isInvalid() const noexcept
Returns whether this value is the invalid sentinel.
Definition RuntimeHandle.h:149
constexpr bool isValid() const noexcept
Returns whether both coordinates are usable handle values.
Definition RuntimeHandle.h:146
3D rigid body (Box3D) in meter-space coordinates (+Y up by convention). Owned by a World3D; create pr...
Definition Body3D.h:24
2D rigid body (Box2D) in pixel-space coordinates. Owned by a World; create shapes with newRectangleFi...
Definition Body.h:21
3D shape (box/sphere/capsule) attached to a Body3D with material settings. Created via Body3D::new*Sh...
Definition Shape3D.h:25
Box3D rigid-body world. Script coordinates are meters (Box3D native), unlike 2D World which uses pixe...
Definition World3D.h:63
Box2D world wrapper (2D physics) with pixel-space coordinates. Handles stepping, gravity,...
Definition World.h:41
eve::RuntimeHandle< PhysicsWorldHandleTag > PhysicsWorldHandle
Generation-qualified runtime identity for a physics world.
Definition PhysicsHandles.h:26
@ InvalidArgument
@ StaleHandle
static eve::Result< PhysicsJointLink > attach(PhysicsWorldHandle world, PhysicsJointHandle joint)
Constructs a joint link candidate; ownership is checked by resolve().
Definition PhysicsLink.cpp:98
eve::Result< Joint3D * > resolve(World3D &world) const
Resolves a live joint or returns StaleHandle.
Definition PhysicsLink.cpp:110
bool isValid() const noexcept
Whether both encoded handle values are non-invalid.
Definition PhysicsLink.h:98
static eve::Result< PhysicsJointLink > fromJoint(const Joint3D &joint)
Creates a link from a live joint.
Definition PhysicsLink.cpp:103
bool isValid() const noexcept
Whether both encoded handle values are non-invalid.
Definition PhysicsLink.h:40
eve::Result< Body * > resolve(World &world) const
Resolves this link against a 2D world or returns StaleHandle.
Definition PhysicsLink.cpp:55
static eve::Result< PhysicsLink > fromBody(const Body &body)
Creates a link from a live 2D body.
Definition PhysicsLink.cpp:39
static eve::Result< PhysicsLink > attach(PhysicsWorldHandle world, PhysicsBodyHandle body)
Validates and constructs a link from explicit runtime handles.
Definition PhysicsLink.cpp:31
eve::Result< Shape3D * > resolve(World3D &world) const
Resolves a live shape or returns StaleHandle.
Definition PhysicsLink.cpp:90
static eve::Result< PhysicsShapeLink > fromShape(const Shape3D &shape)
Creates a link from a live shape.
Definition PhysicsLink.cpp:82
static eve::Result< PhysicsShapeLink > attach(PhysicsWorldHandle world, PhysicsShapeHandle shape)
Constructs a shape link candidate; ownership is checked by resolve().
Definition PhysicsLink.cpp:77
bool isValid() const noexcept
Whether both encoded handle values are non-invalid.
Definition PhysicsLink.h:75