Октри - это древовидная структура для хранения трехмерных данных. Здесь вы найдете исходный код для самого простого и быстрого шаблона класса C ++. И это бесплатно . Вы можете найти больше информации о октреях в целом из Википедии.
Пример кода: #include"octree.h" intmain () { Octree < double > o (4096); / * Создать дерево 4096x4096x4096, содержащее double * / о (1,2,3) = 3,1416; / * Поместить пи в (1,2,3). * / o.erase (1,2,3); / * Стереть этот узел. * / }
Характеристики:
Легко: никаких зависимостей, просто чистый C ++. Вы просто создаете октодерево и помещаете в него данные, как будто это трехмерный массив. Вся магия делается без вашего ведома. И только между нами ты не хочешь знать.
Быстро: у моего октри есть отличная особенность: агрегаты . По умолчанию они не используются, и вам вообще не нужно знать о них, если вы этого не хотите. Но если вы хотите хорошего увеличения скорости, поиграйте немного с параметром шаблонаAS . Более высокое значение приведет к более быстрому и меньшему октрее для небольших типов данных, таких как int, float, double и т. Д.
Лицензия GPL . Если вы хотите что-то более разрешающее, свяжитесь со мной . Мы, вероятно, можем что-то придумать.