commit e8f630e55a05b73743abec93d7920049694085b0
parent 1c25f43c6c8d4eb081051a4706720401da9e5091
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 16 Nov 2018 10:48:30 +0100
Rewrite the overview section of the README
Diffstat:
2 files changed, 32 insertions(+), 12 deletions(-)
diff --git a/README.md b/README.md
@@ -1,14 +1,34 @@
# Star-VoXel
-This library manage a 3D scene composed of voxels.
+Star-VX is C library whose purpose is to manage volume elements - named voxels
+- structured as a set of axis aligned cuboids. This library does not know
+anything about the volumic 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-VX proposes 2 hierarchical data structures: the *octree* and the *binary
+tree*. The first one is used to structure regular 3D data while the second one
+is for 1D data. Star-VX build the required data structure following a
+bottom-top strategy: the user submits the set of data to partition as well as
+the policy used to define when voxels can be merged and the merge operator
+itself. The way data are accessed through *indexing* or *ray-tracing* can also be
+finely tuned by the user. In addition of the probe position or the ray to
+trace, one can provide callbacks to stop traversal at a hierarchy level that is
+not a leaf, perform computations at the traversed leaf, discard leafs, etc.
+This gives a full control of the host application on the data structure while
+its memory representation and its accessors are still fully managed internally
+by Star-VX.
## How to build
-This program relies on the [CMake](http://www.cmake.org) and the
-[RCMake](https://gitlab.com/vaplv/rcmake/) packages to build.
-It also depends on the
-[RSys](https://gitlab.com/vaplv/rsys/),
-library.
+Star-VX relies on the [CMake](http://www.cmake.org) and the
+[RCMake](https://gitlab.com/vaplv/rcmake/) packages to build. It also depends
+on the [RSys](https://gitlab.com/vaplv/rsys/), library. It is compatible
+GNU/Linux as well as Microsoft Windows 7 and later, both in 64-bits on x86-64
+architectures. It was successfully built with the [GNU Compiler
+Collection](https://gcc.gnu.org) (versions 4.8.5 and later) as well as with
+Microsoft Visual Studio 2015.
First ensure that CMake is installed on your system. Then install the RCMake
package as well as the aforementioned prerequisites. Finally generate the
@@ -20,8 +40,8 @@ informations on CMake.
## Licenses
-This is a free software copyright (C) 2018 Université Paul Sabatier,
-|Meso|Star> 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.
-
+Star-VX is free software copyright (C) 2018 Université Paul Sabatier
+(<contact-edstar@laplace.univ-tlse.fr>), |Meso|Star> (<contact@meso-star.com>).
+It is 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.
diff --git a/src/svx.h b/src/svx.h
@@ -97,7 +97,7 @@ struct svx_voxel_desc {
void* ctx); /* Pointer toward user data */
void* context; /* Client side data sent as the last argument of the clbbs */
- size_t size; /* Size in bytes of a voxel. Must be <= SVX_MAX_SIZEOF_VOXE */
+ size_t size; /* Size in bytes of a voxel. Must be <= SVX_MAX_SIZEOF_VOXEL */
};
#define SVX_VOXEL_DESC_NULL__ { NULL, NULL, NULL, NULL, 0 }