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

#include <bitquad_creation.h>

List of all members.

Public Types

typedef BitQuad< MeshTypeBQ
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 CopyTopology (FaceType *fnew, FaceType *fold)
static std::pair< typename
MeshType::FaceType *, typename
MeshType::VertexType * > 
FaceSplitBorderEdge (MeshType &m, typename MeshType::FaceType &f, int edge, typename MeshType::FaceType *newFace, typename MeshType::VertexType *newVert)
static bool IsBitTriQuadConventional (MeshType &m)
static void MakeBitTriOnly (MeshType &m)
static bool MakeBitTriQuadConventional (MeshType &m)
static void MakeDominant (MeshType &m, int level)
template<bool override>
static void MakeDominantPass (MeshType &m)
static void MakePureByCatmullClark (MeshType &m)
static bool MakePureByFlip (MeshType &m, int maxdist=10000)
static int MakePureByFlipStepByStep (MeshType &m, int maxdist=10000, int restart=false)
static void MakePureByRefine (MeshType &m)
static bool MakeTriEvenByDelete (MeshType &m)
static bool MakeTriEvenBySplit (MeshType &m)
static FaceTypeMarkEdgeDistance (MeshType &m, FaceType *f, int maxDist)
template<bool override>
static void selectBestDiag (FaceType *fi)

Detailed Description

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

Definition at line 59 of file bitquad_creation.h.


Member Typedef Documentation

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

Definition at line 72 of file bitquad_creation.h.

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

Definition at line 65 of file bitquad_creation.h.

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

Definition at line 69 of file bitquad_creation.h.

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

Definition at line 66 of file bitquad_creation.h.

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

Definition at line 67 of file bitquad_creation.h.

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

Definition at line 63 of file bitquad_creation.h.

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

Definition at line 64 of file bitquad_creation.h.

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

Definition at line 70 of file bitquad_creation.h.

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

Definition at line 68 of file bitquad_creation.h.


Member Function Documentation

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::CopyTopology ( FaceType fnew,
FaceType fold 
) [inline, static]

Definition at line 298 of file bitquad_creation.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static std::pair<typename MeshType::FaceType *, typename MeshType::VertexType *> vcg::tri::BitQuadCreation< _MeshType, Interpolator >::FaceSplitBorderEdge ( MeshType m,
typename MeshType::FaceType &  f,
int  edge,
typename MeshType::FaceType *  newFace,
typename MeshType::VertexType *  newVert 
) [inline, static]

This function split a face along the specified border edge it does not compute any property of the new vertex. It only do the topological work.

Parameters:
edge Index of the edge

Definition at line 173 of file bitquad_creation.h.

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

Definition at line 289 of file bitquad_creation.h.

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

Given a mesh, makes it bit trianglular (makes all edges NOT faux)

Definition at line 271 of file bitquad_creation.h.

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

given a quad-and-tree mesh, enforces the "faux edge is 2nd edge" convention. Requires (and updates): FV and FF structure Updates: faux flags Updates: per wedge attributes, if any Other connectivity structures, and per edge and per wedge flags are ignored

Definition at line 283 of file bitquad_creation.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakeDominant ( MeshType m,
int  level 
) [inline, static]

given a triangle mesh, makes it quad dominant by merging triangle pairs into quads various euristics: level = 0: maximally greedy. Leaves fewest triangles level = 1: smarter: leaves more triangles, but makes better quality quads level = 2: even more so (marginally)

Definition at line 758 of file bitquad_creation.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
template<bool override>
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakeDominantPass ( MeshType m  )  [inline, static]

Definition at line 150 of file bitquad_creation.h.

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

Definition at line 594 of file bitquad_creation.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakePureByFlip ( MeshType m,
int  maxdist = 10000 
) [inline, static]

Definition at line 743 of file bitquad_creation.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static int vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakePureByFlipStepByStep ( MeshType m,
int  maxdist = 10000,
int  restart = false 
) [inline, static]

Definition at line 643 of file bitquad_creation.h.

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

makes any mesh quad only by refining it so that a quad is created over all previous diags requires that the mesh is made only of quads and tris.

Definition at line 312 of file bitquad_creation.h.

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

Definition at line 249 of file bitquad_creation.h.

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

Definition at line 222 of file bitquad_creation.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static FaceType* vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MarkEdgeDistance ( MeshType m,
FaceType f,
int  maxDist 
) [inline, static]

Definition at line 603 of file bitquad_creation.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
template<bool override>
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::selectBestDiag ( FaceType fi  )  [inline, static]

Definition at line 78 of file bitquad_creation.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