Graphite
Version 3
An experimental 3D geometry processing program
|
Reorders the elements in a mesh to improve data locality. More...
#include <geogram/basic/common.h>
#include <geogram/basic/numeric.h>
#include <geogram/basic/memory.h>
#include <geogram/basic/geometry.h>
Go to the source code of this file.
Namespaces | |
GEO | |
Global Vorpaline namespace. | |
Enumerations | |
enum | GEO::MeshOrder { GEO::MESH_ORDER_HILBERT , GEO::MESH_ORDER_MORTON } |
Strategy for spatial sorting. More... | |
Functions | |
void | GEO::mesh_reorder (Mesh &M, MeshOrder order=MESH_ORDER_HILBERT) |
Reorders all the elements of a mesh. More... | |
void | GEO::compute_Hilbert_order (index_t total_nb_vertices, const double *vertices, vector< index_t > &sorted_indices, index_t first, index_t last, index_t dimension, index_t stride=3) |
Computes the Hilbert order for a set of 3D points. More... | |
void | GEO::compute_BRIO_order (index_t nb_vertices, const double *vertices, vector< index_t > &sorted_indices, index_t dimension, index_t stride=3, index_t threshold=64, double ratio=0.125, vector< index_t > *levels=nullptr) |
Computes the BRIO order for a set of 3D points. More... | |
void | GEO::Hilbert_sort_periodic (index_t nb_vertices, const double *vertices, vector< index_t > &sorted_indices, index_t dimension, index_t stride, vector< index_t >::iterator first, vector< index_t >::iterator last, const vec3 &period) |
Spatially sort a set of vertices in periodic space. More... | |
void | GEO::Hilbert_sort_periodic (index_t nb_vertices, const double *vertices, vector< index_t > &sorted_indices, index_t dimension, index_t stride, vector< index_t >::iterator first, vector< index_t >::iterator last, double period=1.0) |
Reorders the elements in a mesh to improve data locality.
Definition in file mesh_reorder.h.