< Summary

Information
Class: Gravitas.CollisionHandling.ContactSelectionPolicy
Assembly: Gravitas
File(s): /home/runner/work/Gravitas/Gravitas/src/Gravitas/CollisionHandling/Contacts/ContactSelectionPolicy.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 29
Line coverage: 100%
Branch coverage
100%
Covered branches: 16
Total branches: 16
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ShouldReplaceWithDeeper(...)100%88100%
ShouldReplaceWithShallower(...)100%88100%

File(s)

/home/runner/work/Gravitas/Gravitas/src/Gravitas/CollisionHandling/Contacts/ContactSelectionPolicy.cs

#LineLine coverage
 1//=======================================================================
 2// ContactSelectionPolicy.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 System.Runtime.CompilerServices;
 9
 10namespace Gravitas.CollisionHandling;
 11
 12internal static class ContactSelectionPolicy
 13{
 14    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 15    internal static bool ShouldReplaceWithDeeper(Contact2D candidate, bool found, Contact2D current) =>
 1416        !found
 1417        || candidate.Depth > current.Depth
 1418        || (candidate.Depth == current.Depth
 1419            && candidate.DepthIsClamped
 1420            && !current.DepthIsClamped);
 21
 22    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 23    internal static bool ShouldReplaceWithShallower(MixedContact candidate, bool found, MixedContact current) =>
 4724        !found
 4725        || candidate.Depth < current.Depth
 4726        || (candidate.Depth == current.Depth
 4727            && current.DepthIsClamped
 4728            && !candidate.DepthIsClamped);
 29}