3#ifndef DUNE_ALU2D_BNDPROJECTION_HH
4#define DUNE_ALU2D_BNDPROJECTION_HH
6#include <dune/grid/alugrid/common/bndprojection.hh>
8#include <dune/grid/alugrid/2d/alu2dinclude.hh>
13 template<
class Gr
id >
14 class ALU2dGridBoundaryProjection
15 :
public ALU2DSPACE VtxProjection ALU2DDIMWORLD(Grid::dimensionworld,Grid::elementType)
20 enum { ncoord = Base::ncoord };
22 typedef typename Base::hbndel_t hbndel_t;
23 typedef typename Base::helement_t helement_t;
25 typedef typename Grid::DuneBoundaryProjectionType DuneBoundaryProjectionType;
27 typedef typename DuneBoundaryProjectionType::CoordinateType CoordinateType;
29 explicit ALU2dGridBoundaryProjection (
const Grid &grid )
33 int operator() (
const hbndel_t *hbndel,
const double local,
double (&global)[ ncoord ] )
const
35 return callProjection( grid_.boundaryProjection( hbndel->segmentIndex() ), global );
38 int operator() (
const helement_t *helement,
const double (&local)[ 2 ],
double (&global)[ ncoord ] )
const
40 return callProjection( grid_.globalProjection(), global );
44 static int callProjection (
const DuneBoundaryProjectionType *prj,
double (&global)[ ncoord ] )
49 for(
int i = 0; i < ncoord; ++i )
52 for(
int i = 0; i < ncoord; ++i )
@ dimensionworld
The dimension of the world the grid lives in.
Definition: grid.hh:408
Dune namespace.
Definition: alignment.hh:10