3#ifndef DUNE_ALBERTA_MACROELEMENT_HH
4#define DUNE_ALBERTA_MACROELEMENT_HH
6#include <dune/grid/albertagrid/misc.hh>
21 :
public ALBERTA MACRO_EL
23 const GlobalVector &coordinate (
const int vertex )
const;
25 int boundaryId (
const int face )
const;
26 bool isBoundary (
const int face )
const;
27 const MacroElement< dim > *neighbor (
const int face )
const;
31#if DUNE_ALBERTA_VERSION >= 0x300
33 inline const GlobalVector &MacroElement< dim >::coordinate (
const int vertex )
const
35 assert( (vertex >= 0) && (vertex < N_VERTICES_MAX) );
36 return *coord[ vertex ];
41#if DUNE_ALBERTA_VERSION < 0x300
43 inline const GlobalVector &MacroElement< dim >::coordinate (
const int vertex )
const
45 assert( (vertex >= 0) && (vertex < N_VERTICES_MAX) );
46 return *((
const GlobalVector *)coord[ vertex ]);
52 inline bool MacroElement< dim >::isBoundary (
const int face )
const
54 return (boundaryId( face ) != InteriorBoundary);
58#if DUNE_ALBERTA_VERSION >= 0x300
60 inline int MacroElement< dim >::boundaryId (
const int face )
const
62 return wall_bound[ face ];
66#if DUNE_ALBERTA_VERSION < 0x300
68 inline int MacroElement< dim >::boundaryId (
const int face )
const
73 assert( (face >= 0) && (face < N_VERTICES_MAX) );
74 return vertex_bound[ face ];
76 assert( (face >= 0) && (face < N_EDGES_MAX) );
77 return edge_bound[ face ];
79 assert( (face >= 0) && (face < N_FACES_MAX) );
80 return face_bound[ face ];
87 const MacroElement< dim > *MacroElement< dim >::neighbor (
const int face )
const
89 assert( (face >= 0) && (face < N_NEIGH_MAX) );
90 return static_cast< const MacroElement *
>( neigh[ face ] );
Dune namespace.
Definition: alignment.hh:14