Interface NativeCollisionProvider
- All Superinterfaces:
AlgorithmProvider, CollisionProvider
- All Known Implementing Classes:
GenesisBackend, NativeBulletBackend, NativeCollisionBackend, NativeJBulletBackend, ODEBackend
Native implementation of CollisionProvider using FFM (Project Panama).
Optimized for hardware-accelerated collision detection.
-
Method Summary
Modifier and TypeMethodDescriptiondefault intdetectSphereCollisions(double[] positions, double[] radii, int n, int[] collisions) default intdetectSphereCollisions(float[] positions, float[] radii, int n, int[] collisions) Performs collision detection between spheres.default intdetectSphereCollisions(MemorySegment positions, MemorySegment radii, int n, MemorySegment collisions, ValueLayout layout) Performs collision detection between spheres using MemorySegments.booleanisLoaded()Returns true if the native library is loaded and operational.default voidresolveCollisions(double[] positions, double[] velocities, double[] masses, int n, int[] collisions, int numCollisions) default voidresolveCollisions(float[] positions, float[] velocities, float[] masses, int n, int[] collisions, int numCollisions) default voidresolveCollisions(MemorySegment positions, MemorySegment velocities, MemorySegment masses, int n, MemorySegment collisions, int numCollisions, ValueLayout layout) Resolves collisions using MemorySegments.Methods inherited from interface AlgorithmProvider
description, getMetadata, getName, getPriority, isAvailable, score, shutdownMethods inherited from interface CollisionProvider
detectSphereCollisions, getAlgorithmType, resolveCollisions
-
Method Details
-
detectSphereCollisions
default int detectSphereCollisions(MemorySegment positions, MemorySegment radii, int n, MemorySegment collisions, ValueLayout layout) Performs collision detection between spheres using MemorySegments.- Specified by:
detectSphereCollisionsin interfaceCollisionProvider
-
resolveCollisions
default void resolveCollisions(MemorySegment positions, MemorySegment velocities, MemorySegment masses, int n, MemorySegment collisions, int numCollisions, ValueLayout layout) Resolves collisions using MemorySegments.- Specified by:
resolveCollisionsin interfaceCollisionProvider
-
detectSphereCollisions
default int detectSphereCollisions(float[] positions, float[] radii, int n, int[] collisions) Description copied from interface:CollisionProviderPerforms collision detection between spheres.- Specified by:
detectSphereCollisionsin interfaceCollisionProvider- 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
default int detectSphereCollisions(double[] positions, double[] radii, int n, int[] collisions) - Specified by:
detectSphereCollisionsin interfaceCollisionProvider
-
resolveCollisions
default void resolveCollisions(float[] positions, float[] velocities, float[] masses, int n, int[] collisions, int numCollisions) - Specified by:
resolveCollisionsin interfaceCollisionProvider
-
resolveCollisions
default void resolveCollisions(double[] positions, double[] velocities, double[] masses, int n, int[] collisions, int numCollisions) - Specified by:
resolveCollisionsin interfaceCollisionProvider
-
isLoaded
boolean isLoaded()Returns true if the native library is loaded and operational.
-