Star-VoXel Manage volumetric data

Star-VX 0.2 is available

Star-VoXel is a C library whose purpose is to manage volumetric elements, named voxels, structured as a set of axis aligned cuboids. This library does not know anything about the volumetric data that it handles: it only provides data structures that partition voxels according to user criteria. It also implements efficient ways to index voxels into the space partitioning data structures or to access them through ray-tracing.

Star-VoXel implements 2 hierarchical data structures: the binary tree and the octree that are used to partition 1D or 3D data, respectively. For both structures, data are partitionned following a bottom-up strategy: the caller submits the raw data to Star-VoXel that it recursively structures from the leaf (the user data) to the root of the tree.

Octree
Octree built by Star-VoXel from cloud field data produced by a Large Eddy Simulation.

The policies used to merge input data as well as the merge operator itself are defined by the caller; Star-VoXel settles for building the hierarchical structure only.

The way data are accessed through indexing or ray-tracing can be finely tuned by the caller. Beyond the probe position or the ray to trace, the user can provide callbacks to stop the traversal at any hierarchy level, perform computations at the traversed node, discard leafs, etc. This API gives to the host application a full control on the hierarchical data structures while its memory representation and its accessors are still fully managed internally by Star-VoXel.

Release notes

Version 0.2.1

Sets the CMake minimum version to 3.1: since CMake 3.20, version 2.8 has become obsolete.

Version 0.2

Version 0.1

License

Copyright © 2018, 2020, 2021 |Meso|Star> (contact@meso-star.com). Copyright © 2018 Université Paul Sabatier (contact-edstar@laplace.univ-tlse.fr). Star-VoXel is free software released under the GPL v3+ license: GNU GPL version 3 or later. You are welcome to redistribute it under certain conditions; refer to the COPYING file for details.