Graphite
Version 3
An experimental 3D geometry processing program
|
Commands that manipulate volume meshes. More...
#include <OGF/mesh/commands/mesh_grob_volume_commands.h>
Public Types | |
enum | VoronoiSimplification { keep_everything , simplify_tet , simplify_tet_voro } |
Public Member Functions | |
MeshGrobVolumeCommands () | |
MeshGrobVolumeCommands constructor. | |
~MeshGrobVolumeCommands () override | |
MeshGrobVolumeCommands destructor. | |
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). More... | |
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. More... | |
void | volume_mesh_statistics (bool save_histo=false, index_t nb_bins=100) |
Computes and displays various statistics for a hex-dominant mesh. More... | |
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. Initial closed surface is remeshed. More... | |
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. More... | |
void | remesh_tetrahedra (double quality=0.5) |
Extracts the boundary of the zone with tetrahedral cells and remeshes it using Tetgen. More... | |
void | display_volume () |
Displays the volume of a mesh. | |
void | compute_borders () |
Copies the border of the volume into the surfacic part of the mesh. | |
Public Member Functions inherited from OGF::MeshGrobCommands | |
MeshGrobCommands () | |
MeshGrobCommands constructor. | |
~MeshGrobCommands () override | |
MeshGrobCommands destructor. | |
MeshGrob * | mesh_grob () const |
Gets the MeshGrob. More... | |
Public Member Functions inherited from OGF::Commands | |
Commands () | |
Commands constructor. | |
~Commands () override | |
Commands destructor. | |
bool | invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val) override |
Invokes a method by method name and argument list, and gets the return value. More... | |
Interpreter * | interpreter () |
Gets the main Interpreter. More... | |
void | set_chrono (bool value) |
Sets whether timings are reported. More... | |
Public Member Functions inherited from OGF::Interface | |
Interface () | |
Interface constructor. | |
~Interface () override | |
Interface destructor. | |
Grob * | grob () const |
Gets the Grob. More... | |
SceneGraph * | scene_graph () const |
Gets the SceneGraph. More... | |
Grob * | get_grob () const |
Gets the current Grob. More... | |
Public Member Functions inherited from OGF::Object | |
Object (bool transient=false) | |
Object constructor. More... | |
virtual | ~Object () |
Object destructor. | |
virtual MetaClass * | meta_class () const |
Gets the meta class. More... | |
virtual void | set_meta_class (MetaClass *mclass) |
Sets the meta class. More... | |
unsigned int | id () const |
Gets the identifier of this object. More... | |
std::string | string_id () const |
Gets the unique string identifier. More... | |
bool | has_method (const std::string &method_name) const |
Tests whether a method is defined. More... | |
bool | invoke_method (const std::string &method_name, const ArgList &args) |
Invokes a method by method name and argument list. More... | |
bool | invoke_method (const std::string &method_name) |
Invokes a method by method name. More... | |
bool | has_property (const std::string &prop_name) const |
Tests whether a property is defined. More... | |
virtual bool | get_property (const std::string &prop_name, std::string &prop_value) const |
Gets a property. More... | |
virtual Connection * | connect_signal_to_slot (const std::string &signal_name, Object *to, const std::string &slot_name) |
Connects a signal with a slot of another object. More... | |
virtual void | add_connection (Connection *connection) |
Adds a connection to this object. More... | |
virtual void | remove_connection (Connection *connection) |
Removes a connection to this object. More... | |
virtual void | get_element (index_t i, Any &value) const |
Gets an element by index. More... | |
virtual void | set_element (index_t i, const Any &value) |
Sets an element by index. More... | |
virtual void | search (const std::string &needle, const std::string &path="") |
Displays the names of all objects that contain a substring. More... | |
bool | get_signals_enabled () const |
Tests wheter signals are enabled. More... | |
void | set_signals_enabled (bool value) |
Enables or disables signals. More... | |
bool | get_slots_enabled () const |
Tests wheter slots are enabled. More... | |
void | set_slots_enabled (bool value) |
Enables or disables slots. More... | |
MetaClass * | get_meta_class () const |
Gets the meta class. More... | |
std::string | get_string_id () const |
Gets the unique string identifier. More... | |
virtual std::string | get_doc () const |
Gets the documentation. More... | |
virtual Sign | compare (const Object *other) const |
Compares this object with another one. More... | |
virtual bool | is_a (const MetaType *type) const |
Tests whether this object inherits a given type. More... | |
void | disconnect () |
Removes all connections from signals of this objects. More... | |
void | enable_signals () |
Enables signals. | |
void | disable_signals () |
Disables signals. | |
void | enable_slots () |
Enables slots. | |
void | disable_slots () |
Disables slots. | |
void | set_properties (const ArgList &args) |
Sets several properties in a single call. More... | |
virtual bool | set_property (const std::string &name, const std::string &value) |
Sets an individual property. More... | |
void | help () const |
Displays some help about this object. More... | |
virtual bool | set_property (const std::string &name, const Any &value) |
Sets an individual property. More... | |
virtual bool | get_property (const std::string &prop_name, Any &prop_value) const |
Gets a property. More... | |
Public Member Functions inherited from GEO::Counted | |
void | ref () const |
Increments the reference count. More... | |
void | unref () const |
Decrements the reference count. More... | |
bool | is_shared () const |
Check if the object is shared. More... | |
int | nb_refs () const |
Gets the number of references that point to this object. More... | |
Public Attributes | |
__pad0__: void tet_meshing( bool preprocess=false | |
double | epsilon =0.001 |
double double | max_hole_area =0.01 |
double double bool | refine =false |
double double bool double | quality =1.0 |
double double bool double bool | keep_regions =false |
double double bool double bool bool | verbose |
Public Attributes inherited from OGF::Commands | |
__pad0__: bool get_chrono() const { return chrono_ | |
Public Attributes inherited from OGF::Interface | |
__pad0__: virtual void set_grob(Grob* value) | |
Public Attributes inherited from OGF::Object | |
__pad0__: virtual index_t get_nb_elements() const | |
__pad1__: bool equals(const Object* other) const | |
Additional Inherited Members | |
Static Public Member Functions inherited from OGF::Commands | |
static bool | command_is_running () |
Tests whether a command is currently running. More... | |
Static Public Member Functions inherited from OGF::Object | |
static Object * | id_to_object (unsigned int id) |
Gets an object from a unique object id. More... | |
Static Public Member Functions inherited from GEO::Counted | |
static void | ref (const Counted *counted) |
Increments the reference count. More... | |
static void | unref (const Counted *counted) |
Decrements the reference count. More... | |
Protected Member Functions inherited from OGF::MeshGrobCommands | |
virtual void | hide_attribute () |
Hides an attribute shown by show_attribute(). | |
virtual void | show_attribute (const std::string &attribute_name, MeshGrob *M=nullptr) |
Shows an attribute. More... | |
virtual void | show_charts (const std::string &attribute="chart") |
Shows the charts, stored in the "chart" facet attribute. | |
virtual void | show_mesh (MeshGrob *M=nullptr) |
Shows the mesh. More... | |
virtual void | set_vertices_visibility (bool visible) |
Shows or hides the vertices in the current shader. More... | |
void | show_vertices () |
Shows the vertices in the current shader. | |
void | hide_vertices () |
Hides the vertices in the current shader. | |
virtual void | show_UV (const std::string &UV_attribute_name="facet_corners.tex_coord", MeshGrob *M=nullptr) |
Shows the parameterization of a mesh. More... | |
virtual void | show_colors (const std::string &attribute="vertices.colors", MeshGrob *M=nullptr) |
Shows the colors of a mesh. More... | |
Protected Member Functions inherited from OGF::Object | |
virtual bool | emit_signal (const std::string &signal_name, const ArgList &args, bool called_from_slot=false) |
Emits a signal and calls the slots it is connected to. More... | |
Protected Member Functions inherited from GEO::Counted | |
Counted () | |
Creates a reference counted object. More... | |
virtual | ~Counted () |
Destroys a reference counted object. More... | |
Commands that manipulate volume meshes.
Definition at line 55 of file mesh_grob_volume_commands.h.
void OGF::MeshGrobVolumeCommands::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).
[in] | hexdom_name | name of the generated mesh. |
[in] | nb_points | desired number of points in the generated mesh. |
[in] | prisms | generate prisms. |
[in] | pyramids | generate pyramids. |
[in] | border_refine | refine border in order to lower Haussdorff distance. |
[in] | border_max_dist | maximum distance to reference, as a fraction of input mesh average edge length (TODO: check). \advanced |
[in] | min_normal_cos | minimum angle cosine between two triangular faces merged into an hex face. |
[in] | max_corner_cos | maximum angle cosine at a quad corner. |
void OGF::MeshGrobVolumeCommands::remesh_tetrahedra | ( | double | quality = 0.5 | ) |
Extracts the boundary of the zone with tetrahedral cells and remeshes it using Tetgen.
[in] | quality | 1.0 for high quality, 5.0 for low quality. \menu Advanced |
void OGF::MeshGrobVolumeCommands::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.
[in] | hexdom_name | name of the generated mesh. |
[in] | prisms | generate prisms. |
[in] | pyramids | generate pyramids. \advanced |
[in] | min_normal_cos | minimum angle cosine between two triangular faces merged into an hex face. |
[in] | max_corner_cos | maximum angle cosine at a quad corner. \menu Advanced |
void OGF::MeshGrobVolumeCommands::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. Initial closed surface is remeshed.
[in] | points | a pointset that will be inserted into the generated tetrahedral mesh |
[in] | tetrahedra | the name of the generated tetrahedralized mesh |
[in] | refine_surface | if true, insert vertices until distance to original surface is smaller than max_distance |
[in] | max_distance | maximum distance to original surface, as a proportion of average edge length of original surface \menu Advanced |
void OGF::MeshGrobVolumeCommands::volume_mesh_statistics | ( | bool | save_histo = false , |
index_t | nb_bins = 100 |
||
) |
Computes and displays various statistics for a hex-dominant mesh.
[in] | save_histo | if true, save dihedral and facet angle histograms |
[in] | nb_bins | number of bins in the computed histograms |
void OGF::MeshGrobVolumeCommands::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.
[out] | voronoi | name of the generated Voronoi mesh |
[in] | nb_cells | number of Voronoi cells to generate |
[in] | simplification | specifies how cells and faces should be simplified |
[in] | angle_threshold | (in degrees) simplify boundary edges whenever their facets have normal angle smaller than threshold |
[in] | shrink | optional shrink factor for displaying cells \advanced |
[in] | points | optional name of the pointset used to compute the Voronoi diagram |
[in] | exact | if true, all intersection perdicates are evaluated with exact arithmetics and symbolic perturbations |
[in] | generate_ids | if true, generate ids in attributes. Necessary to output OVM files. |
[in] | medial_axis | if true, generate an approximation of the medial axis (by removing facets from the computed mesh). |
double double bool double bool bool OGF::MeshGrobVolumeCommands::verbose |
Definition at line 91 of file mesh_grob_volume_commands.h.