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] );
78 vtkGetMacro(DuplicateNodes,
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] );
138 int ext[6],
const int minIdx,
const int maxIdx )
140 ext[minIdx]-=this->NumberOfGhostLayers;
141 ext[maxIdx]+=this->NumberOfGhostLayers;
142 ext[minIdx] = (ext[minIdx] < this->GlobalExtent[minIdx])?
143 this->GlobalExtent[minIdx] : ext[minIdx];
144 ext[maxIdx] = (ext[maxIdx] > this->GlobalExtent[maxIdx])?
145 this->GlobalExtent[maxIdx] : ext[maxIdx];
152 void AcquireDataDescription();
157 void GetExtent(
const int idx,
int ext[6] );
162 void AddExtent(
int ext[6]);
168 void ReplaceExtent(
const int idx,
int ext[6]);
173 void SplitExtent(
int parent[6],
int s1[6],
int s2[6],
int splitDimension);
179 int GetNumberOfTotalExtents();
184 int GetNumberOfNodes(
int ext[6] );
189 int GetNumberOfCells(
int ext[6] );
194 int GetLongestDimensionLength(
int ext[6] );
199 int GetLongestDimension(
int ext[6] );
void SetGlobalExtent(int imin, int imax, int jmin, int jmax, int kmin, int kmax)
Set/Get the global extent array to be partitioned.
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetGlobalExtent(int ext[6])
Set/Get the global extent array to be partitioned.
This method partitions a global extent to N partitions where N is a user supplied parameter...
void GetGhostedExtent(int ext[6], const int minIdx, const int maxIdx)
Givent an extent and the min/max of the dimension we are looking at, this method will produce a ghost...
a simple class to control print indentation
void SetNumberOfPartitions(const int N)
Set/Get the number of requested partitions.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
std::vector< int > PartitionExtents
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...