I have looked at the implementation for convex shapes, and they use an std::map.
The TriMesh class from OpenMesh (http://www.openmesh.org/) uses a more efficient (array-based) data structure and has O(1) nearest-neighbour circulators. It also has excellent decimation/subdivision algorithms, which may come in handy as a potential optimization.
Hi,
I have looked at the implementation for convex shapes, and they use an std::map.
The TriMesh class from OpenMesh (http://www.openmesh.org/) uses a more efficient (array-based) data structure and has O(1) nearest-neighbour circulators. It also has excellent decimation/subdivision algorithms, which may come in handy as a potential optimization.
It recently got relicensed to BSD.