39 #ifndef H_OGF_MESH_COMMANDS_MESH_GROB_VOLUME_COMMANDS_H
40 #define H_OGF_MESH_COMMANDS_MESH_GROB_VOLUME_COMMANDS_H
85 bool preprocess=
false,
87 double max_hole_area=0.01,
90 bool keep_regions=
false,
115 unsigned int nb_points = 30000,
117 bool pyramids =
true,
118 bool border_refine =
false,
119 double border_max_dist = 0.2,
120 double min_normal_cos = 0.5,
121 double max_corner_cos = 0.6
127 enum VoronoiSimplification {
155 VoronoiSimplification simplification = simplify_tet_voro,
156 double angle_threshold = 1e-3,
160 bool tessellate_non_convex =
false,
161 bool generate_ids =
true,
162 bool medial_axis =
false
176 bool save_histo=
false,
198 bool refine_surface =
false,
199 double max_distance = 0.2
220 bool pyramids =
true,
221 double min_normal_cos = 0.5,
222 double max_corner_cos = 0.6
Base class for Commands related with a MeshGrob object.
Commands that manipulate volume meshes.
void Voronoi_meshing(const NewMeshGrobName &voronoi="voronoi", index_t nb_cells=1000, VoronoiSimplification simplification=simplify_tet_voro, double angle_threshold=1e-3, double shrink=0.0, const NewMeshGrobName &points="", bool exact=true, bool tessellate_non_convex=false, bool generate_ids=true, bool medial_axis=false)
Generates a Voronoi mesh from a volume and points.
void compute_borders()
Copies the border of the volume into the surfacic part of the mesh.
void tet_meshing_with_points(const MeshGrobName &points, const NewMeshGrobName &tetrahedra="tetrahedra", bool refine_surface=false, double max_distance=0.2)
Creates a tetrahedral mesh from a closed surface mesh and a pointset, using tetgen....
void volume_mesh_statistics(bool save_histo=false, index_t nb_bins=100)
Computes and displays various statistics for a hex-dominant mesh.
void tet2hex(const NewMeshGrobName &hexdom_name="hexes", bool prisms=true, bool pyramids=true, double min_normal_cos=0.5, double max_corner_cos=0.6)
Converts a tetrahedral mesh into a hexahedral dominant mesh by merging tetrahedra.
void display_volume()
Displays the volume of a mesh.
void remesh_tetrahedra(double quality=0.5)
Extracts the boundary of the zone with tetrahedral cells and remeshes it using Tetgen.
void hex_dominant_meshing(const NewMeshGrobName &hexdom_name="hexes", unsigned int nb_points=30000, bool prisms=true, bool pyramids=true, bool border_refine=false, double border_max_dist=0.2, double min_normal_cos=0.5, double max_corner_cos=0.6)
Fills a closed mesh with hexaedra (+other cells).
MeshGrobVolumeCommands()
MeshGrobVolumeCommands constructor.
~MeshGrobVolumeCommands() override
MeshGrobVolumeCommands destructor.
A template class for strings that need to have a specific type in the GOM system.
Base class for Commands related with a MeshGrob object.
geo_index_t index_t
The type for storing and manipulating indices.
Global Graphite namespace.
Definitions common to all include files in the mesh library.