33 #ifndef __H__UG_refinement_projector
34 #define __H__UG_refinement_projector
110 "Please set a valid geometry to RefinementProjectors "
111 "before using them during refinement.");
113 "subgrid required in 'RefinementProjector::refinement_begins' "
114 "but not provided.");
168 template <
class TElem>
176 template <
class Archive>
177 void serialize( Archive& ar,
const unsigned int version)
bool invalid() const
returns true if the pointer is invalid, false if not.
Definition: smart_pointer.h:212
callback that always returns true
Definition: basic_callbacks.h:50
Base-class for edges.
Definition: grid_base_objects.h:397
Faces are 2-dimensional objects.
Definition: grid_base_objects.h:510
provides a grid and access to the coordinates of the vertices
Definition: geometry.h:63
Instances represent a part of a grid.
Definition: sub_grid.h:44
Adjusts vertex coordinates during refinement.
Definition: refinement_projector.h:55
virtual ~RefinementProjector()
Definition: refinement_projector.h:74
RefinementProjector()
Definition: refinement_projector.h:57
RefinementProjector(SPIGeometry3d geometry, SPElementCallback concernedElems)
Definition: refinement_projector.h:68
SPIGeometry3d m_geometry
Definition: refinement_projector.h:181
void set_pos(Vertex *v, const vector3 &p)
Definition: refinement_projector.h:157
virtual void set_concerned_elements(SPElementCallback cb)
Definition: refinement_projector.h:84
bool is_concerned(TElem *e)
Definition: refinement_projector.h:169
IGeometry3d & geom()
Definition: refinement_projector.h:165
virtual bool refinement_begins_requires_subgrid() const
Definition: refinement_projector.h:95
virtual number new_vertex(Vertex *vrt, Face *parent)
called when a new vertex was created from an old face.
Definition: refinement_projector.h:135
virtual number new_vertex(Vertex *vrt, Vertex *parent)
called when a new vertex was created from an old vertex.
Definition: refinement_projector.h:121
virtual number new_vertex(Vertex *vrt, Volume *parent)
called when a new vertex was created from an old volume.
Definition: refinement_projector.h:142
RefinementProjector(SPIGeometry3d geometry)
Definition: refinement_projector.h:59
virtual void refinement_begins(const ISubGrid *sg)
called before refinement begins
Definition: refinement_projector.h:107
virtual void set_geometry(SPIGeometry3d geometry)
Definition: refinement_projector.h:76
vector3 pos(Vertex *v) const
Definition: refinement_projector.h:149
SPElementCallback m_concernedElementsCallback
Definition: refinement_projector.h:182
friend class boost::serialization::access
Definition: refinement_projector.h:174
const IGeometry3d & geom() const
Definition: refinement_projector.h:166
virtual void refinement_ends()
called when refinement is done
Definition: refinement_projector.h:118
virtual SPIGeometry3d geometry() const
Definition: refinement_projector.h:81
RefinementProjector(SPElementCallback cb)
Definition: refinement_projector.h:64
virtual number new_vertex(Vertex *vrt, Edge *parent)
called when a new vertex was created from an old edge.
Definition: refinement_projector.h:128
void serialize(Archive &ar, const unsigned int version)
Definition: refinement_projector.h:177
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_COND_THROW(cond, msg)
UG_COND_THROW(cond, msg) : performs a UG_THROW(msg) if cond == true.
Definition: error.h:61
double number
Definition: types.h:124
SmartPtr< RefinementProjector > SPRefinementProjector
Definition: refinement_projector.h:185
SmartPtr< T, FreePolicy > make_sp(T *inst)
returns a SmartPtr for the passed raw pointer
Definition: smart_pointer.h:836
function ProblemDisc new(problemDesc, dom)