VCG Library
Static Public Member Functions | List of all members
vcg::tri::UpdateSelection< ComputeMeshType > Class Template Reference

Management, updating and conditional computation of selections (per-vertex, per-edge, and per-face). More...

#include <vcg/complex/algorithms/update/selection.h>

Static Public Member Functions

static size_t VertexAll (MeshType &m)
 This function select all the vertices.
 
static size_t EdgeAll (MeshType &m)
 This function select all the edges.
 
static size_t FaceAll (MeshType &m)
 This function select all the faces.
 
static size_t VertexClear (MeshType &m)
 This function clear the selection flag for all the vertices.
 
static size_t EdgeClear (MeshType &m)
 This function clears the selection flag for all the edges.
 
static size_t FaceClear (MeshType &m)
 This function clears the selection flag for all the faces.
 
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 FaceCount (MeshType &m)
 This function returns the number of selected faces.
 
static size_t EdgeCount (MeshType &m)
 This function returns the number of selected edges.
 
static size_t VertexCount (MeshType &m)
 This function returns the number of selected vertices.
 
static size_t FaceInvert (MeshType &m)
 This function inverts the selection flag for all the faces.
 
static size_t EdgeInvert (MeshType &m)
 This function inverts the selection flag for all the edges.
 
static size_t VertexInvert (MeshType &m)
 This function inverts the selection flag for all the vertices.
 
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 VertexFromEdgeLoose (MeshType &m, bool preserveSelection=false)
 Select all the vertices that are touched by at least a single selected edge.
 
static size_t VertexFromFaceStrict (MeshType &m, bool preserveSelection=false)
 Select ONLY the vertices that are touched ONLY by selected faces.
 
static size_t FaceFromVertexStrict (MeshType &m, bool preserveSelection=false)
 Select ONLY the faces with ALL the vertices selected.
 
static size_t FaceFromVertexLoose (MeshType &m, bool preserveSelection=false)
 Select all the faces with at least one selected vertex.
 
static size_t FaceDilate (MeshType &m)
 This function dilate the face selection by simply first selecting all the vertices touched by the faces and then all the faces touched by these vertices Note: it destroys the vertex selection.
 
static size_t FaceErode (MeshType &m)
 This function erode the face selection by simply first selecting only the vertices completely surrounded by face and then the only faces with all the selected vertices Note: it destroys the vertex selection.
 
static size_t VertexFromBorderFlag (MeshType &m, bool preserveSelection=false)
 This function select the vertices with the border flag set.
 
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 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 FaceConnectedFF (MeshType &m)
 This function expand current selection to cover the whole connected component.
 
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 VertexFromQualityRange (MeshType &m, float minq, float maxq, bool preserveSelection=false)
 Select the vertices whose quality is in the specified closed interval.
 
static size_t VertexInBox (MeshType &m, const Box3Type &bb, bool preserveSelection=false)
 Select the vertices contained in the specified Box.
 
static size_t VertexCornerBorder (MeshType &m, ScalarType angleRad, bool preserveSelection=false)
 Select the border vertices that form a corner along the border with an angle that is below a certain threshold (e.g. with 90 will select all the acute angles) It assumes that the Per-Vertex border Flag has been set.
 

Detailed Description

template<class ComputeMeshType>
class vcg::tri::UpdateSelection< ComputeMeshType >

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 151 of file selection.h.

Member Function Documentation

template<class ComputeMeshType >
static void vcg::tri::UpdateSelection< ComputeMeshType >::Clear ( MeshType &  m)
inlinestatic

This function clears the selection flag for all the elements of a mesh (vertices, edges, and faces).

Definition at line 214 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::EdgeAll ( MeshType &  m)
inlinestatic

This function select all the edges.

Definition at line 175 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::EdgeClear ( MeshType &  m)
inlinestatic

This function clears the selection flag for all the edges.

Definition at line 198 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::EdgeCount ( MeshType &  m)
inlinestatic

This function returns the number of selected edges.

Definition at line 231 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::EdgeInvert ( MeshType &  m)
inlinestatic

This function inverts the selection flag for all the edges.

Definition at line 265 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceAll ( MeshType &  m)
inlinestatic

This function select all the faces.

Definition at line 182 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceClear ( MeshType &  m)
inlinestatic

This function clears the selection flag for all the faces.

Definition at line 206 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceConnectedFF ( MeshType &  m)
inlinestatic

This function expand current selection to cover the whole connected component.

Definition at line 467 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceCount ( MeshType &  m)
inlinestatic

This function returns the number of selected faces.

Definition at line 222 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceDilate ( MeshType &  m)
inlinestatic

This function dilate the face selection by simply first selecting all the vertices touched by the faces and then all the faces touched by these vertices Note: it destroys the vertex selection.

Definition at line 388 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceErode ( MeshType &  m)
inlinestatic

This function erode the face selection by simply first selecting only the vertices completely surrounded by face and then the only faces with all the selected vertices Note: it destroys the vertex selection.

Definition at line 396 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceFromBorderFlag ( MeshType &  m,
bool  preserveSelection = false 
)
inlinestatic

This function select the faces that have an edge with the border flag set.

Definition at line 421 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceFromQualityRange ( MeshType &  m,
float  minq,
float  maxq,
bool  preserveSelection = false 
)
inlinestatic

Select the faces whose quality is in the specified closed interval.

Definition at line 499 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceFromVertexLoose ( MeshType &  m,
bool  preserveSelection = false 
)
inlinestatic

Select all the faces with at least one selected vertex.

Definition at line 367 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceFromVertexStrict ( MeshType &  m,
bool  preserveSelection = false 
)
inlinestatic

Select ONLY the faces with ALL the vertices selected.

Definition at line 342 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceInvert ( MeshType &  m)
inlinestatic

This function inverts the selection flag for all the faces.

Definition at line 249 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::FaceOutOfRangeEdge ( MeshType &  m,
ScalarType  MinEdgeThr,
ScalarType  MaxEdgeThr = (std::numeric_limits<ScalarType>::max)(),
bool  preserveSelection = false 
)
inlinestatic

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 443 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexAll ( MeshType &  m)
inlinestatic

This function select all the vertices.

Definition at line 167 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexClear ( MeshType &  m)
inlinestatic

This function clear the selection flag for all the vertices.

Definition at line 190 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexCornerBorder ( MeshType &  m,
ScalarType  angleRad,
bool  preserveSelection = false 
)
inlinestatic

Select the border vertices that form a corner along the border with an angle that is below a certain threshold (e.g. with 90 will select all the acute angles) It assumes that the Per-Vertex border Flag has been set.

Definition at line 552 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexCount ( MeshType &  m)
inlinestatic

This function returns the number of selected vertices.

Definition at line 240 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromBorderFlag ( MeshType &  m,
bool  preserveSelection = false 
)
inlinestatic

This function select the vertices with the border flag set.

Definition at line 404 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromEdgeLoose ( MeshType &  m,
bool  preserveSelection = false 
)
inlinestatic

Select all the vertices that are touched by at least a single selected edge.

Definition at line 310 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromFaceLoose ( MeshType &  m,
bool  preserveSelection = false 
)
inlinestatic

Select all the vertices that are touched by at least a single selected faces.

Definition at line 297 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromFaceStrict ( MeshType &  m,
bool  preserveSelection = false 
)
inlinestatic

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 327 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexFromQualityRange ( MeshType &  m,
float  minq,
float  maxq,
bool  preserveSelection = false 
)
inlinestatic

Select the vertices whose quality is in the specified closed interval.

Definition at line 517 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexInBox ( MeshType &  m,
const Box3Type &  bb,
bool  preserveSelection = false 
)
inlinestatic

Select the vertices contained in the specified Box.

Definition at line 535 of file selection.h.

template<class ComputeMeshType >
static size_t vcg::tri::UpdateSelection< ComputeMeshType >::VertexInvert ( MeshType &  m)
inlinestatic

This function inverts the selection flag for all the vertices.

Definition at line 281 of file selection.h.


The documentation for this class was generated from the following file: