#include <bitquad_creation.h>
Public Types | |
typedef BitQuad< MeshType > | BQ |
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 FaceType * | MarkEdgeDistance (MeshType &m, FaceType *f, int maxDist) |
template<bool override> | |
static void | selectBestDiag (FaceType *fi) |
Definition at line 59 of file bitquad_creation.h.
typedef BitQuad<MeshType> vcg::tri::BitQuadCreation< _MeshType, Interpolator >::BQ |
Definition at line 72 of file bitquad_creation.h.
typedef MeshType::CoordType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::CoordType |
Definition at line 65 of file bitquad_creation.h.
typedef MeshType::FaceIterator vcg::tri::BitQuadCreation< _MeshType, Interpolator >::FaceIterator |
Definition at line 69 of file bitquad_creation.h.
typedef MeshType::FaceType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::FaceType |
Definition at line 66 of file bitquad_creation.h.
typedef MeshType::FaceType* vcg::tri::BitQuadCreation< _MeshType, Interpolator >::FaceTypeP |
Definition at line 67 of file bitquad_creation.h.
typedef _MeshType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MeshType |
Definition at line 63 of file bitquad_creation.h.
typedef MeshType::ScalarType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::ScalarType |
Definition at line 64 of file bitquad_creation.h.
typedef MeshType::VertexIterator vcg::tri::BitQuadCreation< _MeshType, Interpolator >::VertexIterator |
Definition at line 70 of file bitquad_creation.h.
typedef MeshType::VertexType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::VertexType |
Definition at line 68 of file bitquad_creation.h.
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::CopyTopology | ( | FaceType * | fnew, | |
FaceType * | fold | |||
) | [inline, static] |
Definition at line 298 of file bitquad_creation.h.
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.
edge | Index of the edge |
Definition at line 173 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::IsBitTriQuadConventional | ( | MeshType & | m | ) | [inline, static] |
Definition at line 289 of file bitquad_creation.h.
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.
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.
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.
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakeDominantPass | ( | MeshType & | m | ) | [inline, static] |
Definition at line 150 of file bitquad_creation.h.
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakePureByCatmullClark | ( | MeshType & | m | ) | [inline, static] |
Definition at line 594 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakePureByFlip | ( | MeshType & | m, | |
int | maxdist = 10000 | |||
) | [inline, static] |
Definition at line 743 of file bitquad_creation.h.
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.
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.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakeTriEvenByDelete | ( | MeshType & | m | ) | [inline, static] |
Definition at line 249 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakeTriEvenBySplit | ( | MeshType & | m | ) | [inline, static] |
Definition at line 222 of file bitquad_creation.h.
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.
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::selectBestDiag | ( | FaceType * | fi | ) | [inline, static] |
Definition at line 78 of file bitquad_creation.h.