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
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
HangingNodeRefiner_Grid(SPRefinementProjector projector=SPNULL)
Definition: hanging_node_refiner_grid.cpp:43
virtual Grid * get_associated_grid()
DEPRECIATED! Use grid(). Has to return the associated grid. Pure virtual.
Definition: hanging_node_refiner_grid.h:70
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
Base class for a hanging-node refiner.
Definition: hanging_node_refiner_base.h:92
virtual bool mark(Vertex *v, RefinementMark refMark=RM_REFINE)
Marks an element for refinement. Default implementation is empty.
Definition: refiner_interface.h:103
SPRefinementProjector projector()
Definition: refiner_interface.h:78
Accesses attachements in different element types at the same time.
Definition: attachment_util.h:56
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