33#ifndef __H__UG__HANGING_NODE_REFINER_GRID__
34#define __H__UG__HANGING_NODE_REFINER_GRID__
107 template <
class TElem>
126 Vertex** newCornerVrts = NULL);
129 Vertex** newCornerVrts = NULL);
133 Vertex** newVolumeVrts = NULL);
contains elements of type
Definition grid_objects_1d.h:279
This class is used to store constrained geometric objects.
Definition grid_objects_2d.h:562
Base-class for edges.
Definition grid_base_objects.h:397
Faces are 2-dimensional objects.
Definition grid_base_objects.h:510
Manages the elements of a grid and their interconnection.
Definition grid.h:132
Specialization of ug::HangingNodeRefiner for ug::Grid.
Definition hanging_node_refiner_grid.h:55
virtual void mark_local(Face *f, int localMark)
Marks a face or volume for local refinement.
Definition hanging_node_refiner_grid.cpp:138
AInt m_aLocalMark
Definition hanging_node_refiner_grid.h:150
virtual void process_constraining_edge(ConstrainingEdge *cge)
called to refine the specified element.
Definition hanging_node_refiner_grid.cpp:343
virtual Grid * get_associated_grid()
DEPRECIATED! Use grid(). Has to return the associated grid. Pure virtual.
Definition hanging_node_refiner_grid.h:70
Grid::FaceAttachmentAccessor< AVertex > m_aaVertexFACE
Definition hanging_node_refiner_grid.h:152
virtual void process_constraining_face(ConstrainingFace *cgf)
called to refine the specified element.
Definition hanging_node_refiner_grid.cpp:376
virtual void collect_objects_for_refine()
marks unmarked elements that have to be refined due to marked neighbors.
Definition hanging_node_refiner_grid.cpp:226
virtual bool local_marks_supported() const
returns true, if the refiner supports local marks.
Definition hanging_node_refiner_grid.h:89
virtual int get_local_mark(Face *f) const
returns the local mark of the specified face or volume.
Definition hanging_node_refiner_grid.cpp:167
virtual void num_marked_volumes_local(std::vector< int > &numMarkedVolsOut)
returns the number of (globally) marked volumes on this level of the hierarchy
Definition hanging_node_refiner_grid.cpp:209
virtual void post_refine()
erases unused refined elements
Definition hanging_node_refiner_grid.cpp:295
virtual bool adaptivity_supported() const
returns whether the refiner is able to perform adaptive refinement
Definition hanging_node_refiner_grid.h:73
virtual void set_center_vertex(Edge *e, Vertex *v)
Associates a vertex with the edge.
Definition hanging_node_refiner_grid.cpp:404
HangingNodeRefinerBase< Selector > BaseClass
Definition hanging_node_refiner_grid.h:57
AVertex m_aVertex
Definition hanging_node_refiner_grid.h:149
virtual void refine_face_with_normal_vertex(Face *f, Vertex **newCornerVrts=NULL)
called to refine the specified element.
Definition hanging_node_refiner_grid.cpp:365
virtual void num_marked_edges_local(std::vector< int > &numMarkedEdgesOut)
returns the number of (globally) marked edges on this level of the hierarchy
Definition hanging_node_refiner_grid.cpp:197
void set_grid(Grid *grid)
performs registration and deregistration at a grid.
Definition hanging_node_refiner_grid.cpp:80
virtual Grid * grid()
Returns the grid associated with the refiner.
Definition hanging_node_refiner_grid.h:71
virtual void num_marked_faces_local(std::vector< int > &numMarkedFacesOut)
returns the number of (globally) marked faces on this level of the hierarchy
Definition hanging_node_refiner_grid.cpp:203
virtual bool coarsening_supported() const
returns true, if the refiner supports coarsening.
Definition hanging_node_refiner_grid.h:74
virtual ~HangingNodeRefiner_Grid()
Definition hanging_node_refiner_grid.cpp:62
MultiElementAttachmentAccessor< AInt > m_aaLocalMark
Definition hanging_node_refiner_grid.h:153
virtual void refine_edge_with_normal_vertex(Edge *e, Vertex **newCornerVrts=NULL)
called to refine the specified element.
Definition hanging_node_refiner_grid.cpp:354
Grid::EdgeAttachmentAccessor< AVertex > m_aaVertexEDGE
Definition hanging_node_refiner_grid.h:151
Grid * m_pGrid
Definition hanging_node_refiner_grid.h:148
void attach_local_marks()
Definition hanging_node_refiner_grid.cpp:184
virtual void refine_volume_with_normal_vertex(Volume *v, Vertex **newVolumeVrts=NULL)
called to refine the specified element.
Definition hanging_node_refiner_grid.cpp:387
virtual void assign_grid(Grid &grid)
Definition hanging_node_refiner_grid.cpp:74
void num_marked_elems(std::vector< int > &numMarkedElemsOut)
Definition hanging_node_refiner_grid.cpp:217
virtual void grid_to_be_destroyed(Grid *grid)
Definition hanging_node_refiner_grid.cpp:68
virtual Vertex * get_center_vertex(Edge *e)
Returns the vertex associated with the edge.
Definition hanging_node_refiner_grid.cpp:397
virtual bool mark(Vertex *v, RefinementMark refMark=RM_REFINE)
Marks a vertex for refinement (ignores RM_COARSEN).
Definition hanging_node_refiner_grid.cpp:108
Base class for a hanging-node refiner.
Definition hanging_node_refiner_base.h:92
SPRefinementProjector projector()
Definition refiner_interface.h:78
Accesses attachements in different element types at the same time.
Definition attachment_util.h:56
specialization of ISelector for a grid of class Grid.
Definition selector_grid.h:96
Base-class for all vertex-types.
Definition grid_base_objects.h:231
Volumes are 3-dimensional objects.
Definition grid_base_objects.h:754
RefinementMark
refinement-marks allow to specify how an element shall be processed during refinement.
Definition refiner_interface.h:48
@ RM_REFINE
DEPRECATED. Use RM_FULL instead.
Definition refiner_interface.h:55
const NullSmartPtr SPNULL
The equivalent to NULL for smart pointers.
Definition smart_pointer.h:90