~ubuntu-branches/ubuntu/utopic/dune-grid/utopic-proposed

« back to all changes in this revision

Viewing changes to dune/grid/io/file/dgfparser/blocks/interval.cc

  • Committer: Package Import Robot
  • Author(s): Ansgar Burchardt
  • Date: 2014-02-14 10:49:16 UTC
  • mfrom: (1.3.1) (5.1.4 experimental)
  • Revision ID: package-import@ubuntu.com-20140214104916-2clchnny3eu7ks4w
Tags: 2.3.0-2
InstallĀ /usr/share/dune-grid.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 
2
// vi: set et ts=4 sw=2 sts=2:
1
3
#include <config.h>
2
4
 
3
5
#include <dune/grid/io/file/dgfparser/blocks/interval.hh>
12
14
    // -------------
13
15
 
14
16
    IntervalBlock::IntervalBlock ( std::istream &in )
15
 
    : BasicBlock( in, "Interval" ),
16
 
      intervals_( 0 ),
17
 
      good_( false ),
18
 
      dimw_( 0 )
 
17
      : BasicBlock( in, "Interval" ),
 
18
        intervals_( 0 ),
 
19
        good_( false ),
 
20
        dimw_( 0 )
19
21
    {
20
22
      if( !isactive() )
21
23
        return;
22
24
 
23
25
      getnextline();
24
 
      for( double x; getnextentry( x ); ++dimw_ );
 
26
      for( double x; getnextentry( x ); ++dimw_ ) ;
25
27
      if( dimw_ == 0 )
26
28
      {
27
29
        DUNE_THROW( DGFException,
29
31
      }
30
32
 
31
33
      reset();
32
 
      while( next() );
 
34
      while( next() ) ;
33
35
    }
34
36
 
35
37
 
61
63
        ++m;
62
64
 
63
65
        // increase i[ k ] and go up for all finished loops
64
 
        for( ; (++i[ k ] > interval.n[ k ]) && (k < end); ++k );
 
66
        for( ; (++i[ k ] > interval.n[ k ]) && (k < end); ++k ) ;
65
67
      }
66
68
      assert( m == vtx.size() );
67
69
 
68
70
      dverb << "[done]" << std::endl;
69
71
      return m - old_size;;
70
72
    }
71
 
    
 
73
 
72
74
 
73
75
    int IntervalBlock::getHexa ( int block, std::vector< std::vector< unsigned int > > &cubes, int offset ) const
74
76
    {
83
85
      for( size_t i = old_size; i < cubes.size(); ++i )
84
86
        cubes[ i ].resize( verticesPerCube );
85
87
 
86
 
      size_t m = old_size;  
 
88
      size_t m = old_size;
87
89
      std::vector< int > i( dimw() );
88
90
      const int end = dimw()-1;
89
91
      int k = end;
107
109
        ++m;
108
110
 
109
111
        // increase i[ k ] and go up for all finished loops
110
 
        for( ; (++i[ k ] >= interval.n[ k ]) && (k < end); ++k );
 
112
        for( ; (++i[ k ] >= interval.n[ k ]) && (k < end); ++k ) ;
111
113
      }
112
114
      assert( m == cubes.size() );
113
115
 
171
173
  } // end namespace dgf
172
174
 
173
175
} // end namespace Dune
174