40 #ifndef GEOGRAM_MESH_MESH_REORDER
41 #define GEOGRAM_MESH_MESH_REORDER
109 index_t total_nb_vertices,
const double* vertices,
136 index_t nb_vertices,
const double* vertices,
141 double ratio = 0.125,
161 index_t nb_vertices,
const double* vertices,
171 index_t nb_vertices,
const double* vertices,
180 nb_vertices, vertices,
186 vec3(period, period, period)
Common include file, providing basic definitions. Should be included before anything else by all head...
Geometric functions in 2d and 3d.
Types and functions for memory manipulation.
Global Vorpaline namespace.
void mesh_reorder(Mesh &M, MeshOrder order=MESH_ORDER_HILBERT)
Reorders all the elements of a mesh.
vecng< 3, Numeric::float64 > vec3
Represents points and vectors in 3d.
geo_index_t index_t
The type for storing and manipulating indices.
MeshOrder
Strategy for spatial sorting.
void 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.
void 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.
void 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.
Types and functions for numbers manipulation.