VCG Library
Static Public Member Functions | List of all members
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>

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 FaceBorderFromFF (MeshType &m)
 Compute the border flags for the faces using the Face-Face Topology.
 
static void FaceBorderFromNone (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 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 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)
 

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 39 of file flag.h.

Member Function Documentation

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

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

Definition at line 57 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceBorderFromFF ( MeshType &  m)
inlinestatic

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 143 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceBorderFromNone ( MeshType &  m)
inlinestatic

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

Definition at line 289 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceFauxBorder ( MeshType &  m)
inlinestatic

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

Definition at line 419 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::FaceFauxCrease ( MeshType &  m,
float  AngleRad 
)
inlinestatic

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 439 of file flag.h.

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

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 391 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexBorderFromFaceAdj ( MeshType &  m)
inlinestatic

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

Definition at line 342 of file flag.h.

template<class UpdateMeshType >
static void vcg::tri::UpdateFlags< UpdateMeshType >::VertexBorderFromFaceBorder ( MeshType &  m)
inlinestatic

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

Definition at line 364 of file flag.h.


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