README.md (2641B)
1 # Star Unstructured Volumetric Mesh 2 3 Star-UVM is a C library whose goal is to manage unstructured volumetric 4 meshes defined by a soup of tetrahedra. Once spatially partitioned, the 5 user can efficiently identify tetrahedra cut by an axis aligned box or 6 access the specific tetrahedron that encompasses a given position. 7 8 Only geometric data is processed by Star-UVM. No assumption is made on 9 their associated properties. Either way, Star-UVM provides data, such as 10 primitive indices and barycentric coordinates, needed to retrieve the 11 properties attached to each tetrahedron. These properties can thus be 12 managed externally without arbitrary constraints imposed by Star-UVM on 13 their size, alignment or type. 14 15 ## Requirements 16 17 - C compiler (C99) 18 - POSIX make 19 - pkg-config 20 - [Embree](https://github.com/embree/embree) 21 - [RSys](https://gitlab.com/vaplv/rsys) 22 - [Star-Mesh](https://gitlab.com/meso-star/star-mesh) (optional) 23 24 ## Installation 25 26 Edit config.mk as needed, then run: 27 28 make clean install 29 30 ## Release notes 31 32 ### Version 0.4.1 33 34 - Correct the installation directory of the header file. 35 It has been installed in the subdirectory "include/stardis/star", 36 instead of the directory "include/star". 37 38 ### Version 0.4 39 40 - Make suvm-voxelize an installable utility. 41 - Add the suvm-voxelize man page. 42 43 ### Version 0.3.1 44 45 - In release, replace the -O2 compilation flag by -O3 since significant 46 performance gains can be seen (up to 30%) when using level 3 of the C 47 optimizer on code that depends heavily on finding the tetrahedron in 48 which a given position lies. 49 50 ### Version 0.3 51 52 - Replace CMake by Makefile as build system. 53 - Update compiler and linker flags to increase the security and 54 robustness of generated binaries. 55 - Provide a pkg-config file to link the library as an external 56 dependency. 57 - Fix compilation warnings. 58 59 ### Version 0.2 60 61 Update of the acceleration data structure backend from Embree3 to 62 Embree4 63 64 ### Version 0.1 65 66 - Add the `suvm_mesh_desc_compute_hash` function which uses sha256 67 encryption to calculate a digest from the mesh data. 68 - Add the `suvm_get_mesh_desc` function that returns the mesh data, i.e. 69 the list of node positions and the list of cell indexes. 70 - Replace the obsolete Star-Tetrahedra dependency with Star-Mesh. 71 - Work around a numerical inaccuracy of barycentric coordinates. 72 - Fix warnings detected by gcc 11. 73 74 ## License 75 76 Copyright (C) 2020-2023, 2025-2026 |Méso|Star> (contact@meso-star.com) 77 78 Star-UVM is free software released under the GPL v3+ license: GNU GPL 79 version 3 or later. You are welcome to redistribute it under certain 80 conditions; refer to the COPYING file for details.