Management, updating and conditional computation of selections (per-vertex, per-edge, and per-face). More...
#include <vcg/complex/algorithms/update/selection.h>
Public Types | |
typedef vcg::Box3< ScalarType > | Box3Type |
typedef MeshType::EdgeIterator | EdgeIterator |
typedef MeshType::FaceIterator | FaceIterator |
typedef MeshType::FacePointer | FacePointer |
typedef MeshType::FaceType | FaceType |
typedef ComputeMeshType | MeshType |
typedef MeshType::ScalarType | ScalarType |
typedef MeshType::VertexIterator | VertexIterator |
typedef MeshType::VertexPointer | VertexPointer |
typedef MeshType::VertexType | VertexType |
Public Member Functions | |
void | VertexNonManifoldEdges (MeshType &m, bool preserveSelection=false) |
Static Public Member Functions | |
static void | Clear (MeshType &m) |
This function clears the selection flag for all the elements of a mesh (vertices, edges, and faces). | |
static size_t | EdgeAll (MeshType &m) |
This function select all the edges. | |
static size_t | EdgeClear (MeshType &m) |
This function clears the selection flag for all the edges. | |
static size_t | EdgeCount (MeshType &m) |
This function returns the number of selected edges. | |
static size_t | EdgeInvert (MeshType &m) |
This function inverts the selection flag for all the edges. | |
static size_t | FaceAll (MeshType &m) |
This function select all the faces. | |
static size_t | FaceClear (MeshType &m) |
This function clears the selection flag for all the faces. | |
static size_t | FaceConnectedFF (MeshType &m, bool preserveSelection=false) |
This function expand current selection to cover the whole connected component. | |
static size_t | FaceCount (MeshType &m) |
This function returns the number of selected faces. | |
static size_t | FaceFromBorderFlag (MeshType &m, bool preserveSelection=false) |
This function select the faces that have an edge with the border flag set. | |
static size_t | FaceFromQualityRange (MeshType &m, float minq, float maxq, bool preserveSelection=false) |
Select the faces whose quality is in the specified closed interval. | |
static size_t | FaceFromVertexLoose (MeshType &m, bool preserveSelection=false) |
Select all the faces with at least one selected vertex. | |
static size_t | FaceFromVertexStrict (MeshType &m, bool preserveSelection=false) |
Select ONLY the faces with ALL the vertices selected. | |
static size_t | FaceInvert (MeshType &m) |
This function inverts the selection flag for all the faces. | |
static size_t | FaceOutOfRangeEdge (MeshType &m, ScalarType MinEdgeThr, ScalarType MaxEdgeThr=(std::numeric_limits< ScalarType >::max)(), bool preserveSelection=false) |
This function select the faces that have an edge outside the given range. You can skip the second parameter to choose all the edges smaller than a given lenght. | |
static size_t | VertexAll (MeshType &m) |
This function select all the vertices. | |
static size_t | VertexClear (MeshType &m) |
This function clear the selection flag for all the vertices. | |
static size_t | VertexCount (MeshType &m) |
This function returns the number of selected vertices. | |
static size_t | VertexFromBorderFlag (MeshType &m, bool preserveSelection=false) |
This function select the vertices with the border flag set. | |
static size_t | VertexFromEdgeLoose (MeshType &m, bool preserveSelection=false) |
Select all the vertices that are touched by at least a single selected edge. | |
static size_t | VertexFromFaceLoose (MeshType &m, bool preserveSelection=false) |
Select all the vertices that are touched by at least a single selected faces. | |
static size_t | VertexFromFaceStrict (MeshType &m, bool preserveSelection=false) |
Select ONLY the vertices that are touched ONLY by selected faces. | |
static size_t | VertexFromQualityRange (MeshType &m, float minq, float maxq, bool preserveSelection=false) |
Select the vertices whose quality is in the specified closed interval. | |
static int | VertexInBox (MeshType &m, const Box3Type &bb, bool preserveSelection=false) |
Select the vertices contained in the specified Box. | |
static size_t | VertexInvert (MeshType &m) |
This function inverts the selection flag for all the vertices. |
Management, updating and conditional computation of selections (per-vertex, per-edge, and per-face).
This class is used to compute or update the selected bit flag that can be stored in the vertex, edge or face component of a mesh.
Definition at line 144 of file selection.h.
typedef vcg::Box3<ScalarType> vcg::tri::UpdateSelection< ComputeMeshType >::Box3Type |
Definition at line 157 of file selection.h.
typedef MeshType::EdgeIterator vcg::tri::UpdateSelection< ComputeMeshType >::EdgeIterator |
Definition at line 153 of file selection.h.
typedef MeshType::FaceIterator vcg::tri::UpdateSelection< ComputeMeshType >::FaceIterator |
Definition at line 156 of file selection.h.
typedef MeshType::FacePointer vcg::tri::UpdateSelection< ComputeMeshType >::FacePointer |
Definition at line 155 of file selection.h.
typedef MeshType::FaceType vcg::tri::UpdateSelection< ComputeMeshType >::FaceType |
Definition at line 154 of file selection.h.
typedef ComputeMeshType vcg::tri::UpdateSelection< ComputeMeshType >::MeshType |
Definition at line 148 of file selection.h.
typedef MeshType::ScalarType vcg::tri::UpdateSelection< ComputeMeshType >::ScalarType |
Definition at line 149 of file selection.h.
typedef MeshType::VertexIterator vcg::tri::UpdateSelection< ComputeMeshType >::VertexIterator |
Definition at line 152 of file selection.h.
typedef MeshType::VertexPointer vcg::tri::UpdateSelection< ComputeMeshType >::VertexPointer |
Definition at line 151 of file selection.h.
typedef MeshType::VertexType vcg::tri::UpdateSelection< ComputeMeshType >::VertexType |
Definition at line 150 of file selection.h.
static void vcg::tri::UpdateSelection< ComputeMeshType >::Clear | ( | MeshType & | m | ) | [inline, static] |
This function clears the selection flag for all the elements of a mesh (vertices, edges, and faces).
Definition at line 207 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::EdgeAll | ( | MeshType & | m | ) | [inline, static] |
This function select all the edges.
Definition at line 168 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::EdgeClear | ( | MeshType & | m | ) | [inline, static] |
This function clears the selection flag for all the edges.
Definition at line 191 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::EdgeCount | ( | MeshType & | m | ) | [inline, static] |
This function returns the number of selected edges.
Definition at line 224 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::EdgeInvert | ( | MeshType & | m | ) | [inline, static] |
This function inverts the selection flag for all the edges.
Definition at line 258 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceAll | ( | MeshType & | m | ) | [inline, static] |
This function select all the faces.
Definition at line 175 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceClear | ( | MeshType & | m | ) | [inline, static] |
This function clears the selection flag for all the faces.
Definition at line 199 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceConnectedFF | ( | MeshType & | m, |
bool | preserveSelection = false |
||
) | [inline, static] |
This function expand current selection to cover the whole connected component.
Definition at line 444 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceCount | ( | MeshType & | m | ) | [inline, static] |
This function returns the number of selected faces.
Definition at line 215 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceFromBorderFlag | ( | MeshType & | m, |
bool | preserveSelection = false |
||
) | [inline, static] |
This function select the faces that have an edge with the border flag set.
Definition at line 398 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceFromQualityRange | ( | MeshType & | m, |
float | minq, | ||
float | maxq, | ||
bool | preserveSelection = false |
||
) | [inline, static] |
Select the faces whose quality is in the specified closed interval.
Definition at line 477 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceFromVertexLoose | ( | MeshType & | m, |
bool | preserveSelection = false |
||
) | [inline, static] |
Select all the faces with at least one selected vertex.
Definition at line 360 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceFromVertexStrict | ( | MeshType & | m, |
bool | preserveSelection = false |
||
) | [inline, static] |
Select ONLY the faces with ALL the vertices selected.
Definition at line 335 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceInvert | ( | MeshType & | m | ) | [inline, static] |
This function inverts the selection flag for all the faces.
Definition at line 242 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceOutOfRangeEdge | ( | MeshType & | m, |
ScalarType | MinEdgeThr, | ||
ScalarType | MaxEdgeThr = (std::numeric_limits<ScalarType>::max)() , |
||
bool | preserveSelection = false |
||
) | [inline, static] |
This function select the faces that have an edge outside the given range. You can skip the second parameter to choose all the edges smaller than a given lenght.
Definition at line 420 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexAll | ( | MeshType & | m | ) | [inline, static] |
This function select all the vertices.
Definition at line 160 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexClear | ( | MeshType & | m | ) | [inline, static] |
This function clear the selection flag for all the vertices.
Definition at line 183 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexCount | ( | MeshType & | m | ) | [inline, static] |
This function returns the number of selected vertices.
Definition at line 233 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromBorderFlag | ( | MeshType & | m, |
bool | preserveSelection = false |
||
) | [inline, static] |
This function select the vertices with the border flag set.
Definition at line 381 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromEdgeLoose | ( | MeshType & | m, |
bool | preserveSelection = false |
||
) | [inline, static] |
Select all the vertices that are touched by at least a single selected edge.
Definition at line 303 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromFaceLoose | ( | MeshType & | m, |
bool | preserveSelection = false |
||
) | [inline, static] |
Select all the vertices that are touched by at least a single selected faces.
Definition at line 290 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromFaceStrict | ( | MeshType & | m, |
bool | preserveSelection = false |
||
) | [inline, static] |
Select ONLY the vertices that are touched ONLY by selected faces.
In other words this function will select all the vertices having all the faces incident on them selected.
Definition at line 320 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromQualityRange | ( | MeshType & | m, |
float | minq, | ||
float | maxq, | ||
bool | preserveSelection = false |
||
) | [inline, static] |
Select the vertices whose quality is in the specified closed interval.
Definition at line 495 of file selection.h.
static int vcg::tri::UpdateSelection< ComputeMeshType >::VertexInBox | ( | MeshType & | m, |
const Box3Type & | bb, | ||
bool | preserveSelection = false |
||
) | [inline, static] |
Select the vertices contained in the specified Box.
Definition at line 513 of file selection.h.
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexInvert | ( | MeshType & | m | ) | [inline, static] |
This function inverts the selection flag for all the vertices.
Definition at line 274 of file selection.h.
void vcg::tri::UpdateSelection< ComputeMeshType >::VertexNonManifoldEdges | ( | MeshType & | m, |
bool | preserveSelection = false |
||
) | [inline] |
Definition at line 528 of file selection.h.