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 TetraAll (MeshType &m)
 This function select all the tetras.
 
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 size_t TetraClear (MeshType &m)
 This function clears the selection flag for all the tetras.
 
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 TetraCount (MeshType &m)
 This function returns the number of selected tetras.
 
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 TetraInvert (MeshType &m)
 This function inverts the selection flag for all the tetras.
 
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 176 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 263 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 204 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 237 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 281 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 326 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 211 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 245 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 546 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 272 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 467 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 475 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 500 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 578 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 446 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 421 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 310 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 522 of file selection.h.

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

This function select all the tetras.

Definition at line 219 of file selection.h.

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

This function clears the selection flag for all the tetras.

Definition at line 253 of file selection.h.

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

This function returns the number of selected tetras.

Definition at line 299 of file selection.h.

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

This function inverts the selection flag for all the tetras.

Definition at line 358 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 196 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 229 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 631 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 290 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 483 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 389 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 376 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 406 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 596 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 614 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 342 of file selection.h.


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