40 #ifndef H_HEXDOM_ALGO_MESH_INSPECTOR_H
41 #define H_HEXDOM_ALGO_MESH_INSPECTOR_H
44 #include <exploragram/hexdom/mesh_utils.h>
48 void EXPLORAGRAM_API get_facet_stats(Mesh* m,
const char * msg =
"get_facet_stats",
bool export_attribs =
false);
56 bool EXPLORAGRAM_API volume_boundary_is_manifold(Mesh* m, std::string& msg);
60 void EXPLORAGRAM_API get_hex_proportion(Mesh*m,
double &nb_hex_prop,
double &vol_hex_prop);
69 vec3 bary = facet_bary(m, f);
71 FOR(fv, nbv) res = res + cross(X(m)[m->facets.
vertex(f, fv)] - bary, X(m)[m->facets.
vertex(f, next_mod(fv, nbv))] - bary);
72 return normalize(res);
index_t vertex(index_t f, index_t lv) const
Gets a vertex by facet and local vertex index.
index_t nb_vertices(index_t f) const
Gets the number of vertices of a facet.
#define EXPLORAGRAM_API
Linkage declaration for exploragram symbols.
Included by all headers in exploragram.
Global Vorpaline namespace.
vecng< 3, Numeric::float64 > vec3
Represents points and vectors in 3d.
geo_index_t index_t
The type for storing and manipulating indices.
vec3 facet_normal(Mesh *m, index_t f)