Public Types | Static Public Member Functions
vcg::tri::BitQuadCreation< _MeshType, Interpolator > Class Template Reference

#include <bitquad_creation.h>

List of all members.

Public Types

typedef BitQuad< MeshTypeBQ
typedef MeshType::ConstFaceIterator ConstFaceIterator
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 (const MeshType &m)
static bool IsQuadOnly (const MeshType &m)
static bool IsTriOnly (const MeshType &m)
static bool IsTriQuadOnly (const MeshType &m)
static void MakeBitTriOnly (MeshType &m)
static bool MakeBitTriQuadConventional (MeshType &)
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 *startF, int maxDist)
template<bool override>
static void selectBestDiag (FaceType *fi)
static int SplitNonFlatQuads (MeshType &m, ScalarType deg=0)

Detailed Description

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

Definition at line 66 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 80 of file bitquad_creation.h.

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

Definition at line 78 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 72 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 76 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 73 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 74 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 70 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 71 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 77 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 75 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 371 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:
edgeIndex of the edge

Definition at line 181 of file bitquad_creation.h.

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

Definition at line 328 of file bitquad_creation.h.

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

Definition at line 347 of file bitquad_creation.h.

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

Definition at line 339 of file bitquad_creation.h.

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

Definition at line 359 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 309 of file bitquad_creation.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakeBitTriQuadConventional ( MeshType ) [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 321 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 832 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 157 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 667 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 817 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 717 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 385 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 266 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 239 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 startF,
int  maxDist 
) [inline, static]

Definition at line 676 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 85 of file bitquad_creation.h.

template<class _MeshType , class Interpolator = GeometricInterpolator<typename _MeshType::VertexType>>
static int vcg::tri::BitQuadCreation< _MeshType, Interpolator >::SplitNonFlatQuads ( MeshType m,
ScalarType  deg = 0 
) [inline, static]

Definition at line 288 of file bitquad_creation.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:42:00