33 #ifndef __H__LIBGRID__GRID_OBSERVERS__
34 #define __H__LIBGRID__GRID_OBSERVERS__
106 virtual void vertex_created(
Grid* grid,
Vertex* vrt,
109 bool replacesParent =
false) {}
113 bool replacesParent =
false) {}
117 bool replacesParent =
false) {}
121 bool replacesParent =
false) {}
138 Vertex* replacedBy = NULL) {}
141 Edge* replacedBy = NULL) {}
144 Face* replacedBy = NULL) {}
147 Volume* replacedBy = NULL) {}
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
The base class for all geometric objects, such as vertices, edges, faces, volumes,...
Definition: grid_base_objects.h:157
Definition: grid_observer.h:80
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.
Definition: grid_observer.h:137
virtual void elements_to_be_cleared(Grid *grid)
Definition: grid_observer.h:86
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.
Definition: grid_observer.h:168
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.
Definition: grid_observer.h:174
virtual void grid_to_be_destroyed(Grid *grid)
Definition: grid_observer.h:85
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.
Definition: grid_observer.h:119
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.
Definition: grid_observer.h:111
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.
Definition: grid_observer.h:115
virtual ~GridObserver()
Definition: grid_observer.h:82
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.
Definition: grid_observer.h:171
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.
Definition: grid_observer.h:165
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.
Definition: grid_observer.h:140
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.
Definition: grid_observer.h:143
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.
Definition: grid_observer.h:146
Base-class for all vertex-types.
Definition: grid_base_objects.h:231
Volumes are 3-dimensional objects.
Definition: grid_base_objects.h:754
#define UG_API
Definition: ug_config.h:65
size_t target(SM_edge< typename T::value_type > const &e, ug::BidirectionalMatrix< T > const &m)
Definition: bidirectional_boost.h:100
ObserverType
Definition: grid_observer.h:52
@ OT_VERTEX_OBSERVER
Definition: grid_observer.h:55
@ OT_VOLUME_OBSERVER
Definition: grid_observer.h:58
@ OT_FULL_OBSERVER
Definition: grid_observer.h:59
@ OT_FACE_OBSERVER
Definition: grid_observer.h:57
@ OT_EDGE_OBSERVER
Definition: grid_observer.h:56
@ OT_GRID_OBSERVER
Definition: grid_observer.h:54
@ OT_NONE
Definition: grid_observer.h:53