53 #ifndef MESHSELECTION_HH 54 #define MESHSELECTION_HH 64 #include <OpenMesh/Core/Mesh/Handles.hh> 85 template<
typename MeshT >
87 void selectVertices(MeshT* _mesh,
const std::vector< int >& _vertices);
94 template<
typename MeshT >
106 template<
typename MeshT >
113 template<
typename MeshT >
120 template<
typename MeshT >
127 template<
typename MeshT >
135 template<
typename MeshT >
142 template<
typename MeshT >
149 template<
typename MeshT >
158 template<
typename MeshT >
167 template<
typename MeshT >
169 std::vector< int > getVertexSelection(MeshT* _mesh,
bool& _invert);
180 template<
typename MeshT >
182 void selectBoundaryVertices(MeshT* _mesh,
const typename MeshT::VertexHandle& _vh);
189 template<
typename MeshT >
197 template<
typename MeshT >
199 void convertVertexToEdgeSelection(MeshT* _mesh);
206 template<
typename MeshT >
214 template<
typename MeshT >
216 void convertVertexToHalfedgeSelection(MeshT* _mesh);
223 template<
typename MeshT >
231 template<
typename MeshT >
233 void convertVertexToFaceSelection(MeshT* _mesh);
239 template<
typename MeshT >
247 template<
typename MeshT >
255 template<
typename MeshT >
273 template<
typename MeshT >
275 void setArea(MeshT* _mesh,
const std::vector< int >& _vertices ,
unsigned int _type,
bool _state);
283 template<
typename MeshT >
285 void setArea(MeshT* _mesh ,
unsigned int _type,
bool _state);
289 template<
typename MeshT >
291 std::vector< int >
getArea(MeshT* _mesh,
unsigned int _type);
299 template<
typename MeshT >
301 std::vector< int > getArea(MeshT* _mesh,
unsigned int _type ,
bool& _invert);
315 template<
typename MeshT >
317 void selectEdges(MeshT* _mesh,
const std::vector< int >& _edges,
const double _dihedral_angle_threshold = 0.0);
326 template<
typename MeshT >
330 selectEdges(_mesh, _edges);
334 template<
typename MeshT >
336 void unselectEdges(MeshT* _mesh,
const std::vector< int >& _edges);
339 template<
typename MeshT >
344 template<
typename MeshT >
349 template<
typename MeshT >
354 template<
typename MeshT >
359 template<
typename MeshT >
364 template<
typename MeshT >
372 template<
typename MeshT >
374 std::vector< int > getEdgeSelection(MeshT* _mesh,
bool& _invert);
381 template<
typename MeshT >
388 template<
typename MeshT >
390 void convertEdgeToVertexSelection(MeshT* _mesh);
397 template<
typename MeshT >
404 template<
typename MeshT >
406 void convertEdgeToFaceSelection(MeshT* _mesh);
411 template<
typename MeshT >
418 template<
typename MeshT >
425 template<
typename MeshT >
432 template<
typename MeshT >
448 template<
typename MeshT >
450 void selectHalfedges(MeshT* _mesh,
const std::vector< int >& _halfedges);
457 template<
typename MeshT >
461 selectHalfedges(_mesh, _halfedges);
465 template<
typename MeshT >
470 template<
typename MeshT >
475 template<
typename MeshT >
480 template<
typename MeshT >
485 template<
typename MeshT >
490 template<
typename MeshT >
497 template<
typename MeshT >
504 template<
typename MeshT >
511 template<
typename MeshT >
524 template<
typename MeshT >
526 void selectFaces(MeshT* _mesh,
const std::vector< int >& _faces );
533 template<
typename MeshT >
537 selectFaces(_mesh, _faces);
541 template<
typename MeshT >
543 void unselectFaces(MeshT* _mesh,
const std::vector< int >& _faces );
546 template<
typename MeshT >
551 template<
typename MeshT >
556 template<
typename MeshT >
561 template<
typename MeshT >
568 template<
typename MeshT >
576 template<
typename MeshT >
582 template<
typename MeshT >
591 template<
typename MeshT >
593 std::vector< int > getFaceSelection(MeshT* _mesh,
bool& _invert);
601 template<
typename MeshT >
608 template<
typename MeshT >
610 void convertFaceToVertexSelection(MeshT* _mesh);
615 template<
typename MeshT >
622 template<
typename MeshT >
629 template<
typename MeshT >
636 template<
typename MeshT >
643 template<
typename MeshT >
652 #if defined(INCLUDE_TEMPLATES) && !defined(MESHSELECTION_C) 653 #define MESHSELECTION_TEMPLATES 654 #include "MeshSelectionT_impl.hh" 657 #endif // MESHSELECTION_HH defined Handle for a edge entity.
Handle for a face entity.
void selectFaces(MeshT *_mesh, const std::vector< int > &_faces)
Select given faces of a mesh.
void convertVertexSelectionToFeatureVertices(MeshT *_mesh)
Convert vertex selection to feature selection.
void convertHalfedgeToEdgeSelection(MeshT *_mesh)
void clearEdgeSelection(MeshT *_mesh)
Set all edges to unselected.
void setArea(MeshT *_mesh, const std::vector< int > &_vertices, unsigned int _type, bool _state)
Set the area bit for all defined vertices.
void shrinkFaceSelection(MeshT *_mesh)
Shrink Face selection.
void convertFeatureEdgesToEdgeSelection(MeshT *_mesh)
void unselectHalfedges(MeshT *_mesh, const std::vector< int > &_halfedges)
Unselect given edges of a mesh.
void invertEdgeSelection(MeshT *_mesh)
Invert Edge selection.
Handle for a halfedge entity.
void convertFaceToEdgeSelection(MeshT *_mesh)
std::vector< int > getVertexSelection(MeshT *_mesh)
Get the current vertex selection.
void clearVertexSelection(MeshT *_mesh)
Set all vertices to unselected.
void convertFeatureFacesToFaceSelection(MeshT *_mesh)
void clearFaceSelection(MeshT *_mesh)
Set all faces to unselected.
void selectBoundaryFaces(MeshT *_mesh)
Select all boundary faces of a mesh.
void convertEdgeToVertexSelection(MeshT *_mesh, const std::vector< int > &_edges)
Handle for a vertex entity.
void invertVertexSelection(MeshT *_mesh)
invert vertex selection
void selectAllFaces(MeshT *_mesh)
Select all faces of a mesh.
void selectEdges(MeshT *_mesh, const std::vector< int > &_edges, const double _dihedral_angle_threshold=0.0)
Select given edges of a mesh.
void clearFeatureVertices(MeshT *_mesh)
Clear all features.
void convertFaceToVertexSelection(MeshT *_mesh, const std::vector< int > &_faces)
void shrinkVertexSelection(MeshT *_mesh)
Shrink vertex selection.
void unselectFaces(MeshT *_mesh, const std::vector< int > &_faces)
Unselect given faces of a mesh.
void convertHalfedgeToFaceSelection(MeshT *_mesh)
void selectElements(MeshT *_mesh, const std::vector< int > &_vertices, OpenMesh::VertexHandle)
Select given vertices of a mesh Same as selectVertices.
void convertVertexToHalfedgeSelection(MeshT *_mesh, const std::vector< int > &_vertices)
Select for each vertex in _vertices all incident halfedges.
void convertEdgeToHalfedgeSelection(MeshT *_mesh)
void clearFeatureFaces(MeshT *_mesh)
std::vector< int > getHalfedgeSelection(MeshT *_mesh)
void invertHalfedgeSelection(MeshT *_mesh)
Invert Edge selection.
void selectHalfedges(MeshT *_mesh, const std::vector< int > &_halfedges)
Select given halfedges of a mesh.
void convertEdgeToFaceSelection(MeshT *_mesh, const std::vector< int > &_edges)
void selectAllHalfedges(MeshT *_mesh)
Select all edges of a mesh.
void convertHalfedgeToVertexSelection(MeshT *_mesh)
void convertFaceSelectionToFeatureFaces(MeshT *_mesh)
void unselectEdges(MeshT *_mesh, const std::vector< int > &_edges)
Unselect given edges of a mesh.
std::vector< int > getEdgeSelection(MeshT *_mesh)
void convertFaceToHalfedgeSelection(MeshT *_mesh)
void unselectVertices(MeshT *_mesh, const std::vector< int > &_vertices)
Unselect given vertices of a mesh.
std::vector< int > getArea(MeshT *_mesh, unsigned int _type)
void growFaceSelection(MeshT *_mesh)
Grow Face selection.
void convertFeatureVerticesToVertexSelection(MeshT *_mesh)
Convert feature selection to vertex selection.
void invertFaceSelection(MeshT *_mesh)
Invert face selection.
void growVertexSelection(MeshT *_mesh)
Grow vertex selection.
void clearHalfedgeSelection(MeshT *_mesh)
Set all edges to unselected.
void convertVertexToEdgeSelection(MeshT *_mesh, const std::vector< int > &_vertices)
Select for each vertex in _vertices all incident edges.
void selectAllEdges(MeshT *_mesh)
Select all edges of a mesh.
void convertEdgeSelectionToFeatureEdges(MeshT *_mesh)
void selectBoundaryEdges(MeshT *_mesh)
Select all boundary edges of a mesh.
void selectBoundaryVertices(MeshT *_mesh)
Select all vertices of the mesh which are boundary vertices.
std::vector< int > getFaceSelection(MeshT *_mesh)
void convertVertexToFaceSelection(MeshT *_mesh, const std::vector< int > &_vertices)
Select for each vertex in _vertices all adjacent faces.
void growEdgeSelection(MeshT *_mesh)
Invert Edge selection.
void clearFeatureEdges(MeshT *_mesh)
void selectAllVertices(MeshT *_mesh)
Select all vertices of a mesh.
void selectBoundaryHalfedges(MeshT *_mesh)
Select all boundary edges of a mesh.
void selectVertices(MeshT *_mesh, const std::vector< int > &_vertices)
Select given vertices of a mesh.