|
ug4
|
#include <vector>#include <cassert>#include "lib_grid/lg_base.h"#include "lib_grid/algorithms/debug_util.h"#include "lib_grid/grid_objects/tetrahedron_rules.h"#include "lib_grid/algorithms/attachment_util.h"#include "lib_grid/file_io/file_io.h"#include "lib_grid/algorithms/subdivision/subdivision_loop.h"#include "lib_grid/parallelization/util/compol_attachment_reduce.h"#include "lib_grid/parallelization/util/compol_copy_attachment.h"#include "lib_grid/parallelization/util/attachment_operations.hpp"#include "lib_grid/parallelization/distributed_grid.h"#include "pcl/pcl_interface_communicator.h"#include "common/profiler/profiler.h"Go to the source code of this file.
Namespaces | |
| namespace | ug |
| the ug namespace | |
Enumerations | |
| enum | ug::GlobalBoundaryRefinementRule { ug::LINEAR , ug::SUBDIV_SURF_LOOP_SCHEME , ug::SUBDIV_SURF_AVERAGING_SCHEME , ug::SUBDIV_SURF_BUTTERFLY_SCHEME , ug::SUBDIV_VOL } |
| enumeration for identification of global boundary refinement rule to be used More... | |
Functions | |
| void | ug::ApplyConstrainedSmoothSubdivisionVolumesToTopLevel (MultiGrid &mg, MGSubsetHandler &sh, MGSubsetHandler &markSH, const char *linearManifoldSubsets) |
| template<class TAPosition > | |
| void | ug::ApplySmoothManifoldPosToTopLevelAveragingScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH) |
| Toplevel vertex repositioning function for subdivision surfaces refinement (Averaging scheme) | |
| template<class TAPosition > | |
| void | ug::ApplySmoothManifoldPosToTopLevelButterflyScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH) |
| Toplevel vertex repositioning function for subdivision surfaces refinement (Butterfly scheme) | |
| template<class TAPosition > | |
| void | ug::ApplySmoothManifoldPosToTopLevelLoopScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, bool bCreaseSurf) |
| Toplevel vertex repositioning function for subdivision surfaces refinement (by C. Loop, 1987) | |
| template<class TAPosition > | |
| void | ug::ApplySmoothSubdivisionSurfacesToTopLevel (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &sh, MGSubsetHandler &markSH, const char *linearManifoldSubsets, bool bCreaseSurf) |
| Wrapper procedures for smooth subdivision surfaces/volumes hierarchy creation. | |
| template<class TAPosition > | |
| void | ug::ApplySmoothSubdivisionSurfacesToTopLevel (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &sh, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, bool bCreaseSurf) |
| Function to create a smooth subdivision volumes hierarchy. | |
| void | ug::ApplySmoothSubdivisionVolumesToTopLevel (MultiGrid &mg, MGSubsetHandler &sh, MGSubsetHandler &markSH, const char *linearManifoldSubsets) |
| void | ug::ApplySmoothSubdivisionVolumesToTopLevel (MultiGrid &mg, MGSubsetHandler &sh, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, bool bConstrained) |
| Function to create a smooth subdivision volumes hierarchy. | |
| void | ug::ApplySmoothVolumePosToTopLevel (MultiGrid &mg, MGSubsetHandler &markSH, bool bConstrained) |
| Toplevel vertex repositioning function for subdivision volumes refinement. | |
| void | ug::CalculateConstrainedSmoothVolumePosInTopLevel (MultiGrid &mg, MGSubsetHandler &markSH, APosition &aSmoothVolPos_toc) |
| Toplevel vertex smoothing function for subdivision volumes refinement. | |
| void | ug::CalculateNumElemsVertexAttachmentInTopLevel (MultiGrid &mg, AInt &aNumElems_toc, AInt &aNumElems_prism, AInt &aNumElems_hex) |
| Function for calculating the number of associated volumes of all toplevel vertices. | |
| void | ug::CalculateNumManifoldEdgesVertexAttachmentInParentLevel (MultiGrid &mg, MGSubsetHandler &markSH, AInt &aNumManifoldEdges, bool bCreaseSurf) |
| Function for calculating the number of associated manifold edges of all parent level vertices. | |
| void | ug::CalculateNumManifoldFacesVertexAttachmentInTopLevel (MultiGrid &mg, MGSubsetHandler &markSH, AInt &aNumManifoldFaces_tri, AInt &aNumManifoldFaces_quad) |
| Function for calculating the number of associated manifold faces of all toplevel manifold vertices. | |
| template<class TAPosition > | |
| void | ug::CalculateSmoothCreaseManifoldPosInParentLevelLoopScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, TAPosition &aSmoothBndPosEvenVrt, TAPosition &aSmoothBndPosOddVrt, AInt &aNumManifoldEdges) |
| Parent level vertex smoothing function for subdivision crease surfaces refinement (by C. Loop, 1987) | |
| template<class TAPosition > | |
| void | ug::CalculateSmoothManifoldPosInParentLevelButterflyScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, TAPosition &aSmoothBndPosOddVrt, AInt &aNumManifoldEdges) |
| Parent level vertex smoothing function for subdivision surfaces refinement (Butterfly scheme) | |
| template<class TAPosition > | |
| void | ug::CalculateSmoothManifoldPosInParentLevelLoopScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, TAPosition &aSmoothBndPosEvenVrt, TAPosition &aSmoothBndPosOddVrt, AInt &aNumManifoldEdges) |
| Parent level vertex smoothing function for subdivision surfaces refinement (by C. Loop, 1987) | |
| template<class TAPosition > | |
| void | ug::CalculateSmoothManifoldPosInTopLevelAveragingScheme (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &markSH, MGSubsetHandler &linearManifoldSH, TAPosition &aSmoothBndPos_tri, TAPosition &aSmoothBndPos_quad) |
| Toplevel vertex smoothing function for subdivision surfaces refinement (Averaging scheme) | |
| void | ug::CalculateSmoothVolumePosInTopLevel (MultiGrid &mg, MGSubsetHandler &markSH, APosition &aSmoothVolPos_toc, APosition &aSmoothVolPos_prism, APosition &aSmoothVolPos_hex) |
| Toplevel vertex smoothing function for subdivision volumes refinement. | |
| void | ug::CheckValences (MultiGrid &mg, MGSubsetHandler &markSH, const char *filename) |
| Function for checking the number of associated volumes of all edges. | |
| GlobalBoundaryRefinementRule | ug::GetBoundaryRefinementRule () |
| get procedure for boundary refinement rule variable | |
| void | ug::InitLinearManifoldSubsetHandler (MultiGrid &mg, MGSubsetHandler &sh, MGSubsetHandler &linearManifoldSH, const char *linearManifoldSubsets) |
| Procedure to initialize the linear boundary manifold subsets SubsetHandler with user-specified subsets. | |
| void | ug::PrintSubdivisionVolumesRefinementMask () |
| Function for printing the subdivision volumes tet-oct refinement mask. | |
| template<class TAPosition > | |
| void | ug::ProjectHierarchyToSubdivisionLimit (MultiGrid &mg, TAPosition &aPos) |
| Projection function for smooth subdivision (volumes+surface) refinement. | |
| void | ug::SetBoundaryRefinementRule (GlobalBoundaryRefinementRule refRule) |
| setting procedure for global boundary refinement rule variable | |
| void | ug::SplitOctahedronToTetrahedrons (Grid &grid, Octahedron *oct, Volume *parentVol, std::vector< Tetrahedron * > &vTetsOut, int bestDiag) |
| Function for splitting an octahedron to 4 sub-tetrahedrons. | |
| void | ug::TetrahedralizeHybridTetOctGrid (MultiGrid &mg, int bestDiag) |
| Conversion function for hybrid tetra-/octahedral multigrids. | |