3 #ifndef DUNE_ALUGRID_LBDATAHANDLE_HH
4 #define DUNE_ALUGRID_LBDATAHANDLE_HH
13 template<
class Gr
id,
class DataHandleImpl,
class Data >
16 typedef typename Grid :: Traits :: HierarchicIterator HierarchicIterator;
42 dataHandle_( dataHandle )
47 inlineElementData( stream, element );
49 const int maxLevel = grid_.
maxLevel();
50 const HierarchicIterator end = element.hend( maxLevel );
51 for( HierarchicIterator it = element.hbegin( maxLevel ); it != end; ++it )
52 inlineElementData( stream, *it );
57 xtractElementData( stream, element );
59 const int maxLevel = grid_.
maxLevel();
60 const HierarchicIterator end = element.hend( maxLevel );
61 for( HierarchicIterator it = element.hbegin( maxLevel ); it != end; ++it )
62 xtractElementData( stream, *it );
74 inlineEntityData<0>( stream, element );
78 inlineCodimData< 1 >( stream, element );
79 inlineCodimData< 2 >( stream, element );
80 inlineCodimData< 3 >( stream, element );
88 xtractEntityData<0>( stream, element );
92 xtractCodimData< 1 >( stream, element );
93 xtractCodimData< 2 >( stream, element );
94 xtractCodimData< 3 >( stream, element );
100 typedef typename Codim< codim > :: EntityPointer EntityPointer;
104 const int numSubEntities = element.template count< codim >();
105 for(
int i = 0; i < numSubEntities; ++i )
107 const EntityPointer pEntity = element.template subEntity< codim >( i );
108 inlineEntityData< codim >( stream, *pEntity );
113 template<
int codim >
116 typedef typename Codim< codim > :: EntityPointer EntityPointer;
120 const int numSubEntities = element.template count< codim >();
121 for(
int i = 0; i < numSubEntities; ++i )
123 const EntityPointer pEntity = element.template subEntity< codim >( i );
124 xtractEntityData< codim >( stream, *pEntity );
129 template<
int codim >
131 const typename Codim< codim > :: Entity &entity )
const
133 const size_t size = dataHandle_.
size( entity );
134 stream.write( size );
135 dataHandle_.
gather( stream, entity );
138 template<
int codim >
140 const typename Codim< codim > :: Entity &entity )
144 dataHandle_.
scatter( stream, entity, size );