БСПC ++ bsp-дерево для трехмерных треугольных сеток, которые могут обрабатывать произвольные типы вершин. Посмотрите примеры для вариантов использования и файл hpp для документации3 примера все относительно похожи, но я попытался включить некоторые вариантыЯ постарался сделать его максимально гибким в отношении типа вершины. Применяются следующие ограничения:
одна вершина должна содержаться в типе данных (структура, массив байтов, строка, содержащая дескрипцию, индекс в другой массив)
этот тип данных должен быть возможно поместить в вектор
Вы должны предоставить метод получения, чтобы получить 3d-позицию этой вершины (используя специализацию шаблона)
returntype этой функции должен быть boost: совместим с qvm (что может быть достигнуто с помощью специализации шаблона)
Вы должны предоставить функцию (через специализацию шаблона), которая добавляет новую вершину в конец вектора
BSPA c++ bsp-tree for 3d triangle meshes that can handle arbitrary vertex types. Look at the examples for use-cases and at the hpp file for documentation the 3 examples are all relatively similar but I tried to include some variation I did try to make it as flexible as possible regarding the vertex type. The followind constraints apply:
one vertex must be contained within a datatype (struct, array of bytes, string containing descritpion, index into another array)
that datatype must be possible to put into a vector
you must provide a getter-method to get the 3d-position of that vertex (using template specialization)
the returntype of that function must be boost:qvm compatible (which can be acieved using template specialization)
you must provide a function (via template specialization) that adds a new vertex at the end of a vector