1 #ifndef DUNE_DGF_INTERVALBLOCK_HH
2 #define DUNE_DGF_INTERVALBLOCK_HH
21 std::vector< double >
p[ 2 ];
22 std::vector< double >
h;
27 std::vector< Interval > intervals_;
34 void get ( std::vector< std::vector< double > > &vtx,
int &
nofvtx,
35 std::vector< std::vector< unsigned int > > &
simplex,
int &nofsimpl )
37 for(
size_t i = 0; i < intervals_.size(); ++i )
45 void get ( std::vector< std::vector< double > > &vtx,
int &
nofvtx )
47 for(
size_t i = 0; i < intervals_.size(); ++i )
53 return intervals_[ block ];
58 return intervals_.size();
66 int getVtx (
int block, std::vector< std::vector< double > > &vtx )
const;
67 int getHexa (
int block, std::vector< std::vector< unsigned int > > &cubes,
68 int offset = 0 )
const;
72 const Interval &interval =
get( block );
74 for(
int i = 0; i < dimw_; ++i )
75 n *= (interval.
n[ i ] + 1);
81 const Interval &interval =
get( block );
83 for(
int i = 0; i < dimw_; ++i )
90 void parseLine ( std::vector< T > &v );
98 if( interval.
p[ 0 ].empty() || interval.
p[ 1 ].empty() || interval.
n.empty() )
99 return out <<
"Interval {}";
101 out <<
"Interval { p0 = (" << interval.
p[ 0 ][ 0 ];
102 for(
size_t i = 1; i < interval.
p[ 0 ].size(); ++i )
103 out <<
", " << interval.
p[ 0 ][ i ];
104 out <<
"), p1 = (" << interval.
p[ 1 ][ 0 ];
105 for(
size_t i = 1; i < interval.
p[ 1 ].size(); ++i )
106 out <<
", " << interval.
p[ 1 ][ i ];
107 out <<
"), n = (" << interval.
n[ 0 ];
108 for(
size_t i = 1; i < interval.
n.size(); ++i )
109 out <<
", " << interval.
n[ i ];