Graphite  Version 3
An experimental 3D geometry processing program
mesh_reorder.h File Reference

Reorders the elements in a mesh to improve data locality. More...

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)
 

Detailed Description

Reorders the elements in a mesh to improve data locality.

Definition in file mesh_reorder.h.