/[svn]/gigedit/trunk/src/dimregionchooser.cpp
ViewVC logotype

Diff of /gigedit/trunk/src/dimregionchooser.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1092 by persson, Sun Mar 11 15:21:58 2007 UTC revision 1103 by persson, Sun Mar 18 07:26:43 2007 UTC
# Line 246  void DimRegionChooser::set_region(gig::R Line 246  void DimRegionChooser::set_region(gig::R
246      dimregno = 0;      dimregno = 0;
247      int bitcount = 0;      int bitcount = 0;
248      nbDimensions = 0;      nbDimensions = 0;
249      for (int dim = 0 ; dim < region->Dimensions ; dim++) {      if (region) {
250          if (region->pDimensionDefinitions[dim].bits == 0) continue;          for (int dim = 0 ; dim < region->Dimensions ; dim++) {
251          nbDimensions++;              if (region->pDimensionDefinitions[dim].bits == 0) continue;
252                nbDimensions++;
253    
254          int from = dimvalue_from[region->pDimensionDefinitions[dim].dimension];              int from = dimvalue_from[region->pDimensionDefinitions[dim].dimension];
255          int to = dimvalue_to[region->pDimensionDefinitions[dim].dimension];              int to = dimvalue_to[region->pDimensionDefinitions[dim].dimension];
256          int z;              int z;
257          switch (region->pDimensionDefinitions[dim].split_type) {              switch (region->pDimensionDefinitions[dim].split_type) {
258          case gig::split_type_normal:              case gig::split_type_normal:
259              z = int((to + from) / 2.0 / region->pDimensionDefinitions[dim].zone_size);                  z = int((to + from) / 2.0 / region->pDimensionDefinitions[dim].zone_size);
260              break;                  break;
261          case gig::split_type_bit:              case gig::split_type_bit:
262              z = std::min(from, region->pDimensionDefinitions[dim].zones - 1);                  z = std::min(from, region->pDimensionDefinitions[dim].zones - 1);
263              break;                  break;
264                }
265                int mask =
266                    ~(((1 << region->pDimensionDefinitions[dim].bits) - 1) <<
267                      bitcount);
268                dimregno &= mask;
269                dimregno |= (z << bitcount);
270                bitcount += region->pDimensionDefinitions[dim].bits;
271          }          }
272          int mask =          dimreg = region->pDimensionRegions[dimregno];
             ~(((1 << region->pDimensionDefinitions[dim].bits) - 1) <<  
               bitcount);  
         dimregno &= mask;  
         dimregno |= (z << bitcount);  
         bitcount += region->pDimensionDefinitions[dim].bits;  
273      }      }
     dimreg = region->pDimensionRegions[dimregno];  
274      sel_changed_signal.emit();      sel_changed_signal.emit();
275      queue_resize();      queue_resize();
276  }  }

Legend:
Removed from v.1092  
changed lines
  Added in v.1103

  ViewVC Help
Powered by ViewVC