Skip to content

Draft: BVH for the surface model work in progress

Juan Gonzalez Caminero requested to merge bvh_surf into surface_model

Work in progress for the implementation of the BVH acceleration in the surface model

Main changes:

  • The BVH has been adapted so it can be constructed from Axis Aligned Bounding Boxes (AABBs) coming from surfaces
  • The ABBoxManager can now compute AABBs for surfaces
  • New BVHSurfNavigator implementing the callbacks required by the BVH class in order to find candidates
  • Added Extent3D method to the Frame struct
  • Added data needed for the BVH to VolumeShell and SurfData: List of surfaces of the daughters of a LogicalVolume, their transformations with respect to that volume, the id of the PlacedVolume they belong to, and the BVH of the LogicalVolume
  • Added the initialization and copy of the BVH data into BrepHelper and BrepCudaManager

Minor items:

  • New operator* for the Transformation3DMP

Main issues and bugs:

  • Some incorrect distances returned by the BVH on device that don't appear on the host
  • Safety computation is correct for AABBs but incorrect for frames
Edited by Juan Gonzalez Caminero

Merge request reports