40 #ifndef H_EXPLORAGRAM_OPTIMAL_TRANSPORT_SAMPLING_H
41 #define H_EXPLORAGRAM_OPTIMAL_TRANSPORT_SAMPLING_H
53 class CentroidalVoronoiTesselation;
94 Mesh& M,
double mass1,
double mass2,
95 const std::string& func_str,
96 Mesh* distance_reference =
nullptr
124 index_t nb_points,
bool project_on_border,
125 bool BRIO=
true,
bool multilevel=
true,
CentroidalVoronoiTesselation is the main component of the remeshing algorithm.
#define EXPLORAGRAM_API
Linkage declaration for exploragram symbols.
Included by all headers in exploragram.
Global Vorpaline namespace.
void EXPLORAGRAM_API sample(CentroidalVoronoiTesselation &CVT, index_t nb_points, bool project_on_border, bool BRIO=true, bool multilevel=true, double ratio=0.125, vector< index_t > *levels=nullptr)
Computes a point sampling of a surfacic or volumetric mesh.
void EXPLORAGRAM_API rescale_mesh(const Mesh &M1, Mesh &M2)
Rescales a mesh in such a way that its total volume matches the volume of a reference mesh.
double EXPLORAGRAM_API mesh_tets_volume(const Mesh &M)
Computes the volume of a tetrahedral mesh.
geo_index_t index_t
The type for storing and manipulating indices.
void EXPLORAGRAM_API set_density(Mesh &M, double mass1, double mass2, const std::string &func_str, Mesh *distance_reference=nullptr)
Creates a "weight" attribute with varying values.
void EXPLORAGRAM_API recenter_mesh(const Mesh &M1, Mesh &M2)
Translates a mesh in such a way that its center matches the center of another mesh.