Classes | Public Types | Static Public Member Functions
vcg::tri::UpdateFlags< UpdateMeshType > Class Template Reference

Management, updating and computation of per-vertex and per-face flags (like border flags). More...

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

List of all members.

Classes

class  EdgeSorter

Public Types

typedef MeshType::EdgeIterator EdgeIterator
typedef MeshType::EdgePointer EdgePointer
typedef MeshType::EdgeType EdgeType
typedef MeshType::FaceIterator FaceIterator
typedef MeshType::FacePointer FacePointer
typedef MeshType::FaceType FaceType
typedef UpdateMeshType MeshType
typedef MeshType::ScalarType ScalarType
typedef MeshType::VertexIterator VertexIterator
typedef MeshType::VertexPointer VertexPointer
typedef MeshType::VertexType VertexType

Static Public Member Functions

static void Clear (MeshType &m)
 Reset all the mesh flags (vertexes edge faces) setting everithing to zero (the default value for flags)
static void EdgeClear (MeshType &m, unsigned int FlagMask=0xffffffff)
static void EdgeClearV (MeshType &m)
static void EdgeSet (MeshType &m, unsigned int FlagMask)
static void EdgeSetV (MeshType &m)
static void FaceBorderFromFF (MeshType &m)
 Compute the border flags for the faces using the Face-Face Topology.
static void FaceBorderFromNone (MeshType &m)
static void FaceBorderFromVF (MeshType &m)
static void FaceClear (MeshType &m, unsigned int FlagMask=0xffffffff)
static void FaceClearB (MeshType &m)
static void FaceClearCreases (MeshType &m)
static void FaceClearF (MeshType &m)
static void FaceClearS (MeshType &m)
static void FaceClearV (MeshType &m)
static void FaceFauxBorder (MeshType &m)
 Marks feature edges according to border flag. Actually it marks as fauxedges all the non border edges,.
static void FaceFauxCrease (MeshType &m, float AngleRad)
 Marks feature edges according to a given angle Actually it marks as fauxedges all the non feature edges, e.g. the edge such that the angle between the normal of two faces sharing it is less than the given threshold. In this way all the near planar edges are marked as Faux Edges (e.g. edges to be ignored)
static void FaceFauxSignedCrease (MeshType &m, float AngleRadNeg, float AngleRadPos, bool MarkBorderFlag=false)
 Marks feature edges according to two signed dihedral angles. Actually it marks as fauxedges all the non feature edges, e.g. the edges where the signed dihedral angle between the normal of two incident faces , is between the two given thresholds. In this way all the edges that are almost planar are marked as Faux Edges (e.g. edges to be ignored) Note that it uses the signed dihedral angle convention (negative for concave edges and positive for convex ones);.
static void FaceSet (MeshType &m, unsigned int FlagMask)
static void FaceSetB (MeshType &m)
static void FaceSetF (MeshType &m)
static void FaceSetV (MeshType &m)
static void VertexBorderFromFaceAdj (MeshType &m)
 Compute the PerVertex Border flag deriving it from the face-face adjacency.
static void VertexBorderFromFaceBorder (MeshType &m)
 Compute the PerVertex Border flag deriving it from the border flag of faces.
static void VertexBorderFromNone (MeshType &m)
static void VertexClear (MeshType &m, unsigned int FlagMask=0xffffffff)
static void VertexClearB (MeshType &m)
static void VertexClearS (MeshType &m)
static void VertexClearV (MeshType &m)
static void VertexSet (MeshType &m, unsigned int FlagMask)
static void VertexSetB (MeshType &m)
static void VertexSetS (MeshType &m)
static void VertexSetV (MeshType &m)

Detailed Description

template<class UpdateMeshType>
class vcg::tri::UpdateFlags< UpdateMeshType >

Management, updating and computation of per-vertex and per-face flags (like border flags).

This class is used to compute or update some of the flags that can be stored in the mesh components. For now just Border flags (e.g. the flag that tells if a given edge of a face belong to a border of the mesh or not).

Definition at line 41 of file flag.h.


Member Typedef Documentation

template<class UpdateMeshType >
typedef MeshType::EdgeIterator vcg::tri::UpdateFlags< UpdateMeshType >::EdgeIterator

Definition at line 52 of file flag.h.

template<class UpdateMeshType >
typedef MeshType::EdgePointer vcg::tri::UpdateFlags< UpdateMeshType >::EdgePointer

Definition at line 51 of file flag.h.

template<class UpdateMeshType >
typedef MeshType::EdgeType vcg::tri::UpdateFlags< UpdateMeshType >::EdgeType

Definition at line 50 of file flag.h.

template<class UpdateMeshType >
typedef MeshType::FaceIterator vcg::tri::UpdateFlags< UpdateMeshType >::FaceIterator

Definition at line 55 of file flag.h.

template<class UpdateMeshType >
typedef MeshType::FacePointer vcg::tri::UpdateFlags< UpdateMeshType >::FacePointer

Definition at line 54 of file flag.h.

template<class UpdateMeshType >
typedef MeshType::FaceType vcg::tri::UpdateFlags< UpdateMeshType >::FaceType

Definition at line 53 of file flag.h.

template<class UpdateMeshType >
typedef UpdateMeshType vcg::tri::UpdateFlags< UpdateMeshType >::MeshType

Definition at line 45 of file flag.h.

template<class UpdateMeshType >
typedef MeshType::ScalarType vcg::tri::UpdateFlags< UpdateMeshType >::ScalarType

Definition at line 46 of file flag.h.

template<class UpdateMeshType >
typedef MeshType::VertexIterator vcg::tri::UpdateFlags< UpdateMeshType >::VertexIterator

Definition at line 49 of file flag.h.

template<class UpdateMeshType >
typedef MeshType::VertexPointer vcg::tri::UpdateFlags< UpdateMeshType >::VertexPointer

Definition at line 48 of file flag.h.

template<class UpdateMeshType >
typedef MeshType::VertexType vcg::tri::UpdateFlags< UpdateMeshType >::VertexType

Definition at line 47 of file flag.h.


Member Function Documentation

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::Clear ( MeshType m) [inline, static]

Reset all the mesh flags (vertexes edge faces) setting everithing to zero (the default value for flags)

Definition at line 59 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::EdgeClear ( MeshType m,
unsigned int  FlagMask = 0xffffffff 
) [inline, static]

Definition at line 80 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::EdgeClearV ( MeshType m) [inline, static]

Definition at line 122 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::EdgeSet ( MeshType m,
unsigned int  FlagMask 
) [inline, static]

Definition at line 103 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::EdgeSetV ( MeshType m) [inline, static]

Definition at line 132 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceBorderFromFF ( MeshType m) [inline, static]

Compute the border flags for the faces using the Face-Face Topology.

Warning:
Obviously it assumes that the topology has been correctly computed (see: UpdateTopology::FaceFace )

Definition at line 145 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceBorderFromNone ( MeshType m) [inline, static]

Computes per-face border flags without requiring any kind of topology It has a O(fn log fn) complexity.

Definition at line 291 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceBorderFromVF ( MeshType m) [inline, static]

Definition at line 159 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceClear ( MeshType m,
unsigned int  FlagMask = 0xffffffff 
) [inline, static]

Definition at line 88 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceClearB ( MeshType m) [inline, static]

Definition at line 124 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceClearCreases ( MeshType m) [inline, static]

Definition at line 127 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceClearF ( MeshType m) [inline, static]

Definition at line 126 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceClearS ( MeshType m) [inline, static]

Definition at line 125 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceClearV ( MeshType m) [inline, static]

Definition at line 123 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceFauxBorder ( MeshType m) [inline, static]

Marks feature edges according to border flag. Actually it marks as fauxedges all the non border edges,.

Definition at line 421 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceFauxCrease ( MeshType m,
float  AngleRad 
) [inline, static]

Marks feature edges according to a given angle Actually it marks as fauxedges all the non feature edges, e.g. the edge such that the angle between the normal of two faces sharing it is less than the given threshold. In this way all the near planar edges are marked as Faux Edges (e.g. edges to be ignored)

Definition at line 441 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceFauxSignedCrease ( MeshType m,
float  AngleRadNeg,
float  AngleRadPos,
bool  MarkBorderFlag = false 
) [inline, static]

Marks feature edges according to two signed dihedral angles. Actually it marks as fauxedges all the non feature edges, e.g. the edges where the signed dihedral angle between the normal of two incident faces , is between the two given thresholds. In this way all the edges that are almost planar are marked as Faux Edges (e.g. edges to be ignored) Note that it uses the signed dihedral angle convention (negative for concave edges and positive for convex ones);.

Optionally it can also mark as feature edges also the boundary edges.

Definition at line 393 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceSet ( MeshType m,
unsigned int  FlagMask 
) [inline, static]

Definition at line 110 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceSetB ( MeshType m) [inline, static]

Definition at line 137 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceSetF ( MeshType m) [inline, static]

Definition at line 138 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceSetV ( MeshType m) [inline, static]

Definition at line 136 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexBorderFromFaceAdj ( MeshType m) [inline, static]

Compute the PerVertex Border flag deriving it from the face-face adjacency.

Definition at line 344 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexBorderFromFaceBorder ( MeshType m) [inline, static]

Compute the PerVertex Border flag deriving it from the border flag of faces.

Definition at line 366 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexBorderFromNone ( MeshType m) [inline, static]

Definition at line 245 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexClear ( MeshType m,
unsigned int  FlagMask = 0xffffffff 
) [inline, static]

Definition at line 72 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexClearB ( MeshType m) [inline, static]

Definition at line 121 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexClearS ( MeshType m) [inline, static]

Definition at line 120 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexClearV ( MeshType m) [inline, static]

Definition at line 119 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexSet ( MeshType m,
unsigned int  FlagMask 
) [inline, static]

Definition at line 96 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexSetB ( MeshType m) [inline, static]

Definition at line 135 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexSetS ( MeshType m) [inline, static]

Definition at line 134 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexSetV ( MeshType m) [inline, static]

Definition at line 133 of file flag.h.


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


shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:43:43