Plugins
topology_tools.h File Reference

Go to the source code of this file.

Namespaces

 ug
 
 ug::promesh
 

Macros

#define TOOLTIP_ADJUST_EDGE_ORIENTATION   "Adjusts the orientation of boundary edges to associated faces."
 
#define TOOLTIP_COLLAPSE_EDGE   "Collapses the edge and removes adjacent triangles."
 
#define TOOLTIP_CREATE_HEXAHEDRA_FROM_SELECTED_PRISMS   "Creates hexahedra from pairs of selected prisms which share a quadrilateral side. For best performance, matching prisms should be selected directly after one another."
 
#define TOOLTIP_ERASE_SELECTED_ELEMENTS   "Erases selected elements and associated unreferenced geometry."
 
#define TOOLTIP_FIX_FACE_ORIENTATION   "Tries to change orientation of selected faces so that all neighbouring faces point into the same direction. Only works correctly for manifold selections."
 
#define TOOLTIP_FIX_FACE_SUBSET_ORIENTATIONS   "Iterates over all subset and tries to fix face orientation for each. Only works correctly for manifold subsets."
 
#define TOOLTIP_FIX_VOLUME_ORIENTATION   "Changes orientation of selected volumes, so that they are oriented correctly."
 
#define TOOLTIP_INTERSECT_CLOSE_EDGES   "Performs intersections between selected close edges."
 
#define TOOLTIP_INVERT_FACE_ORIENTATION   "Inverts the orientation of all selected faces."
 
#define TOOLTIP_MERGE_AT_CENTER   "Merges all selected objects into a single vertex at the center of the selection."
 
#define TOOLTIP_MERGE_AT_FIRST   "Merges all selected objects into a single vertex at the first selected vertex."
 
#define TOOLTIP_MERGE_AT_LAST   "Merges all selected objects into a single vertex at the last selected vertex."
 
#define TOOLTIP_PLANE_CUT   "Cuts selected edges along the given plane."
 
#define TOOLTIP_PROJECT_VERTICES_TO_CLOSE_EDGES   "Projects selected vertices to selected close edges."
 
#define TOOLTIP_PROJECT_VERTICES_TO_CLOSE_FACES   "Projects selected vertices to selected close faces."
 
#define TOOLTIP_REMOVE_DOUBLE_EDGES   "Removes selected duplicates of selected edges."
 
#define TOOLTIP_REMOVE_DOUBLE_FACES   "Removes selected duplicates of selected faces."
 
#define TOOLTIP_REMOVE_DOUBLES   "Removes selected vertices that are close to each other"
 
#define TOOLTIP_RESOLVE_EDGE_INTERSECTIONS   "Makes sure that all edge intersections are represented by a vertex."
 
#define TOOLTIP_RESOLVE_SELF_INTERSECTIONS   "Resolves self intersections of faces and edges."
 
#define TOOLTIP_RESOLVE_TRIANGLE_INTERSECTIONS   "Makes sure that all triangle intersections are represented by an edge and vertices."
 
#define TOOLTIP_SPLIT_EDGE   "Splits the edge and inserts new triangles."
 
#define TOOLTIP_SWAP_EDGE   "Swaps selected edges that are adjacent to exactly two triangles."
 

Functions

void ug::promesh::AdjustEdgeOrientation (Mesh *obj)
 
void ug::promesh::CollapseEdge (Mesh *obj)
 
void ug::promesh::CreateHexahedraFromSelectedPrisms (Mesh *obj)
 
void ug::promesh::EraseSelectedElements (Mesh *obj, bool eraseUnusedVrts, bool eraseUnusedEdges, bool eraseUnusedFaces)
 
void ug::promesh::FixFaceOrientation (Mesh *obj)
 
void ug::promesh::FixFaceSubsetOrientations (Mesh *obj)
 
int ug::promesh::FixVolumeOrientation (Mesh *obj)
 
void ug::promesh::IntersectCloseEdges (Mesh *obj, number snapThreshold)
 
void ug::promesh::InvertFaceOrientation (Mesh *obj)
 
void ug::promesh::MergeAtCenter (Mesh *obj)
 
void ug::promesh::MergeAtFirst (Mesh *obj)
 
void ug::promesh::MergeAtLast (Mesh *obj)
 
void ug::promesh::PlaneCut (Mesh *obj, const vector3 &p, const vector3 &n)
 
void ug::promesh::ProjectVerticesToCloseEdges (Mesh *obj, number snapThreshold)
 
void ug::promesh::ProjectVerticesToCloseFaces (Mesh *obj, number snapThreshold)
 
size_t ug::promesh::RemoveDoubleEdges (Mesh *obj)
 
size_t ug::promesh::RemoveDoubleFaces (Mesh *obj)
 
size_t ug::promesh::RemoveDoubles (Mesh *obj, number threshold)
 returns the number of removed vertices More...
 
void ug::promesh::ResolveEdgeIntersection (Mesh *obj, number snapThreshold)
 
void ug::promesh::ResolveSelfIntersections (Mesh *obj, number snapThreshold)
 
void ug::promesh::ResolveTriangleIntersections (Mesh *obj, number snapThreshold)
 
void ug::promesh::SplitEdge (Mesh *obj)
 
void ug::promesh::SwapEdge (Mesh *obj)
 

Macro Definition Documentation

◆ TOOLTIP_ADJUST_EDGE_ORIENTATION

#define TOOLTIP_ADJUST_EDGE_ORIENTATION   "Adjusts the orientation of boundary edges to associated faces."

◆ TOOLTIP_COLLAPSE_EDGE

#define TOOLTIP_COLLAPSE_EDGE   "Collapses the edge and removes adjacent triangles."

◆ TOOLTIP_CREATE_HEXAHEDRA_FROM_SELECTED_PRISMS

#define TOOLTIP_CREATE_HEXAHEDRA_FROM_SELECTED_PRISMS   "Creates hexahedra from pairs of selected prisms which share a quadrilateral side. For best performance, matching prisms should be selected directly after one another."

◆ TOOLTIP_ERASE_SELECTED_ELEMENTS

#define TOOLTIP_ERASE_SELECTED_ELEMENTS   "Erases selected elements and associated unreferenced geometry."

◆ TOOLTIP_FIX_FACE_ORIENTATION

#define TOOLTIP_FIX_FACE_ORIENTATION   "Tries to change orientation of selected faces so that all neighbouring faces point into the same direction. Only works correctly for manifold selections."

◆ TOOLTIP_FIX_FACE_SUBSET_ORIENTATIONS

#define TOOLTIP_FIX_FACE_SUBSET_ORIENTATIONS   "Iterates over all subset and tries to fix face orientation for each. Only works correctly for manifold subsets."

◆ TOOLTIP_FIX_VOLUME_ORIENTATION

#define TOOLTIP_FIX_VOLUME_ORIENTATION   "Changes orientation of selected volumes, so that they are oriented correctly."

◆ TOOLTIP_INTERSECT_CLOSE_EDGES

#define TOOLTIP_INTERSECT_CLOSE_EDGES   "Performs intersections between selected close edges."

◆ TOOLTIP_INVERT_FACE_ORIENTATION

#define TOOLTIP_INVERT_FACE_ORIENTATION   "Inverts the orientation of all selected faces."

◆ TOOLTIP_MERGE_AT_CENTER

#define TOOLTIP_MERGE_AT_CENTER   "Merges all selected objects into a single vertex at the center of the selection."

◆ TOOLTIP_MERGE_AT_FIRST

#define TOOLTIP_MERGE_AT_FIRST   "Merges all selected objects into a single vertex at the first selected vertex."

◆ TOOLTIP_MERGE_AT_LAST

#define TOOLTIP_MERGE_AT_LAST   "Merges all selected objects into a single vertex at the last selected vertex."

◆ TOOLTIP_PLANE_CUT

#define TOOLTIP_PLANE_CUT   "Cuts selected edges along the given plane."

◆ TOOLTIP_PROJECT_VERTICES_TO_CLOSE_EDGES

#define TOOLTIP_PROJECT_VERTICES_TO_CLOSE_EDGES   "Projects selected vertices to selected close edges."

◆ TOOLTIP_PROJECT_VERTICES_TO_CLOSE_FACES

#define TOOLTIP_PROJECT_VERTICES_TO_CLOSE_FACES   "Projects selected vertices to selected close faces."

◆ TOOLTIP_REMOVE_DOUBLE_EDGES

#define TOOLTIP_REMOVE_DOUBLE_EDGES   "Removes selected duplicates of selected edges."

◆ TOOLTIP_REMOVE_DOUBLE_FACES

#define TOOLTIP_REMOVE_DOUBLE_FACES   "Removes selected duplicates of selected faces."

◆ TOOLTIP_REMOVE_DOUBLES

#define TOOLTIP_REMOVE_DOUBLES   "Removes selected vertices that are close to each other"

◆ TOOLTIP_RESOLVE_EDGE_INTERSECTIONS

#define TOOLTIP_RESOLVE_EDGE_INTERSECTIONS   "Makes sure that all edge intersections are represented by a vertex."

◆ TOOLTIP_RESOLVE_SELF_INTERSECTIONS

#define TOOLTIP_RESOLVE_SELF_INTERSECTIONS   "Resolves self intersections of faces and edges."

◆ TOOLTIP_RESOLVE_TRIANGLE_INTERSECTIONS

#define TOOLTIP_RESOLVE_TRIANGLE_INTERSECTIONS   "Makes sure that all triangle intersections are represented by an edge and vertices."

◆ TOOLTIP_SPLIT_EDGE

#define TOOLTIP_SPLIT_EDGE   "Splits the edge and inserts new triangles."

◆ TOOLTIP_SWAP_EDGE

#define TOOLTIP_SWAP_EDGE   "Swaps selected edges that are adjacent to exactly two triangles."