|
| void | assign_mark_subset_handler (MGSubsetHandler &markSH) |
| |
| void | assign_mark_subset_handler (MGSubsetHandler *markSH) |
| | sets the SubsetHandler designated for obligatory marked manifold elements
|
| |
| void | assign_position_attachment (TAPosition &aPos) |
| |
| void | assign_position_attachment (TAPosition *aPos) |
| | sets the position attachment depending on the world dimension
|
| |
| void | assign_subset_handler (MGSubsetHandler &sh) |
| |
| void | assign_subset_handler (MGSubsetHandler *sh) |
| | sets the default SubsetHandler
|
| |
| | GlobalSubdivisionMultiGridRefiner (MultiGrid &mg, SPRefinementProjector projector=SPNULL) |
| |
| | GlobalSubdivisionMultiGridRefiner (MultiGrid &mg, TAPosition &aPos, MGSubsetHandler &sh, MGSubsetHandler &markSH, SPRefinementProjector projector=SPNULL) |
| |
| | GlobalSubdivisionMultiGridRefiner (SPRefinementProjector projector=SPNULL) |
| |
| void | nest_hierarchy () |
| | projection of the vertices of all levels to their smooth subdivision limit positions to ensure node nested hierarchy
|
| |
| void | set_constrained_subdivision (bool constrained) |
| | sets constrained subdivision volumes scheme
|
| |
| void | set_linear_manifold_subsets (MGSubsetHandler &linearManifoldSH, const char *linearManifoldSubsets) |
| | sets the manifold subsets which shall be linearly refined
|
| |
| virtual | ~GlobalSubdivisionMultiGridRefiner () |
| |
| virtual bool | adaptivity_supported () const |
| | returns whether the refiner is able to perform adaptive refinement
|
| |
| void | assign_grid (MultiGrid &mg) |
| |
| void | assign_grid (MultiGrid *mg) |
| |
| virtual bool | coarsening_supported () const |
| | returns true, if the refiner supports coarsening.
|
| |
| virtual Grid * | get_associated_grid () |
| | DEPRECIATED! Use grid(). Has to return the associated grid. Pure virtual.
|
| |
| | GlobalMultiGridRefiner (MultiGrid &mg, SPRefinementProjector projector=SPNULL) |
| |
| | GlobalMultiGridRefiner (SPRefinementProjector projector=SPNULL) |
| |
| virtual Grid * | grid () |
| | Returns the grid associated with the refiner.
|
| |
| virtual void | grid_to_be_destroyed (Grid *grid) |
| |
| virtual MultiGrid * | multi_grid () |
| |
| virtual bool | save_marks_to_file (const char *filename) |
| | Writes the associated grid and marks to a file. Pure virtual.
|
| |
| virtual | ~GlobalMultiGridRefiner () |
| |
| virtual void | clear_marks () |
| | clears all marks. Default implementation is empty
|
| |
| bool | coarsen () |
| | Performs coarsening on the elements marked RM_COARSEN.
|
| |
| bool | debugging_enabled () const |
| |
| void | enable_debugging (bool enable) |
| |
| int | get_local_edge_mark (Face *f, Edge *e) const |
| | returns the local mark of the specified edge of the given face
|
| |
| int | get_local_edge_mark (Volume *vol, Edge *e) const |
| | returns the local mark of the specified edge of the given volume
|
| |
| int | get_local_face_mark (Volume *vol, Face *f) const |
| | returns the local mark of the specified face of the given volume
|
| |
| virtual RefinementMark | get_mark (GridObject *o) const |
| | returns the mark of the specified geometric object
|
| |
| | IRefiner (SPRefinementProjector projector=SPNULL) |
| |
| virtual bool | local_marks_supported () const |
| | returns true, if the refiner supports local marks.
|
| |
| template<class TIterator > |
| void | mark (const TIterator &iterBegin, const TIterator &iterEnd, RefinementMark refMark=RM_REFINE) |
| | marks all elements between iterBegin and iterEnd.
|
| |
| virtual bool | mark (GridObject *o, RefinementMark refMark=RM_REFINE) |
| | marks the specified geometric object
|
| |
| void | mark_neighborhood (size_t numIterations) |
| | marks the neighborhood of currently marked elements.
|
| |
| virtual void | mark_neighborhood (size_t numIterations, RefinementMark refMark, bool sideNbrsOnly) |
| | marks the neighborhood of currently marked elements.
|
| |
| template<class TElem > |
| bool | marked_closure (TElem *elem) const |
| |
| template<class TElem > |
| bool | marked_full (TElem *elem) const |
| |
| template<class TElem > |
| bool | marked_local (TElem *elem) const |
| |
| size_t | num_marked_edges () |
| | returns the number of (globally) marked edges on all levels of the hierarchy
|
| |
| size_t | num_marked_edges (std::vector< int > &numMarkedEdgesOut) |
| | returns the number of (globally) marked edges on all levels of the hierarchy
|
| |
| size_t | num_marked_elements () |
| | returns the number of (globally) marked grid-objects of highest dimension
|
| |
| size_t | num_marked_elements (std::vector< int > &numMarkedElemsOut) |
| | returns the number of (globally) marked grid-objects of highest dimension
|
| |
| size_t | num_marked_faces () |
| | returns the number of (globally) marked faces on all levels of the hierarchy
|
| |
| size_t | num_marked_faces (std::vector< int > &numMarkedFacesOut) |
| | returns the number of (globally) marked faces on all levels of the hierarchy
|
| |
| size_t | num_marked_volumes () |
| | returns the number of (globally) marked volumes on all levels of the hierarchy
|
| |
| size_t | num_marked_volumes (std::vector< int > &numMarkedVolsOut) |
| | returns the number of (globally) marked volumes on all levels of the hierarchy
|
| |
| SPRefinementProjector | projector () |
| |
| void | refine () |
| | Performs refinement on the marked elements.
|
| |
| void | set_adjusted_marks_debug_filename (const char *filename) |
| | sets a filename to which adjusted marks are saved during refinement / coarsening
|
| |
| void | set_projector (SPRefinementProjector projector) |
| |
| virtual | ~IRefiner () |
| |
| virtual bool | mark (Vertex *v, RefinementMark refMark=RM_REFINE) |
| | Marks an element for refinement. Default implementation is empty.
|
| |
| virtual bool | mark (Edge *e, RefinementMark refMark=RM_REFINE) |
| | Marks an element for refinement. Default implementation is empty.
|
| |
| virtual bool | mark (Face *f, RefinementMark refMark=RM_REFINE) |
| | Marks an element for refinement. Default implementation is empty.
|
| |
| virtual bool | mark (Volume *v, RefinementMark refMark=RM_REFINE) |
| | Marks an element for refinement. Default implementation is empty.
|
| |
| virtual void | mark_local (Face *e, int mark) |
| | Marks a face or volume for local refinement.
|
| |
| virtual void | mark_local (Volume *e, int mark) |
| | Marks a face or volume for local refinement.
|
| |
| virtual int | get_local_mark (Face *e) const |
| | returns the local mark of the specified face or volume.
|
| |
| virtual int | get_local_mark (Volume *e) const |
| | returns the local mark of the specified face or volume.
|
| |
| virtual RefinementMark | get_mark (Vertex *v) const |
| | Returns the mark of a given element. Default returns RM_REFINE.
|
| |
| virtual RefinementMark | get_mark (Edge *e) const |
| | Returns the mark of a given element. Default returns RM_REFINE.
|
| |
| virtual RefinementMark | get_mark (Face *f) const |
| | Returns the mark of a given element. Default returns RM_REFINE.
|
| |
| virtual RefinementMark | get_mark (Volume *v) const |
| | Returns the mark of a given element. Default returns RM_REFINE.
|
| |
| void | adaption_begins () |
| | notifies all listeners of the associated message-hub, that adaption begins / ends.
|
| |
| void | adaption_ends () |
| | notifies all listeners of the associated message-hub, that adaption begins / ends.
|
| |
| virtual void | elements_to_be_cleared (Grid *grid) |
| |
| virtual | ~GridObserver () |
| |
| virtual void | vertex_created (Grid *grid, Vertex *vrt, GridObject *pParent=NULL, bool replacesParent=false) |
| | Notified whenever a new element of the given type is created in the given grid.
|
| |
| virtual void | edge_created (Grid *grid, Edge *e, GridObject *pParent=NULL, bool replacesParent=false) |
| | Notified whenever a new element of the given type is created in the given grid.
|
| |
| virtual void | face_created (Grid *grid, Face *f, GridObject *pParent=NULL, bool replacesParent=false) |
| | Notified whenever a new element of the given type is created in the given grid.
|
| |
| virtual void | volume_created (Grid *grid, Volume *vol, GridObject *pParent=NULL, bool replacesParent=false) |
| | Notified whenever a new element of the given type is created in the given grid.
|
| |
| virtual void | vertex_to_be_erased (Grid *grid, Vertex *vrt, Vertex *replacedBy=NULL) |
| | Notified whenever an element of the given type is erased from the given grid.
|
| |
| virtual void | edge_to_be_erased (Grid *grid, Edge *e, Edge *replacedBy=NULL) |
| | Notified whenever an element of the given type is erased from the given grid.
|
| |
| virtual void | face_to_be_erased (Grid *grid, Face *f, Face *replacedBy=NULL) |
| | Notified whenever an element of the given type is erased from the given grid.
|
| |
| virtual void | volume_to_be_erased (Grid *grid, Volume *vol, Volume *replacedBy=NULL) |
| | Notified whenever an element of the given type is erased from the given grid.
|
| |
| virtual void | vertices_to_be_merged (Grid *grid, Vertex *target, Vertex *elem1, Vertex *elem2) |
| | Notified when two elements of the same type are going to be merged.
|
| |
| virtual void | edges_to_be_merged (Grid *grid, Edge *target, Edge *elem1, Edge *elem2) |
| | Notified when two elements of the same type are going to be merged.
|
| |
| virtual void | faces_to_be_merged (Grid *grid, Face *target, Face *elem1, Face *elem2) |
| | Notified when two elements of the same type are going to be merged.
|
| |
| virtual void | volumes_to_be_merged (Grid *grid, Volume *target, Volume *elem1, Volume *elem2) |
| | Notified when two elements of the same type are going to be merged.
|
| |
template<class TAPosition>
class ug::GlobalSubdivisionMultiGridRefiner< TAPosition >
Specialization of the GlobalMultiGridRefiner class to incorporate subdivision refinement.
Each step of global refinement is subsequently followed by a vertex smoothing pass determined by a user-specified subdivision scheme.
Currently this only works in 2d and 3d.