23 #ifndef vtkExtentRCBPartitioner_h 
   24 #define vtkExtentRCBPartitioner_h 
   26 #include "vtkCommonExecutionModelModule.h"  
   45     assert(
"pre: Number of partitions requested must be > 0" && (N >= 0));
 
   47     this->NumberOfPartitions = N;
 
   60     this->GlobalExtent[0] = imin;
 
   61     this->GlobalExtent[1] = imax;
 
   62     this->GlobalExtent[2] = jmin;
 
   63     this->GlobalExtent[3] = jmax;
 
   64     this->GlobalExtent[4] = kmin;
 
   65     this->GlobalExtent[5] = kmax;
 
   69     this->SetGlobalExtent(ext[0], ext[1], ext[2], ext[3], ext[4], ext[5]);
 
   86   vtkSetMacro(NumberOfGhostLayers, 
int);
 
   87   vtkGetMacro(NumberOfGhostLayers, 
int);
 
   94   vtkGetMacro(NumExtents, 
int);
 
  105   void GetPartitionExtent(
const int idx, 
int ext[6]);
 
  118     this->PartitionExtents.clear();
 
  119     this->NumExtents = 0;
 
  120     this->ExtentIsPartitioned = 
false;
 
  129   void ExtendGhostLayers(
int ext[6]);
 
  139     ext[minIdx] -= this->NumberOfGhostLayers;
 
  140     ext[maxIdx] += this->NumberOfGhostLayers;
 
  142       (ext[minIdx] < this->GlobalExtent[minIdx]) ? this->GlobalExtent[minIdx] : ext[minIdx];
 
  144       (ext[maxIdx] > this->GlobalExtent[maxIdx]) ? this->GlobalExtent[maxIdx] : ext[maxIdx];
 
  151   void AcquireDataDescription();
 
  156   void GetExtent(
const int idx, 
int ext[6]);
 
  161   void AddExtent(
int ext[6]);
 
  167   void ReplaceExtent(
const int idx, 
int ext[6]);
 
  172   void SplitExtent(
int parent[6], 
int s1[6], 
int s2[6], 
int splitDimension);
 
  178   int GetNumberOfTotalExtents();
 
  183   int GetNumberOfNodes(
int ext[6]);
 
  188   int GetNumberOfCells(
int ext[6]);
 
  193   int GetLongestDimensionLength(
int ext[6]);
 
  198   int GetLongestDimension(
int ext[6]);