Vixen
02b45cc4
csharp
public readonly record struct BodyHandle

A body in a PhysicsWorld.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The sequence number is what makes a stale handle detectable. Jolt reuses body indices as soon as they are freed, and bumps the sequence each time, so a handle to a destroyed body compares unequal to whatever took its slot instead of quietly addressing it — the same property, for the same reason, that Entity gets from its version.

Handles belong to the world that issued them. Passing one to a different world is not detectable — both are plain integers Jolt hands out from the same counter — so PhysicsWorld keeps its own set and refuses handles it did not issue.

Fields and properties (4)

  • public uint Value

    Jolt's body id: an index in the low bits and a sequence number in the high ones.

  • public static BodyHandle None

    No body. Jolt's invalid id.

  • public bool IsNone

    Whether this names a body at all.

  • public uint Index

    The index part, which is what indexes a side table of per-body data.

Methods (2)

  • public BodyHandle(uint Value)

    A body in a PhysicsWorld.

  • public override string ToString()

    Renders the handle.

Used by (27)

  • CharacterControllerVixen.Physics
  • ConstraintDescriptionVixen.Physics
  • ContactEventVixen.Physics
  • IgnoreBodyFilterVixen.Physics
  • JoltConstraintVixen.Physics
  • JoltMathTestsVixen.Physics.Tests
  • LagCompensationTestsVixen.Net.Physics.Tests
  • LagCompensatorVixen.Net.Physics
  • PhysicsBodyVixen.Physics
  • PhysicsConstraintTestsVixen.Physics.Tests
  • PhysicsDebugDrawVixen.Physics
  • PhysicsDebugDrawSystemVixen.Physics
  • PhysicsDeterminismTestsVixen.Physics.Tests
  • PhysicsQueryTestsVixen.Physics.Tests
  • PhysicsSceneVixen.Physics
  • PhysicsSceneTestsVixen.Physics.Tests
  • PhysicsShapeTestsVixen.Physics.Tests
  • PhysicsWorldVixen.Physics
  • PhysicsWorldTestsVixen.Physics.Tests
  • QueryFilterVixen.Physics
  • RayHitVixen.Physics
  • SavedVixen.Net.Physics
  • ShapeCastHitVixen.Physics
  • ShapeOverlapVixen.Physics
  • TriggerEventVixen.Physics
  • Vixen_Physics_Bodies_BodyHandleSerializerVixen.Physics
  • Vixen_Physics_Constraints_ConstraintDescriptionSerializerVixen.Physics