< Summary

Information
Class: Gravitas.CollisionHandling.CollisionWorkItem
Assembly: Gravitas
File(s): /home/runner/work/Gravitas/Gravitas/src/Gravitas/CollisionHandling/Detection/3D/CollisionWorkItem.cs
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 47
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Create(...)100%11100%

File(s)

/home/runner/work/Gravitas/Gravitas/src/Gravitas/CollisionHandling/Detection/3D/CollisionWorkItem.cs

#LineLine coverage
 1//=======================================================================
 2// CollisionWorkItem.cs
 3//=======================================================================
 4// MIT License, Copyright (c) 2026–present David Oravsky (mrdav30)
 5// See LICENSE file in the project root for full license information.
 6//=======================================================================
 7
 8using Gravitas.Colliders;
 9using System.Runtime.CompilerServices;
 10
 11namespace Gravitas.CollisionHandling;
 12
 13/// <summary>
 14/// Allocation-free narrow-phase work item used by real pairs and compound
 15/// collider internal part checks.
 16/// </summary>
 17internal readonly struct CollisionWorkItem
 18{
 19    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 20    public CollisionWorkItem(
 21        GravitasWorldContext context,
 22        LSCollider colliderA,
 23        LSCollider colliderB,
 24        CollisionType collisionType,
 25        ContactManifold manifold)
 26    {
 1005227        Context = context;
 1005228        ColliderA = colliderA;
 1005229        ColliderB = colliderB;
 1005230        CollisionType = collisionType;
 1005231        Manifold = manifold;
 1005232    }
 33
 34    public GravitasWorldContext Context { get; }
 35
 36    public LSCollider ColliderA { get; }
 37
 38    public LSCollider ColliderB { get; }
 39
 40    public CollisionType CollisionType { get; }
 41
 42    public ContactManifold Manifold { get; }
 43
 44    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 45    public static CollisionWorkItem Create(CollisionPair pair) =>
 689946        new(pair.Context, pair.ColliderA, pair.ColliderB, pair.CollisionType, pair.Manifold);
 47}