rj-action-library/Runtime/Math/Geometry/Overlap3D.cs

44 lines
833 B
C#
Raw Normal View History

2025-06-27 05:12:53 +00:00
using Godot;
using System.Collections;
using System.Collections.Generic;
namespace Rokojori
{
public class Overlap3D
{
public static bool Has( Box3 a, Box3 b )
{
if ( ! Range.Overlap( a.min.Y, a.max.Y, b.min.Y, b.max.Y ) )
{
return false;
}
if ( ! Range.Overlap( a.min.X, a.max.X, b.min.X, b.max.X ) )
{
return false;
}
if ( ! Range.Overlap( a.min.Z, a.max.Z, b.min.Z, b.max.Z ) )
{
return false;
}
return true;
}
public static bool Has( Sphere a, Sphere b )
{
return a.IntersectsSphere( b );
}
public static bool Has( Box3 a, Sphere b )
{
return a.SquareDistanceTo( b ) <= 0;
}
public static bool Has( Sphere a, Box3 b )
{
return b.SquareDistanceTo( a ) <= 0;
}
}
}