MeshKit  1.0
QuadCleanUp Class Reference

#include <QuadCleanUp.hpp>

List of all members.

Public Member Functions

 QuadCleanUp ()
 QuadCleanUp (Mesh *m)
 ~QuadCleanUp ()
void setMesh (Mesh *m)
NodeSequence search_restricted_nodes ()
FaceSequence search_restricted_faces ()
FaceSequence search_flat_quads ()
vector< Diamondsearch_diamonds (int type=33)
vector< Singletsearch_boundary_singlets ()
vector< Doubletsearch_interior_doublets ()
vector< Edgesearch_tunnels ()
vector< OneDefectPatchsearch_one_defect_patches ()
OneDefectPatchbuild_one_defect_patch (Vertex *vertex=NULL)
int degree_5_dominated ()
int remesh_defective_patches ()
int reduce_degree (Vertex *v)
int vertex_degree_reduction ()
int swap_concave_faces ()
int remove_diamonds ()
int remove_tunnels ()
int remove_interior_doublets ()
int remove_boundary_singlets ()
int remove_bridges ()
int shift_irregular_nodes ()
int clean_layer (int id)
void cleanup_boundary (double cutOffAngle=100.0)
void advancing_front_cleanup ()
void advancing_front_edges_swap ()
int automatic ()
void report ()
int atomic_op_swap_edge (Vertex *v0, Vertex *v1)
int atomic_op_face_close (Face *f)
Vertexinsert_doublet (Face *face)
Vertexinsert_boundary_doublet (Face *face)
Vertexinsert_doublet (Face *face, Vertex *v0, Vertex *v2)
int refine_restricted_node (Vertex *resnode, Vertex *bndnode)
int refine_degree3_faces ()
int refine_bridges_face ()
void get_strips (Face *face, FaceSequence &strip1, FaceSequence strip2)
int reduce_internal_vertex_degree (Vertex *v)
int reduce_boundary_vertex_degree (Vertex *v)

Static Public Member Functions

static bool isDoublet (const Vertex *v)
static bool isSinglet (const Vertex *v)
static bool isRegular (const Vertex *v)
static bool hasSinglet (const Face *f)
static bool isTunnel (const Edge *e)
static bool isEdge33 (const Edge *e)
static bool isEdge35 (const Edge *e)
static bool isDiamond (Face *f, int &pos, int type=33)

Private Member Functions

int has_interior_nodes_degree_345 ()
vector< Diamondsearch_diamonds_in_layer (int l)
int clean_layer_once (int id)
int face_close (Face *face, Vertex *v0, Vertex *v2)
int diamond_collapse (FaceClose &d)
int remove_interior_doublet (Doublet &d)
int remove_boundary_singlet_type1 (const Singlet &s)
int remove_boundary_singlet_type2 (const Singlet &s)
int remove_boundary_singlets_once ()
int remove_bridges_in_layer (int l)
int remove_bridges_once ()
int remove_diamonds_once ()
int remove_diamonds_in_layer (int l)
int advance_front_edges_swap_once (int layerid)
int apply_advance_front_bridge_rule (Vertex *v0, Vertex *v1)
int apply_advance_front_excess_rule (Vertex *v)
int apply_advance_front_triplet_rule (Vertex *v)
int apply_advance_front_singlet_rule (Vertex *v)
int remove_doublets_once ()
int remove_interior_doublets_once ()
int boundary_vertex_degree_reduction_once ()
int internal_vertex_degree_reduction_once ()
void cleanup_internal_boundary_face ()
int refine_3434_pattern (Face *face, int pos)
int refine_3454_pattern (Face *face, int pos)
int refine_3444_pattern (Face *face, int pos)
int apply_shift_node3_rule (Vertex *vertex)

Private Attributes

Meshmesh
MeshOptimization mopt
DijkstraShortestPathdjkpath
OneDefectPatchdefective_patch
NodeSequence irregular_nodes
vector< OneDefectPatchvDefectPatches
vector< DoubletvDoublets
vector< SingletvSinglets
vector< DiamondvDiamonds

Detailed Description

Definition at line 430 of file QuadCleanUp.hpp.


Constructor & Destructor Documentation

QuadCleanUp ( ) [inline]

Definition at line 441 of file QuadCleanUp.hpp.

QuadCleanUp ( Mesh m) [inline]

Definition at line 446 of file QuadCleanUp.hpp.

~QuadCleanUp ( ) [inline]

Definition at line 452 of file QuadCleanUp.hpp.


Member Function Documentation

int advance_front_edges_swap_once ( int  layerid) [private]

Definition at line 194 of file AdfrontClean.cpp.

Definition at line 357 of file AdfrontClean.cpp.

int apply_advance_front_bridge_rule ( Vertex v0,
Vertex v1 
) [private]

Definition at line 117 of file AdfrontClean.cpp.

int apply_advance_front_excess_rule ( Vertex v) [private]

Definition at line 162 of file AdfrontClean.cpp.

int apply_advance_front_singlet_rule ( Vertex v) [private]

Definition at line 8 of file AdfrontClean.cpp.

int apply_advance_front_triplet_rule ( Vertex v) [private]

Definition at line 41 of file AdfrontClean.cpp.

int apply_shift_node3_rule ( Vertex vertex) [private]

Definition at line 892 of file QuadCleanUp.cpp.

int atomic_op_face_close ( Face f)
int atomic_op_swap_edge ( Vertex v0,
Vertex v1 
)
int automatic ( )

Definition at line 9 of file QuadCleanUp.cpp.

Definition at line 206 of file QuadCleanUp.cpp.

Definition at line 1504 of file OneDefectRemeshing.cpp.

int clean_layer ( int  id)
int clean_layer_once ( int  id) [private]
void cleanup_boundary ( double  cutOffAngle = 100.0)
void cleanup_internal_boundary_face ( ) [private]

Definition at line 528 of file QuadCleanUp.cpp.

Definition at line 384 of file FaceClose.cpp.

int diamond_collapse ( FaceClose d) [private]
int face_close ( Face face,
Vertex v0,
Vertex v2 
) [private]
void get_strips ( Face face,
FaceSequence strip1,
FaceSequence  strip2 
)
int has_interior_nodes_degree_345 ( ) [private]
bool hasSinglet ( const Face f) [inline, static]

Definition at line 627 of file QuadCleanUp.hpp.

Definition at line 174 of file Doublet.cpp.

Vertex * insert_doublet ( Face face)

Definition at line 163 of file Doublet.cpp.

Vertex * insert_doublet ( Face face,
Vertex v0,
Vertex v2 
)

Definition at line 111 of file Doublet.cpp.

Definition at line 260 of file QuadCleanUp.cpp.

bool isDiamond ( Face f,
int &  pos,
int  type = 33 
) [static]

Definition at line 204 of file FaceClose.cpp.

bool isDoublet ( const Vertex v) [inline, static]

Definition at line 603 of file QuadCleanUp.hpp.

static bool isEdge33 ( const Edge e) [static]
static bool isEdge35 ( const Edge e) [static]
bool isRegular ( const Vertex v) [inline, static]

Definition at line 592 of file QuadCleanUp.hpp.

bool isSinglet ( const Vertex v) [inline, static]

Definition at line 614 of file QuadCleanUp.hpp.

static bool isTunnel ( const Edge e) [static]

Definition at line 162 of file QuadCleanUp.cpp.

int reduce_degree ( Vertex v)

Definition at line 233 of file QuadCleanUp.cpp.

int refine_3434_pattern ( Face face,
int  pos 
) [private]

Definition at line 928 of file QuadCleanUp.cpp.

int refine_3444_pattern ( Face face,
int  pos 
) [private]

Definition at line 1294 of file QuadCleanUp.cpp.

int refine_3454_pattern ( Face face,
int  pos 
) [private]

Definition at line 1065 of file QuadCleanUp.cpp.

Definition at line 564 of file QuadCleanUp.cpp.

int refine_restricted_node ( Vertex resnode,
Vertex bndnode 
)

Definition at line 1536 of file OneDefectRemeshing.cpp.

int remove_boundary_singlet_type1 ( const Singlet s) [private]
int remove_boundary_singlet_type2 ( const Singlet s) [private]

Definition at line 117 of file Singlet.cpp.

int remove_boundary_singlets_once ( ) [private]

Definition at line 85 of file Singlet.cpp.

int remove_bridges ( )
int remove_bridges_in_layer ( int  l) [private]
int remove_bridges_once ( ) [private]
int remove_diamonds ( )

Definition at line 467 of file FaceClose.cpp.

int remove_diamonds_in_layer ( int  l) [private]

Definition at line 427 of file FaceClose.cpp.

int remove_diamonds_once ( ) [private]

Definition at line 354 of file FaceClose.cpp.

int remove_doublets_once ( ) [private]

Definition at line 296 of file Doublet.cpp.

int remove_interior_doublet ( Doublet d) [private]

Definition at line 315 of file Doublet.cpp.

int remove_interior_doublets_once ( ) [private]
int remove_tunnels ( )
void report ( )

Definition at line 605 of file QuadCleanUp.cpp.

Definition at line 37 of file Singlet.cpp.

vector< Diamond > search_diamonds ( int  type = 33)

Definition at line 296 of file FaceClose.cpp.

vector<Diamond> search_diamonds_in_layer ( int  l) [private]

Definition at line 313 of file QuadCleanUp.cpp.

Definition at line 68 of file Doublet.cpp.

Definition at line 376 of file QuadCleanUp.cpp.

vector<Edge> search_tunnels ( )
void setMesh ( Mesh m) [inline]

Definition at line 461 of file QuadCleanUp.hpp.

Definition at line 864 of file QuadCleanUp.cpp.

Definition at line 579 of file SwapQuadEdges.cpp.

Definition at line 292 of file QuadCleanUp.cpp.


Member Data Documentation

Definition at line 543 of file QuadCleanUp.hpp.

Definition at line 542 of file QuadCleanUp.hpp.

Definition at line 547 of file QuadCleanUp.hpp.

Mesh* mesh [private]

Definition at line 534 of file QuadCleanUp.hpp.

Definition at line 536 of file QuadCleanUp.hpp.

vector<OneDefectPatch> vDefectPatches [private]

Definition at line 549 of file QuadCleanUp.hpp.

vector<Diamond> vDiamonds [private]

Definition at line 552 of file QuadCleanUp.hpp.

vector<Doublet> vDoublets [private]

Definition at line 550 of file QuadCleanUp.hpp.

vector<Singlet> vSinglets [private]

Definition at line 551 of file QuadCleanUp.hpp.


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