< Summary

Information
Class: Gravitas.Colliders.ColliderPartitionState
Assembly: Gravitas
File(s): /home/runner/work/Gravitas/Gravitas/src/Gravitas/Colliders/State/ColliderPartitionState.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 54
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
MarkBroadPhaseChanged()100%11100%
MarkPartitioned()100%11100%
MarkUnpartitioned()100%11100%
SetPreviousGridBounds(...)100%11100%
ClearCoordinates()100%22100%

File(s)

/home/runner/work/Gravitas/Gravitas/src/Gravitas/Colliders/State/ColliderPartitionState.cs

#LineLine coverage
 1//=======================================================================
 2// ColliderPartitionState.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 FixedMathSharp;
 9using GridForge.Spatial;
 10using SwiftCollections;
 11using System.Runtime.CompilerServices;
 12
 13namespace Gravitas.Colliders;
 14
 15internal struct ColliderPartitionState
 16{
 17    public bool IsPartitioned { get; private set; }
 18
 19    public bool PartitionChanged { get; set; }
 20
 21    public uint BroadPhaseVersion { get; private set; }
 22
 23    public Vector3d LastGridBoundsMin { get; private set; }
 24
 25    public Vector3d LastGridBoundsMax { get; private set; }
 26
 27    public int LastPartitionKind { get; private set; }
 28
 29    public SwiftList<WorldVoxelIndex>? Coordinates;
 30
 31    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 2393632    public void MarkBroadPhaseChanged() => BroadPhaseVersion++;
 33
 34    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 35    public void MarkPartitioned()
 36    {
 2470137        IsPartitioned = true;
 2470138        PartitionChanged = true;
 2470139    }
 40
 41    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 1948342    public void MarkUnpartitioned() => IsPartitioned = false;
 43
 44    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 45    public void SetPreviousGridBounds(Vector3d min, Vector3d max, int partitionKind = 0)
 46    {
 3037347        LastGridBoundsMin = min;
 3037348        LastGridBoundsMax = max;
 3037349        LastPartitionKind = partitionKind;
 3037350    }
 51
 52    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 1948353    public void ClearCoordinates() => Coordinates?.Clear();
 54}