33 #ifndef __H__UG_PROMESH__subset_tools__
34 #define __H__UG_PROMESH__subset_tools__
42 #define TOOLTIP_SET_SUBSET_NAME ""
43 #define TOOLTIP_ASSIGN_SUBSET "Assigns the selected elements to a subset."
44 #define TOOLTIP_ASSIGN_NEW_SUBSET "Assigns selected elements to a new subset."
45 #define TOOLTIP_UNASSIGN_SUBSETS "Unassigns selected elements from any subset."
46 #define TOOLTIP_ASSIGN_SUBSET_COLORS "assigns subset colors by a procedural scheme."
47 #define TOOLTIP_SEPARATE_FACES_BY_EDGE_SUBSETS "Assigns faces that are surrounded by a set of edge-subsets to a common subset."
48 #define TOOLTIP_SEPARATE_FACES_BY_SELECTED_EDGES "Assigns faces that are surrounded by a set of selected edges to a common subset."
49 #define TOOLTIP_SEPARATE_VOLUMES_BY_FACE_SUBSETS "Assigns volumes that are surrounded by a set of face-subsets to a common subset."
50 #define TOOLTIP_SEPARATE_VOLUMES_BY_SELECTED_FACES "Assigns volumes that are surrounded by a set of selected faces to a common subset."
51 #define TOOLTIP_SEPARATE_IRREGULAR_MANIFOLD_SUBSETS "After this algorithm all face-subsets are regular manifolds."
52 #define TOOLTIP_MOVE_SUBSET "Moves a subset to another index."
53 #define TOOLTIP_SWAP_SUBSETS "Swaps two subsets"
54 #define TOOLTIP_JOIN_SUBSETS "Joins two subsets"
55 #define TOOLTIP_ERASE_SUBSET "Erases a subset, but not its associated geometry."
56 #define TOOLTIP_ERASE_EMPTY_SUBSETS "Erases Subsets, which do not contain any elements at all."
57 #define TOOLTIP_ADJUST_SUBSETS_FOR_UG3 "Assigns face and edge indices so that the geometry can be used with ug3."
58 #define TOOLTIP_ADJUST_SUBSETS_FOR_UG4 "Adjusts subsets for simulation with ug4."
59 #define TOOLTIP_SEPARATE_FACE_SUBSETS_BY_NORMAL "Collects faces of each subset that have a similar normal and assigns them to new subsets."
60 #define TOOLTIP_SEPARATE_FACE_SUBSET_BY_NORMAL "Collects faces of a given subset that have a similar normal and assigns them to new subsets."
61 #define TOOLTIP_ASSIGN_SUBSETS_BY_QUALITY "Assigns the selected to a subset depending on their quality."
62 #define TOOLTIP_SEPARATE_DEGENERATED_BOUNDARY_FACE_SUBSETS "Separates degenerated boundary face subsets at sharp creases."
63 #define TOOLTIP_COPY_SUBSET_INDICES_TO_SIDES "Copies subset indices of selected elements to sides of those elements."
64 #define TOOLTIP_ASSIGN_SUBSETS_BY_ELEMENT_TYPE "Assigns elemets to subsets based on their concrete type."
65 #define TOOLTIP_ASSIGN_SUBSETS_BY_ASPECT_RATIO "Assigns subsets according to an aspect ratio histogram"
66 #define TOOLTIP_ASSIGN_SUBSETS_FROM_RASTER "Assigns the subset index for each element from the raster-cell in which the center of the element lies."
113 void MoveSubset(Mesh* obj,
int oldIndex,
int newIndex);
115 void SwapSubsets(Mesh* obj,
int oldIndex,
int newIndex);
119 void EraseSubset(Mesh* obj,
int si,
bool eraseGeometry);
140 bool toUnassignedOnly);
142 template <
class elem_t>
146 bool eraseOldSubsets);
150 const char* rasterFileName,
void SeparateFaceSubsetsByNormal(Mesh *obj)
Definition: subset_tools.cpp:222
void MoveSubset(Mesh *obj, int oldIndex, int newIndex)
Definition: subset_tools.cpp:159
void JoinSubsets(Mesh *obj, int target, int si1, int si2, bool eraseUnused)
Definition: subset_tools.cpp:177
void AssignSubsetColors(Mesh *obj)
Definition: subset_tools.cpp:115
void AssignSubsetsByAspectRatio(Mesh *msh, int numHistoSecs, bool eraseOldSubsets)
Definition: subset_tools.cpp:438
void SeparateVolumesBySelectedFaces(Mesh *obj)
Definition: subset_tools.cpp:142
void SeparateFaceSubsetByNormal(Mesh *obj, int si)
Definition: subset_tools.cpp:227
void AssignSubsetsFromRaster(Mesh *obj, const char *rasterFileName, int rasterDimension, bool vertices, bool edges, bool faces, bool volumes)
Definition: subset_tools.cpp:553
void AdjustSubsetsForUG4(Mesh *obj, bool preserveExistingSubsets)
Definition: subset_tools.cpp:217
void SetSubsetName(Mesh *obj, int si, const char *name)
Definition: subset_tools.cpp:109
void AssignSubset(Mesh *obj, int newIndex)
Definition: subset_tools.cpp:42
void SeparateVolumesByFaceSubsets(Mesh *obj)
Definition: subset_tools.cpp:135
void EraseEmptySubsets(Mesh *obj)
Definition: subset_tools.cpp:200
void SeparateDegeneratedBoundaryFaceSubsets(Mesh *obj, number angle)
Definition: subset_tools.cpp:270
void AssignSubsetsByQuality(Mesh *obj, int numSections)
Definition: subset_tools.cpp:234
void SeparateIrregularManifoldSubsets(Mesh *obj)
Definition: subset_tools.cpp:150
void SeparateFacesBySelectedEdges(Mesh *obj)
Definition: subset_tools.cpp:127
void SwapSubsets(Mesh *obj, int oldIndex, int newIndex)
Definition: subset_tools.cpp:167
void CopySubsetIndicesToSides(Mesh *obj, bool selectionOnly, bool toUnassignedOnly)
Definition: subset_tools.cpp:420
void SeparateFacesByEdgeSubsets(Mesh *obj)
Definition: subset_tools.cpp:120
void AssignSubsetsByElementType(Mesh *obj)
Definition: subset_tools.cpp:407
void UnassignSubsets(Mesh *obj, bool vertices, bool edges, bool faces, bool volumes)
Definition: subset_tools.cpp:99
void EraseSubset(Mesh *obj, int si, bool eraseGeometry)
Definition: subset_tools.cpp:183
void AssignNewSubset(Mesh *obj, const char *name, bool vertices, bool edges, bool faces, bool volumes)
Definition: subset_tools.cpp:72
void AdjustSubsetsForUG3(Mesh *obj, bool keepIntfSubs)
Definition: subset_tools.cpp:212
std::pair< counting_iterator< size_t >, counting_iterator< size_t > > vertices(ug::BidirectionalMatrix< T > const &M)
size_t target(SM_edge< typename T::value_type > const &e, ug::BidirectionalMatrix< T > const &m)