Developer Documentation
|
Functions for selection on a mesh. More...
#include <OpenMesh/Core/Mesh/Handles.hh>
#include <vector>
Go to the source code of this file.
Functions | |
Vertex Selection | |
template<typename MeshT > | |
void | MeshSelection::selectVertices (MeshT *_mesh, const std::vector< int > &_vertices) |
Select given vertices of a mesh. More... | |
template<typename MeshT > | |
void | MeshSelection::selectElements (MeshT *_mesh, const std::vector< int > &_vertices, OpenMesh::VertexHandle) |
Select given vertices of a mesh Same as selectVertices. More... | |
template<typename MeshT > | |
void | MeshSelection::unselectVertices (MeshT *_mesh, const std::vector< int > &_vertices) |
Unselect given vertices of a mesh. More... | |
template<typename MeshT > | |
void | MeshSelection::selectAllVertices (MeshT *_mesh) |
Select all vertices of a mesh. More... | |
template<typename MeshT > | |
void | MeshSelection::clearVertexSelection (MeshT *_mesh) |
Set all vertices to unselected. More... | |
template<typename MeshT > | |
void | MeshSelection::invertVertexSelection (MeshT *_mesh) |
invert vertex selection More... | |
template<typename MeshT > | |
void | MeshSelection::selectBoundaryVertices (MeshT *_mesh) |
Select all vertices of the mesh which are boundary vertices. More... | |
template<typename MeshT > | |
void | MeshSelection::shrinkVertexSelection (MeshT *_mesh) |
Shrink vertex selection. More... | |
template<typename MeshT > | |
void | MeshSelection::growVertexSelection (MeshT *_mesh) |
Grow vertex selection. More... | |
template<typename MeshT > | |
std::vector< int > | MeshSelection::getVertexSelection (MeshT *_mesh) |
Get the current vertex selection. More... | |
template<typename MeshT > | |
std::vector< int > | MeshSelection::getVertexSelection (MeshT *_mesh, bool &_invert) |
template<typename MeshT > | |
void | MeshSelection::selectBoundaryVertices (MeshT *_mesh, const typename MeshT::VertexHandle &_vh) |
Select all vertices belonging to the same boundary as _vh. More... | |
template<typename MeshT > | |
void | MeshSelection::convertVertexToEdgeSelection (MeshT *_mesh, const std::vector< int > &_vertices) |
Select for each vertex in _vertices all incident edges. More... | |
template<typename MeshT > | |
void | MeshSelection::convertVertexToEdgeSelection (MeshT *_mesh) |
For each selected vertex select all incident edges. More... | |
template<typename MeshT > | |
void | MeshSelection::convertVertexToHalfedgeSelection (MeshT *_mesh, const std::vector< int > &_vertices) |
Select for each vertex in _vertices all incident halfedges. More... | |
template<typename MeshT > | |
void | MeshSelection::convertVertexToHalfedgeSelection (MeshT *_mesh) |
For each selected vertex select all incident halfedges. More... | |
template<typename MeshT > | |
void | MeshSelection::convertVertexToFaceSelection (MeshT *_mesh, const std::vector< int > &_vertices) |
Select for each vertex in _vertices all adjacent faces. More... | |
template<typename MeshT > | |
void | MeshSelection::convertVertexToFaceSelection (MeshT *_mesh) |
For each selected vertex select all adjacent faces. More... | |
template<typename MeshT > | |
void | MeshSelection::convertVertexSelectionToFeatureVertices (MeshT *_mesh) |
Convert vertex selection to feature selection. More... | |
template<typename MeshT > | |
void | MeshSelection::convertFeatureVerticesToVertexSelection (MeshT *_mesh) |
Convert feature selection to vertex selection. More... | |
template<typename MeshT > | |
void | MeshSelection::clearFeatureVertices (MeshT *_mesh) |
Clear all features. More... | |
Modeling Regions | |
template<typename MeshT > | |
void | MeshSelection::setArea (MeshT *_mesh, const std::vector< int > &_vertices, unsigned int _type, bool _state) |
Set the area bit for all defined vertices. More... | |
template<typename MeshT > | |
void | MeshSelection::setArea (MeshT *_mesh, unsigned int _type, bool _state) |
Reset Modeling Status for vertices. More... | |
template<typename MeshT > | |
std::vector< int > | MeshSelection::getArea (MeshT *_mesh, unsigned int _type) |
template<typename MeshT > | |
std::vector< int > | MeshSelection::getArea (MeshT *_mesh, unsigned int _type, bool &_invert) |
Edge Selection | |
template<typename MeshT > | |
void | MeshSelection::selectEdges (MeshT *_mesh, const std::vector< int > &_edges, const double _dihedral_angle_threshold=0.0) |
Select given edges of a mesh. More... | |
template<typename MeshT > | |
void | MeshSelection::selectElements (MeshT *_mesh, const std::vector< int > &_edges, OpenMesh::EdgeHandle) |
Select given edges of a mesh Same as selectEdges. More... | |
template<typename MeshT > | |
void | MeshSelection::unselectEdges (MeshT *_mesh, const std::vector< int > &_edges) |
Unselect given edges of a mesh. | |
template<typename MeshT > | |
void | MeshSelection::selectAllEdges (MeshT *_mesh) |
Select all edges of a mesh. | |
template<typename MeshT > | |
void | MeshSelection::clearEdgeSelection (MeshT *_mesh) |
Set all edges to unselected. | |
template<typename MeshT > | |
void | MeshSelection::invertEdgeSelection (MeshT *_mesh) |
Invert Edge selection. | |
template<typename MeshT > | |
void | MeshSelection::growEdgeSelection (MeshT *_mesh) |
Invert Edge selection. | |
template<typename MeshT > | |
void | MeshSelection::selectBoundaryEdges (MeshT *_mesh) |
Select all boundary edges of a mesh. | |
template<typename MeshT > | |
std::vector< int > | MeshSelection::getEdgeSelection (MeshT *_mesh) |
template<typename MeshT > | |
std::vector< int > | MeshSelection::getEdgeSelection (MeshT *_mesh, bool &_invert) |
template<typename MeshT > | |
void | MeshSelection::convertEdgeToVertexSelection (MeshT *_mesh, const std::vector< int > &_edges) |
template<typename MeshT > | |
void | MeshSelection::convertEdgeToVertexSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertEdgeToFaceSelection (MeshT *_mesh, const std::vector< int > &_edges) |
template<typename MeshT > | |
void | MeshSelection::convertEdgeToFaceSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertEdgeToHalfedgeSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertEdgeSelectionToFeatureEdges (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertFeatureEdgesToEdgeSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::clearFeatureEdges (MeshT *_mesh) |
Halfedge Selection | |
template<typename MeshT > | |
void | MeshSelection::selectHalfedges (MeshT *_mesh, const std::vector< int > &_halfedges) |
Select given halfedges of a mesh. More... | |
template<typename MeshT > | |
void | MeshSelection::selectElements (MeshT *_mesh, const std::vector< int > &_halfedges, OpenMesh::HalfedgeHandle) |
Select given halfedges of a mesh Same as selectHalfedges. More... | |
template<typename MeshT > | |
void | MeshSelection::unselectHalfedges (MeshT *_mesh, const std::vector< int > &_halfedges) |
Unselect given edges of a mesh. | |
template<typename MeshT > | |
void | MeshSelection::selectAllHalfedges (MeshT *_mesh) |
Select all edges of a mesh. | |
template<typename MeshT > | |
void | MeshSelection::clearHalfedgeSelection (MeshT *_mesh) |
Set all edges to unselected. | |
template<typename MeshT > | |
void | MeshSelection::invertHalfedgeSelection (MeshT *_mesh) |
Invert Edge selection. | |
template<typename MeshT > | |
void | MeshSelection::selectBoundaryHalfedges (MeshT *_mesh) |
Select all boundary edges of a mesh. | |
template<typename MeshT > | |
std::vector< int > | MeshSelection::getHalfedgeSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertHalfedgeToVertexSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertHalfedgeToEdgeSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertHalfedgeToFaceSelection (MeshT *_mesh) |
Face Selection | |
template<typename MeshT > | |
void | MeshSelection::selectFaces (MeshT *_mesh, const std::vector< int > &_faces) |
Select given faces of a mesh. More... | |
template<typename MeshT > | |
void | MeshSelection::selectElements (MeshT *_mesh, const std::vector< int > &_faces, OpenMesh::FaceHandle) |
Select given faces of a mesh Same as selectFaces. More... | |
template<typename MeshT > | |
void | MeshSelection::unselectFaces (MeshT *_mesh, const std::vector< int > &_faces) |
Unselect given faces of a mesh. | |
template<typename MeshT > | |
void | MeshSelection::selectAllFaces (MeshT *_mesh) |
Select all faces of a mesh. | |
template<typename MeshT > | |
void | MeshSelection::clearFaceSelection (MeshT *_mesh) |
Set all faces to unselected. | |
template<typename MeshT > | |
void | MeshSelection::invertFaceSelection (MeshT *_mesh) |
Invert face selection. | |
template<typename MeshT > | |
void | MeshSelection::selectBoundaryFaces (MeshT *_mesh) |
Select all boundary faces of a mesh. | |
template<typename MeshT > | |
void | MeshSelection::shrinkFaceSelection (MeshT *_mesh) |
Shrink Face selection. More... | |
template<typename MeshT > | |
void | MeshSelection::growFaceSelection (MeshT *_mesh) |
Grow Face selection. More... | |
template<typename MeshT > | |
std::vector< int > | MeshSelection::getFaceSelection (MeshT *_mesh) |
template<typename MeshT > | |
std::vector< int > | MeshSelection::getFaceSelection (MeshT *_mesh, bool &_invert) |
template<typename MeshT > | |
void | MeshSelection::convertFaceToVertexSelection (MeshT *_mesh, const std::vector< int > &_faces) |
template<typename MeshT > | |
void | MeshSelection::convertFaceToVertexSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertFaceToEdgeSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertFaceToHalfedgeSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertFaceSelectionToFeatureFaces (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::convertFeatureFacesToFaceSelection (MeshT *_mesh) |
template<typename MeshT > | |
void | MeshSelection::clearFeatureFaces (MeshT *_mesh) |
Functions for selection on a mesh.
Definition in file MeshSelectionT.hh.
|
inline |
Clear all features
Definition at line 786 of file MeshSelectionT_impl.hh.
|
inline |
Clear all features
Definition at line 1214 of file MeshSelectionT_impl.hh.
|
inline |
Clear all features.
_mesh | Mesh to work on |
Definition at line 445 of file MeshSelectionT_impl.hh.
|
inline |
Set all vertices to unselected.
_mesh | Mesh to work on |
Definition at line 114 of file MeshSelectionT_impl.hh.
|
inline |
Convert edge selection to feature selection
Definition at line 756 of file MeshSelectionT_impl.hh.
|
inline |
Select for each edge in _edges all adjacent faces
_mesh | Mesh to work on |
_edges | List of edges to be converted |
Definition at line 695 of file MeshSelectionT_impl.hh.
|
inline |
For each selected edge select all adjacent faces
Definition at line 721 of file MeshSelectionT_impl.hh.
|
inline |
For each selected edge select all halfedges
Definition at line 743 of file MeshSelectionT_impl.hh.
|
inline |
Select for each edge in _edges all incident vertices
_mesh | Mesh to work on |
_edges | List of edges to be converted |
Definition at line 660 of file MeshSelectionT_impl.hh.
|
inline |
For each selected edge select all incident vertices
Definition at line 677 of file MeshSelectionT_impl.hh.
|
inline |
Convert face selection to feature selection
Definition at line 1184 of file MeshSelectionT_impl.hh.
|
inline |
For each selected face select all adjacent edges
Definition at line 1154 of file MeshSelectionT_impl.hh.
|
inline |
For each selected face select all incident halfedges
Definition at line 1169 of file MeshSelectionT_impl.hh.
|
inline |
Select for each face in _faces all adjacent vertices
_mesh | Mesh to work on |
_faces | List of faces to be converted |
Definition at line 1107 of file MeshSelectionT_impl.hh.
|
inline |
For each selected face select all adjacent vertices
Definition at line 1123 of file MeshSelectionT_impl.hh.
|
inline |
Convert feature selection to edge selection
Definition at line 771 of file MeshSelectionT_impl.hh.
|
inline |
Convert feature selection to edge selection
Definition at line 1199 of file MeshSelectionT_impl.hh.
|
inline |
Convert feature selection to vertex selection.
_mesh | Mesh to work on |
Definition at line 430 of file MeshSelectionT_impl.hh.
|
inline |
For each halfedge select all edges
Definition at line 899 of file MeshSelectionT_impl.hh.
|
inline |
For each halfedge select all incident faces
Definition at line 911 of file MeshSelectionT_impl.hh.
|
inline |
For each halfedge select all incident vertices
Definition at line 886 of file MeshSelectionT_impl.hh.
|
inline |
Convert vertex selection to feature selection.
_mesh | Mesh to work on |
Definition at line 415 of file MeshSelectionT_impl.hh.
|
inline |
Select for each vertex in _vertices all incident edges.
_mesh | Mesh to work on |
_vertices | List of vertices to be converted |
Definition at line 276 of file MeshSelectionT_impl.hh.
|
inline |
For each selected vertex select all incident edges.
_mesh | Mesh to work on |
Definition at line 299 of file MeshSelectionT_impl.hh.
|
inline |
Select for each vertex in _vertices all adjacent faces.
_mesh | Mesh to work on |
_vertices | List of vertices to be converted |
Definition at line 367 of file MeshSelectionT_impl.hh.
|
inline |
For each selected vertex select all adjacent faces.
_mesh | Mesh to work on |
Definition at line 393 of file MeshSelectionT_impl.hh.
|
inline |
Select for each vertex in _vertices all incident halfedges.
_mesh | Mesh to work on |
_vertices | List of vertices to be converted |
Definition at line 319 of file MeshSelectionT_impl.hh.
|
inline |
For each selected vertex select all incident halfedges.
_mesh | Mesh to work on |
Definition at line 343 of file MeshSelectionT_impl.hh.
|
inline |
Get the current vertex selection
Definition at line 478 of file MeshSelectionT_impl.hh.
|
inline |
Get the current vertex selection
_mesh | Mesh to work on |
_type | Bit to be changed ( Normally Modeling area is OpenMesh::Attributes::UNUSED << 1 ) |
_invert | if true : vector has been inverted to save mem |
Definition at line 490 of file MeshSelectionT_impl.hh.
|
inline |
Get the current edge selection
Definition at line 623 of file MeshSelectionT_impl.hh.
|
inline |
Get the current edge selection
_mesh | Mesh to work on |
_invert | if true : vector has been inverted to save mem |
Definition at line 637 of file MeshSelectionT_impl.hh.
|
inline |
Get the current face selection
Definition at line 1070 of file MeshSelectionT_impl.hh.
|
inline |
Get the current face selection
_mesh | Mesh to work on |
_invert | if true : vector has been inverted to save mem |
Definition at line 1084 of file MeshSelectionT_impl.hh.
|
inline |
Get the current edge selection
Definition at line 874 of file MeshSelectionT_impl.hh.
|
inline |
Get the current vertex selection.
_mesh | Mesh to work on |
Definition at line 204 of file MeshSelectionT_impl.hh.
|
inline |
Get the current vertex selection
_mesh | Mesh to work on |
_invert | if true : vector has been inverted to save mem |
Definition at line 218 of file MeshSelectionT_impl.hh.
|
inline |
Grow Face selection.
Selects all faces which are adjacent to a vertex of a already selected face.
Definition at line 1045 of file MeshSelectionT_impl.hh.
|
inline |
Grow vertex selection.
_mesh | Mesh to work on |
Definition at line 181 of file MeshSelectionT_impl.hh.
|
inline |
invert vertex selection
_mesh | Mesh to work on |
Definition at line 125 of file MeshSelectionT_impl.hh.
|
inline |
Select all vertices of a mesh.
_mesh | Mesh to work on |
Definition at line 102 of file MeshSelectionT_impl.hh.
|
inline |
Select all vertices of the mesh which are boundary vertices.
_mesh | Mesh to work on |
Definition at line 137 of file MeshSelectionT_impl.hh.
|
inline |
Select all vertices belonging to the same boundary as _vh.
This function gets one vertex that has to be on a boundary. Than the function will follow the boundary and mark all vertices at it as selected.
_mesh | Mesh to work on |
_vh | handle of a boundary vertex |
Definition at line 242 of file MeshSelectionT_impl.hh.
|
inline |
Select given edges of a mesh.
_mesh | Mesh to work on |
_edges | Edge indices to select |
_dihedral_angle_threshold | If mesh has normals, dihedral angle must be greator than or equal to this threshold in order to be selected |
Definition at line 518 of file MeshSelectionT_impl.hh.
|
inline |
Select given vertices of a mesh Same as selectVertices.
_mesh | Mesh to work on |
_vertices | Vertex index to select |
Definition at line 96 of file MeshSelectionT.hh.
|
inline |
Select given edges of a mesh Same as selectEdges.
_mesh | Mesh to work on |
_edges | Edge indices to select |
_dihedral_angle_threshold | If mesh has normals, dihedral angle must be greator than or equal to this threshold in order to be selected |
Definition at line 328 of file MeshSelectionT.hh.
|
inline |
Select given halfedges of a mesh Same as selectHalfedges.
_mesh | Mesh to work on |
_halfedges | halfedge indices to select |
Definition at line 459 of file MeshSelectionT.hh.
|
inline |
Select given faces of a mesh Same as selectFaces.
_mesh | Mesh to work on |
_faces | face indices to select |
Definition at line 535 of file MeshSelectionT.hh.
|
inline |
Select given faces of a mesh.
_mesh | Mesh to work on |
_faces | face indices to select |
Definition at line 930 of file MeshSelectionT_impl.hh.
|
inline |
Select given halfedges of a mesh.
_mesh | Mesh to work on |
_halfedges | face indices to select |
Definition at line 800 of file MeshSelectionT_impl.hh.
|
inline |
Select given vertices of a mesh.
_mesh | Mesh to work on |
_vertices | Vertex indices to select |
Definition at line 74 of file MeshSelectionT_impl.hh.
|
inline |
Set the area bit for all defined vertices.
_mesh | Mesh to work on |
_vertices | The vertices belonging to the modeling area |
_type | Bit to be changed ( Normally Modeling area is OpenMesh::Attributes::UNUSED << 1 ) |
_state | New state to be set |
Definition at line 459 of file MeshSelectionT_impl.hh.
|
inline |
Reset Modeling Status for vertices.
_mesh | Mesh to work on |
_type | Bit to be changed ( Normally Modeling area is OpenMesh::Attributes::UNUSED << 1 ) |
_state | New state to be set |
Definition at line 471 of file MeshSelectionT_impl.hh.
|
inline |
Shrink Face selection.
Deselects all faces which are adjacent to a boundary vertex of the original selection
Definition at line 1010 of file MeshSelectionT_impl.hh.
|
inline |
Shrink vertex selection.
_mesh | Mesh to work on |
Definition at line 151 of file MeshSelectionT_impl.hh.
|
inline |
Unselect given vertices of a mesh.
_mesh | Mesh to work on |
_vertices | Vertex index to unselect |
Definition at line 88 of file MeshSelectionT_impl.hh.