Interface CollisionProvider

All Superinterfaces:
AlgorithmProvider
All Known Subinterfaces:
MechanicsBackend, NativeCollisionProvider
All Known Implementing Classes:
CPUCollisionProvider, GenesisBackend, NativeBulletBackend, NativeCollisionBackend, NativeJBulletBackend, ODEBackend

public interface CollisionProvider extends AlgorithmProvider
Interface for high-performance collision detection and physics simulation.
  • Method Details

    • getAlgorithmType

      default String getAlgorithmType()
      Description copied from interface: AlgorithmProvider
      Returns the unique category of the algorithm.
      Specified by:
      getAlgorithmType in interface AlgorithmProvider
    • detectSphereCollisions

      int detectSphereCollisions(float[] positions, float[] radii, int n, int[] collisions)
      Performs collision detection between spheres.
      Parameters:
      positions - Flattened array [x0, y0, z0, x1, y1, z1, ...]
      radii - Array of radii [r0, r1, ...]
      n - Number of spheres
      collisions - Output array for collision pairs [idA, idB, ...]
      Returns:
      Number of collisions found
    • detectSphereCollisions

      int detectSphereCollisions(double[] positions, double[] radii, int n, int[] collisions)
    • detectSphereCollisions

      int detectSphereCollisions(Real[] positions, Real[] radii, int n, int[] collisions)
    • detectSphereCollisions

      int detectSphereCollisions(MemorySegment positions, MemorySegment radii, int n, MemorySegment collisions, ValueLayout layout)
    • resolveCollisions

      void resolveCollisions(float[] positions, float[] velocities, float[] masses, int n, int[] collisions, int numCollisions)
    • resolveCollisions

      void resolveCollisions(double[] positions, double[] velocities, double[] masses, int n, int[] collisions, int numCollisions)
    • resolveCollisions

      void resolveCollisions(Real[] positions, Real[] velocities, Real[] masses, int n, int[] collisions, int numCollisions)
    • resolveCollisions

      void resolveCollisions(MemorySegment positions, MemorySegment velocities, MemorySegment masses, int n, MemorySegment collisions, int numCollisions, ValueLayout layout)