#include <bitquad_creation.h>
Public Types | |
typedef BitQuad< MeshType > | BQ |
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 FaceType * | MarkEdgeDistance (MeshType &m, FaceType *startF, int maxDist) |
template<bool override> | |
static void | selectBestDiag (FaceType *fi) |
static int | SplitNonFlatQuads (MeshType &m, ScalarType deg=0) |
Definition at line 66 of file bitquad_creation.h.
typedef BitQuad<MeshType> vcg::tri::BitQuadCreation< _MeshType, Interpolator >::BQ |
Definition at line 80 of file bitquad_creation.h.
typedef MeshType::ConstFaceIterator vcg::tri::BitQuadCreation< _MeshType, Interpolator >::ConstFaceIterator |
Definition at line 78 of file bitquad_creation.h.
typedef MeshType::CoordType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::CoordType |
Definition at line 72 of file bitquad_creation.h.
typedef MeshType::FaceIterator vcg::tri::BitQuadCreation< _MeshType, Interpolator >::FaceIterator |
Definition at line 76 of file bitquad_creation.h.
typedef MeshType::FaceType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::FaceType |
Definition at line 73 of file bitquad_creation.h.
typedef MeshType::FaceType* vcg::tri::BitQuadCreation< _MeshType, Interpolator >::FaceTypeP |
Definition at line 74 of file bitquad_creation.h.
typedef _MeshType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MeshType |
Definition at line 70 of file bitquad_creation.h.
typedef MeshType::ScalarType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::ScalarType |
Definition at line 71 of file bitquad_creation.h.
typedef MeshType::VertexIterator vcg::tri::BitQuadCreation< _MeshType, Interpolator >::VertexIterator |
Definition at line 77 of file bitquad_creation.h.
typedef MeshType::VertexType vcg::tri::BitQuadCreation< _MeshType, Interpolator >::VertexType |
Definition at line 75 of file bitquad_creation.h.
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::CopyTopology | ( | FaceType * | fnew, |
FaceType * | fold | ||
) | [inline, static] |
Definition at line 371 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 181 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::IsBitTriQuadConventional | ( | const MeshType & | m | ) | [inline, static] |
Definition at line 328 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::IsQuadOnly | ( | const MeshType & | m | ) | [inline, static] |
Definition at line 347 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::IsTriOnly | ( | const MeshType & | m | ) | [inline, static] |
Definition at line 339 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::IsTriQuadOnly | ( | const MeshType & | m | ) | [inline, static] |
Definition at line 359 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 309 of file bitquad_creation.h.
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.
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.
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakeDominantPass | ( | MeshType & | m | ) | [inline, static] |
Definition at line 157 of file bitquad_creation.h.
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakePureByCatmullClark | ( | MeshType & | m | ) | [inline, static] |
Definition at line 667 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakePureByFlip | ( | MeshType & | m, |
int | maxdist = 10000 |
||
) | [inline, static] |
Definition at line 817 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 717 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 385 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakeTriEvenByDelete | ( | MeshType & | m | ) | [inline, static] |
Definition at line 266 of file bitquad_creation.h.
static bool vcg::tri::BitQuadCreation< _MeshType, Interpolator >::MakeTriEvenBySplit | ( | MeshType & | m | ) | [inline, static] |
Definition at line 239 of file bitquad_creation.h.
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.
static void vcg::tri::BitQuadCreation< _MeshType, Interpolator >::selectBestDiag | ( | FaceType * | fi | ) | [inline, static] |
Definition at line 85 of file bitquad_creation.h.
static int vcg::tri::BitQuadCreation< _MeshType, Interpolator >::SplitNonFlatQuads | ( | MeshType & | m, |
ScalarType | deg = 0 |
||
) | [inline, static] |
Definition at line 288 of file bitquad_creation.h.