5 #ifndef DUNE_ALBERTA_NODEPROJECTION_HH 6 #define DUNE_ALBERTA_NODEPROJECTION_HH 26 template<
class Proj,
class Impl >
78 template<
class Proj,
class Impl >
97 This &operator= (
const This &other );
102 return asImpl().hasProjection( elementInfo, face );
107 return asImpl().hasProjection( elementInfo );
112 return asImpl().projection( elementInfo, face );
117 return asImpl().projection( elementInfo );
123 return static_cast< const Impl &
>( *this );
132 template<
class Proj,
class Impl >
133 class ProjectionFactory
134 :
public ProjectionFactoryInterface< Proj, Impl >
136 typedef ProjectionFactory< Proj, Impl > This;
137 typedef ProjectionFactoryInterface< Proj, Impl > Base;
148 bool hasProjection (
const ElementInfo &elementInfo,
const int face )
const;
149 bool hasProjection (
const ElementInfo &elementInfo )
const;
162 :
public ProjectionFactory< DuneBoundaryProjection< dim >, DuneGlobalBoundaryProjectionFactory< dim > >
207 :
public ALBERTA NODE_PROJECTION
220 return boundaryIndex_;
224 unsigned int boundaryIndex_;
232 template<
int dim,
class Projection >
245 Projection projection_;
250 projection_( projection )
263 const This *nodeProjection =
static_cast< const This *
>( info->active_projection );
265 assert( nodeProjection != NULL );
266 nodeProjection->projection_( elementInfo, local, global );
274 #endif // #if HAVE_ALBERTA 276 #endif // #ifndef DUNE_ALBERTA_NODEPROJECTION_HH Definition: albertagrid/projection.hh:161
static const int dimension
Definition: albertagrid/projection.hh:40
Definition: albertagrid/projection.hh:27
bool hasProjection(const ElementInfo &elementInfo, const int face) const
Definition: albertagrid/projection.hh:100
Projection projection(const ElementInfo &elementInfo, const int face) const
Definition: albertagrid/projection.hh:110
std::shared_ptr< const Projection > ProjectionPtr
Definition: albertagrid/projection.hh:46
Definition: albertagrid/projection.hh:233
const Impl & asImpl() const
Definition: albertagrid/projection.hh:121
FieldVector< Real, dimWorld > GlobalCoordinate
Definition: albertagrid/projection.hh:43
ALBERTA REAL_B LocalVector
Definition: misc.hh:49
provides a wrapper for ALBERTA's el_info structure
void operator()(const ElementInfo &, const LocalVector, GlobalVector global) const
Definition: albertagrid/projection.hh:53
unsigned int boundaryIndex() const
Definition: albertagrid/projection.hh:218
static const int dimension
Definition: albertagrid/projection.hh:88
ALBERTA REAL_D GlobalVector
Definition: misc.hh:50
static ElementInfo createFake(const MeshPointer &mesh, const Element *element, int level, int type=0)
Definition: elementinfo.hh:752
NodeProjection(unsigned int boundaryIndex, const Projection &projection)
Definition: albertagrid/projection.hh:248
Proj Projection
Definition: albertagrid/projection.hh:86
Base::Projection Projection
Definition: albertagrid/projection.hh:168
Base::ElementInfo ElementInfo
Definition: albertagrid/projection.hh:141
Alberta::ElementInfo< dimension > ElementInfo
Definition: albertagrid/projection.hh:242
ProjectionFactory()
Definition: albertagrid/projection.hh:144
Projection projection(const ElementInfo &elementInfo) const
Definition: albertagrid/projection.hh:192
#define ALBERTA
Definition: albertaheader.hh:29
bool hasProjection(const ElementInfo &elementInfo) const
Definition: albertagrid/projection.hh:182
virtual ~BasicNodeProjection()
Definition: albertagrid/projection.hh:215
BasicNodeProjection(unsigned int boundaryIndex)
Definition: albertagrid/projection.hh:209
const Projection & projection() const
Definition: albertagrid/projection.hh:64
Projection::ProjectionPtr DuneProjectionPtr
Definition: albertagrid/projection.hh:171
Definition: albertagrid/projection.hh:79
Include standard header files.
Definition: agrid.hh:59
bool hasProjection(const ElementInfo &elementInfo) const
Definition: albertagrid/projection.hh:105
Dune::DuneBoundaryProjection< dimWorld > Projection
Definition: albertagrid/projection.hh:45
Projection projection(const ElementInfo &elementInfo, const int face) const
Definition: albertagrid/projection.hh:187
bool hasProjection(const ElementInfo &elementInfo, const int face) const
Definition: albertagrid/projection.hh:177
DuneBoundaryProjection(const ProjectionPtr &projection)
Definition: albertagrid/projection.hh:48
Base::ElementInfo ElementInfo
Definition: albertagrid/projection.hh:169
Alberta::ElementInfo< dimension > ElementInfo
Definition: albertagrid/projection.hh:42
Alberta::ElementInfo< dimension > ElementInfo
Definition: albertagrid/projection.hh:90
Base::Projection Projection
Definition: albertagrid/projection.hh:140
Interface class for vertex projection at the boundary.
Definition: boundaryprojection.hh:25
Definition: albertagrid/projection.hh:206
Projection projection(const ElementInfo &elementInfo) const
Definition: albertagrid/projection.hh:115
Definition: albertagrid/projection.hh:35
static const int dimension
Definition: albertagrid/projection.hh:240
DuneGlobalBoundaryProjectionFactory(const DuneProjectionPtr &projection)
Definition: albertagrid/projection.hh:173
static const int dimWorld
Definition: misc.hh:46