Interface CollisionProvider
- All Superinterfaces:
AlgorithmProvider
- All Known Subinterfaces:
MechanicsBackend, NativeCollisionProvider
- All Known Implementing Classes:
CPUCollisionProvider, GenesisBackend, NativeBulletBackend, NativeCollisionBackend, NativeJBulletBackend, ODEBackend
Interface for high-performance collision detection and physics simulation.
-
Method Summary
Modifier and TypeMethodDescriptionintdetectSphereCollisions(double[] positions, double[] radii, int n, int[] collisions) intdetectSphereCollisions(float[] positions, float[] radii, int n, int[] collisions) Performs collision detection between spheres.intdetectSphereCollisions(MemorySegment positions, MemorySegment radii, int n, MemorySegment collisions, ValueLayout layout) intdetectSphereCollisions(Real[] positions, Real[] radii, int n, int[] collisions) default StringReturns the unique category of the algorithm.voidresolveCollisions(double[] positions, double[] velocities, double[] masses, int n, int[] collisions, int numCollisions) voidresolveCollisions(float[] positions, float[] velocities, float[] masses, int n, int[] collisions, int numCollisions) voidresolveCollisions(MemorySegment positions, MemorySegment velocities, MemorySegment masses, int n, MemorySegment collisions, int numCollisions, ValueLayout layout) voidresolveCollisions(Real[] positions, Real[] velocities, Real[] masses, int n, int[] collisions, int numCollisions) Methods inherited from interface AlgorithmProvider
description, getMetadata, getName, getPriority, isAvailable, score, shutdown
-
Method Details
-
getAlgorithmType
Description copied from interface:AlgorithmProviderReturns the unique category of the algorithm.- Specified by:
getAlgorithmTypein interfaceAlgorithmProvider
-
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 spherescollisions- Output array for collision pairs [idA, idB, ...]- Returns:
- Number of collisions found
-
detectSphereCollisions
int detectSphereCollisions(double[] positions, double[] radii, int n, int[] collisions) -
detectSphereCollisions
-
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
-
resolveCollisions
void resolveCollisions(MemorySegment positions, MemorySegment velocities, MemorySegment masses, int n, MemorySegment collisions, int numCollisions, ValueLayout layout)
-