12#ifndef vtkExtentRCBPartitioner_h 
   13#define vtkExtentRCBPartitioner_h 
   15#include "vtkCommonExecutionModelModule.h"  
   21VTK_ABI_NAMESPACE_BEGIN
 
   35    assert(
"pre: Number of partitions requested must be > 0" && (N >= 0));
 
   37    this->NumberOfPartitions = N;
 
   50    this->GlobalExtent[0] = imin;
 
   51    this->GlobalExtent[1] = imax;
 
   52    this->GlobalExtent[2] = jmin;
 
   53    this->GlobalExtent[3] = jmax;
 
   54    this->GlobalExtent[4] = kmin;
 
   55    this->GlobalExtent[5] = kmax;
 
   59    this->SetGlobalExtent(ext[0], ext[1], ext[2], ext[3], ext[4], ext[5]);
 
   76  vtkSetMacro(NumberOfGhostLayers, 
int);
 
   77  vtkGetMacro(NumberOfGhostLayers, 
int);
 
   84  vtkGetMacro(NumExtents, 
int);
 
  108    this->PartitionExtents.clear();
 
  109    this->NumExtents = 0;
 
  110    this->ExtentIsPartitioned = 
false;
 
  129    ext[minIdx] -= this->NumberOfGhostLayers;
 
  130    ext[maxIdx] += this->NumberOfGhostLayers;
 
  132      (ext[minIdx] < this->GlobalExtent[minIdx]) ? this->GlobalExtent[minIdx] : ext[minIdx];
 
  134      (ext[maxIdx] > this->GlobalExtent[maxIdx]) ? this->GlobalExtent[maxIdx] : ext[maxIdx];
 
  162  void SplitExtent(
int parent[6], 
int s1[6], 
int s2[6], 
int splitDimension);
 
This method partitions a global extent to N partitions where N is a user supplied parameter.
 
int GetNumberOfCells(int ext[6])
Computes the total number of cells for the given structured grid extent.
 
void PrintSelf(ostream &oss, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
void GetGhostedExtent(int ext[6], int minIdx, int maxIdx)
Givent an extent and the min/max of the dimension we are looking at, this method will produce a ghost...
 
void GetPartitionExtent(int idx, int ext[6])
Returns the extent of the partition corresponding to the given ID.
 
int GetNumberOfTotalExtents()
Returns the total number of extents.
 
~vtkExtentRCBPartitioner() override
 
void PrintExtent(const std::string &name, int ext[6])
A convenience method for debugging purposes.
 
void SetGlobalExtent(int imin, int imax, int jmin, int jmax, int kmin, int kmax)
Set/Get the global extent array to be partitioned.
 
void SplitExtent(int parent[6], int s1[6], int s2[6], int splitDimension)
Splits the extent along the given dimension.
 
int GetNumberOfNodes(int ext[6])
Computes the total number of nodes for the given structured grid extent.
 
void Partition()
Partitions the extent.
 
vtkExtentRCBPartitioner()
 
std::vector< int > PartitionExtents
 
void Reset()
Resets the partitioner to the initial state, all previous partition extents are cleared.
 
void SetNumberOfPartitions(int N)
Set/Get the number of requested partitions.
 
static vtkExtentRCBPartitioner * New()
 
vtkTypeBool DuplicateNodes
 
int GetLongestDimensionLength(int ext[6])
Returns the length of the longest dimension.
 
void AddExtent(int ext[6])
Adds the extent to the end of the list of partitioned extents.
 
void SetGlobalExtent(int ext[6])
Set/Get the global extent array to be partitioned.
 
void AcquireDataDescription()
Gets the structured data-description based on the givenn global extent.
 
void ReplaceExtent(int idx, int ext[6])
Replaces the extent at the position indicated by idx with the provided extent.
 
void GetExtent(int idx, int ext[6])
Returns the extent at the position corresponding to idx.
 
int GetLongestDimension(int ext[6])
Returns the longest edge.
 
void ExtendGhostLayers(int ext[6])
Given an extent, this method will create ghost layers on each side of the boundary in each dimension.
 
a simple class to control print indentation
 
abstract base class for most VTK objects