vcg::tri::BitQuad< _MeshType, Interpolator > Class Template Reference

#include <bitquad_support.h>

List of all members.

Classes

class  Iterator
class  Pos

Public Types

enum  ___ { VALENCY_FLAGS = 24 }
typedef MeshType::CoordType CoordType
typedef MeshType::FaceIterator FaceIterator
typedef MeshType::FaceType FaceType
typedef MeshType::FaceType * FaceTypeP
typedef _MeshType MeshType
typedef MeshType::ScalarType ScalarType
typedef MeshType::VertexIterator VertexIterator
typedef MeshType::VertexType VertexType

Static Public Member Functions

static void _CollapseDiagHalf (FaceType &f, int faux, MeshType &m)
static bool CheckFlipDiag (FaceType &f)
static bool CollapseCounterDiag (FaceType &f, ScalarType interpol, MeshType &m, Pos *affected=NULL)
static bool CollapseDiag (FaceType &f, ScalarType interpol, MeshType &m, Pos *affected=NULL)
static bool CollapseEdge (FaceType &f, int w0, MeshType &m, Pos *affected=NULL)
static bool CollapseEdgeDirect (FaceType &f, int w0, MeshType &m)
static int CountBitPolygonInternalValency (const FaceType &f, int wedge)
static CoordType CounterDiag (const FaceType *f)
static void DecreaseValency (FaceType *f, int wedge, MeshType &m)
static void DecreaseValencyNoSingletTest (VertexType *v, int dv, MeshType &m)
static void DecreaseValencySimple (VertexType *v, int dv)
static CoordType Diag (const FaceType *f)
static ScalarType EdgeLenghtVariationIfVertexRotated (const FaceType &f, int w0)
static int FauxIndex (const FaceType *f)
static void FlipDiag (FaceType &f)
static void FlipEdge (FaceType &f, int k, MeshType &m)
static int GetValency (const VertexType *v)
static bool HasConsistentValencyFlag (MeshType &m)
static void IncreaseValency (VertexType *v, int dv=1)
static bool IsDoublet (const FaceType &f, int wedge)
static bool IsDoubletFF (const FaceType &f, int wedge)
static bool IsDoubletOrSinglet (const FaceType &f, int wedge)
static bool IsSinglet (const FaceType &f, int wedge)
static bool IsSingletFF (const FaceType &f, int wedge)
static void MarkFaceF (FaceType *f)
static ScalarType PosOnDiag (const FaceType &f, bool counterDiag)
static ScalarType quadQuality (FaceType *f, int edge)
static ScalarType QuadQualityVariationIfVertexRotated (const FaceType &f, int w0)
static void RemoveDoublet (FaceType &f, int wedge, MeshType &m, Pos *affected=NULL)
static bool RemoveDoubletOrSinglet (FaceType &f, int wedge, MeshType &m, Pos *affected=NULL)
static void RemoveSinglet (FaceType &f, int wedge, MeshType &m, Pos *affected=NULL)
template<bool verse>
static bool RotateEdge (FaceType &f, int w0a, MeshType &m, Pos *affected=NULL)
static bool RotateVertex (FaceType &f, int w0, MeshType &m, Pos *affected=NULL)
static void SetValency (VertexType *v, int n)
static bool TestAndRemoveDoublet (FaceType &f, int wedge, MeshType &m)
static bool TestAndRemoveSinglet (FaceType &f, int wedge, MeshType &m)
static int TestEdgeRotation (const FaceType &f, int w0, ScalarType *gain=NULL)
static bool TestVertexRotation (const FaceType &f, int w0)
static void UpdateValencyInFlags (MeshType &m)
static void UpdateValencyInQuality (MeshType &m)

Static Private Member Functions

static ScalarType Cos (const CoordType &a, const CoordType &b, const CoordType &c)
static ScalarType quadQuality (const CoordType &a, const CoordType &b, const CoordType &c, const CoordType &d)

Detailed Description

template<class _MeshType, class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
class vcg::tri::BitQuad< _MeshType, Interpolator >

Definition at line 83 of file bitquad_support.h.


Member Typedef Documentation

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
typedef MeshType::CoordType vcg::tri::BitQuad< _MeshType, Interpolator >::CoordType

Definition at line 88 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
typedef MeshType::FaceIterator vcg::tri::BitQuad< _MeshType, Interpolator >::FaceIterator

Definition at line 92 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
typedef MeshType::FaceType vcg::tri::BitQuad< _MeshType, Interpolator >::FaceType

Definition at line 89 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
typedef MeshType::FaceType* vcg::tri::BitQuad< _MeshType, Interpolator >::FaceTypeP

Definition at line 90 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
typedef _MeshType vcg::tri::BitQuad< _MeshType, Interpolator >::MeshType

Definition at line 86 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
typedef MeshType::ScalarType vcg::tri::BitQuad< _MeshType, Interpolator >::ScalarType

Definition at line 87 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
typedef MeshType::VertexIterator vcg::tri::BitQuad< _MeshType, Interpolator >::VertexIterator

Definition at line 93 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
typedef MeshType::VertexType vcg::tri::BitQuad< _MeshType, Interpolator >::VertexType

Definition at line 91 of file bitquad_support.h.


Member Enumeration Documentation

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
enum vcg::tri::BitQuad::___
Enumerator:
VALENCY_FLAGS 

Definition at line 901 of file bitquad_support.h.


Member Function Documentation

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::_CollapseDiagHalf ( FaceType f,
int  faux,
MeshType m 
) [inline, static]

Definition at line 445 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::CheckFlipDiag ( FaceType f  )  [inline, static]

Definition at line 425 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::CollapseCounterDiag ( FaceType f,
ScalarType  interpol,
MeshType m,
Pos affected = NULL 
) [inline, static]

collapses a quad diagonal a-b forming the new vertex in between the two old vertices. if k == 0, new vertex is in a if k == 1, new vertex is in b if k == 0.5, new vertex in the middle, etc

Definition at line 703 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::CollapseDiag ( FaceType f,
ScalarType  interpol,
MeshType m,
Pos affected = NULL 
) [inline, static]

Definition at line 762 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::CollapseEdge ( FaceType f,
int  w0,
MeshType m,
Pos affected = NULL 
) [inline, static]

Definition at line 668 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::CollapseEdgeDirect ( FaceType f,
int  w0,
MeshType m 
) [inline, static]

Definition at line 644 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static ScalarType vcg::tri::BitQuad< _MeshType, Interpolator >::Cos ( const CoordType a,
const CoordType b,
const CoordType c 
) [inline, static, private]

Definition at line 1120 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static int vcg::tri::BitQuad< _MeshType, Interpolator >::CountBitPolygonInternalValency ( const FaceType f,
int  wedge 
) [inline, static]

Definition at line 568 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static CoordType vcg::tri::BitQuad< _MeshType, Interpolator >::CounterDiag ( const FaceType f  )  [inline, static]

Definition at line 437 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::DecreaseValency ( FaceType f,
int  wedge,
MeshType m 
) [inline, static]

Definition at line 934 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::DecreaseValencyNoSingletTest ( VertexType v,
int  dv,
MeshType m 
) [inline, static]

Definition at line 944 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::DecreaseValencySimple ( VertexType v,
int  dv 
) [inline, static]

Definition at line 951 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static CoordType vcg::tri::BitQuad< _MeshType, Interpolator >::Diag ( const FaceType f  )  [inline, static]

Definition at line 430 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static ScalarType vcg::tri::BitQuad< _MeshType, Interpolator >::EdgeLenghtVariationIfVertexRotated ( const FaceType f,
int  w0 
) [inline, static]

Definition at line 206 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static int vcg::tri::BitQuad< _MeshType, Interpolator >::FauxIndex ( const FaceType f  )  [inline, static]

Definition at line 180 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::FlipDiag ( FaceType f  )  [inline, static]

Definition at line 188 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::FlipEdge ( FaceType f,
int  k,
MeshType m 
) [inline, static]

Definition at line 392 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static int vcg::tri::BitQuad< _MeshType, Interpolator >::GetValency ( const VertexType v  )  [inline, static]

Definition at line 910 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::HasConsistentValencyFlag ( MeshType m  )  [inline, static]

Definition at line 978 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::IncreaseValency ( VertexType v,
int  dv = 1 
) [inline, static]

Definition at line 915 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::IsDoublet ( const FaceType f,
int  wedge 
) [inline, static]

Definition at line 604 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::IsDoubletFF ( const FaceType f,
int  wedge 
) [inline, static]

Definition at line 585 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::IsDoubletOrSinglet ( const FaceType f,
int  wedge 
) [inline, static]

Definition at line 608 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::IsSinglet ( const FaceType f,
int  wedge 
) [inline, static]

Definition at line 640 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::IsSingletFF ( const FaceType f,
int  wedge 
) [inline, static]

Definition at line 621 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::MarkFaceF ( FaceType f  )  [inline, static]

Definition at line 120 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static ScalarType vcg::tri::BitQuad< _MeshType, Interpolator >::PosOnDiag ( const FaceType f,
bool  counterDiag 
) [inline, static]

Definition at line 876 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static ScalarType vcg::tri::BitQuad< _MeshType, Interpolator >::quadQuality ( const CoordType a,
const CoordType b,
const CoordType c,
const CoordType d 
) [inline, static, private]

Definition at line 1104 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static ScalarType vcg::tri::BitQuad< _MeshType, Interpolator >::quadQuality ( FaceType f,
int  edge 
) [inline, static]

Definition at line 993 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static ScalarType vcg::tri::BitQuad< _MeshType, Interpolator >::QuadQualityVariationIfVertexRotated ( const FaceType f,
int  w0 
) [inline, static]

Definition at line 241 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::RemoveDoublet ( FaceType f,
int  wedge,
MeshType m,
Pos affected = NULL 
) [inline, static]

Definition at line 483 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::RemoveDoubletOrSinglet ( FaceType f,
int  wedge,
MeshType m,
Pos affected = NULL 
) [inline, static]

Definition at line 612 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::RemoveSinglet ( FaceType f,
int  wedge,
MeshType m,
Pos affected = NULL 
) [inline, static]

Definition at line 500 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
template<bool verse>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::RotateEdge ( FaceType f,
int  w0a,
MeshType m,
Pos affected = NULL 
) [inline, static]

Definition at line 134 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::RotateVertex ( FaceType f,
int  w0,
MeshType m,
Pos affected = NULL 
) [inline, static]

Definition at line 325 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::SetValency ( VertexType v,
int  n 
) [inline, static]

Definition at line 903 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::TestAndRemoveDoublet ( FaceType f,
int  wedge,
MeshType m 
) [inline, static]

Definition at line 549 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::TestAndRemoveSinglet ( FaceType f,
int  wedge,
MeshType m 
) [inline, static]

Definition at line 557 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static int vcg::tri::BitQuad< _MeshType, Interpolator >::TestEdgeRotation ( const FaceType f,
int  w0,
ScalarType gain = NULL 
) [inline, static]

helper function: given a quad edge, retruns: 0 if that edge should not be rotated +1 if it should be rotated clockwise (+1) -1 if it should be rotated counterclockwise (-1) Currently an edge is rotated iff it is shortened by that rotations (shortcut criterion)

Definition at line 1014 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuad< _MeshType, Interpolator >::TestVertexRotation ( const FaceType f,
int  w0 
) [inline, static]

Definition at line 311 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::UpdateValencyInFlags ( MeshType m  )  [inline, static]

Definition at line 956 of file bitquad_support.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuad< _MeshType, Interpolator >::UpdateValencyInQuality ( MeshType m  )  [inline, static]

Definition at line 967 of file bitquad_support.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:23:29 2013