11#ifndef PBAT_GPU_GEOMETRY_SWEEPANDPRUNE_H
12#define PBAT_GPU_GEOMETRY_SWEEPANDPRUNE_H
15#include "PhysicsBasedAnimationToolkitExport.h"
21namespace pbat::gpu::impl::geometry {
43 PBAT_API
SweepAndPrune(std::size_t nPrimitives, std::size_t nOverlaps);
Axis-aligned bounding box (AABB) buffer on the GPU.
This file contains the Buffer class for 1- or 2-dimensional GPU buffers of numeric types.
GPU axis-aligned bounding box (AABB) buffer public API.
Definition Aabb.h:25
PBAT_API SweepAndPrune(std::size_t nPrimitives, std::size_t nOverlaps)
Construct a new Sweep And Prune object with space allocated for nPrimitives and at most nOverlaps.
Definition SweepAndPrune.cu:16
impl::geometry::SweepAndPrune Impl
Implementation type.
Definition SweepAndPrune.h:35
PBAT_API GpuIndexMatrixX SortAndSweep(Aabb &aabbs)
Detect overlaps between the AABBs.
Definition SweepAndPrune.cu:46
Single-axis parallel sweep and prune algorithm for detecting overlapping bounding boxes.
Definition SweepAndPrune.cuh:29
Type aliases for GPU code.
Public API to core GPU utilities.
Definition Buffer.cu:17
Public geometry API for GPU.
Definition Aabb.cu:16
GPU related public functionality.
Definition Buffer.cu:16
The main namespace of the library.
Definition Aliases.h:15
Eigen::Matrix< GpuIndex, Eigen::Dynamic, Eigen::Dynamic > GpuIndexMatrixX
Index matrix type for GPU code.
Definition Aliases.h:24