33 #ifndef vtkAMRResampleFilter_h
34 #define vtkAMRResampleFilter_h
36 #include "vtkFiltersAMRModule.h"
64 vtkSetVector3Macro(NumberOfSamples,
int);
65 vtkGetVector3Macro(NumberOfSamples,
int);
73 vtkGetMacro(TransferToNodes,
int);
82 vtkGetMacro(DemandDrivenMode,
int);
90 vtkGetMacro(NumberOfPartitions,
int);
97 vtkSetVector3Macro(Min,
double);
98 vtkGetVector3Macro(Min,
double);
105 vtkSetVector3Macro(Max,
double);
106 vtkGetVector3Macro(Max,
double);
114 vtkGetMacro(UseBiasVector,
bool);
123 vtkSetVector3Macro(BiasVector,
double);
124 vtkGetVector3Macro(BiasVector,
double);
154 int RequestUpdateExtent(
160 ~vtkAMRResampleFilter() VTK_OVERRIDE;
164 int NumberOfSamples[3];
165 int GridNumberOfSamples[3];
170 int LevelOfResolution;
171 int NumberOfPartitions;
173 int DemandDrivenMode;
176 double BiasVector[3];
179 int NumberOfBlocksTestedForLevel;
180 int NumberOfBlocksTested;
181 int NumberOfBlocksVisSkipped;
182 int NumberOfTimesFoundOnDonorLevel;
183 int NumberOfTimesLevelUp;
184 int NumberOfTimesLevelDown;
185 int NumberOfFailedPoints;
199 bool IsRegionMine( const
int regionIdx );
205 int GetRegionProcessId( const
int regionIdx );
210 void ComputeCellCentroid(
231 bool FoundDonor(
double q[3],
vtkUniformGrid *&donorGrid,
int &cellIdx);
239 bool SearchForDonorGridAtLevel(
241 unsigned int level,
unsigned int& gridId,
250 int ProbeGridPointInAMR(
251 double q[3],
unsigned int &donorLevel,
unsigned int& donorGridId,
260 int ProbeGridPointInAMRGraph(
double q[3],
261 unsigned int &donorLevel,
unsigned int &donorGridId,
268 void TransferToCellCenters(
275 void TransferToGridNodes(
281 void TransferSolution(
295 bool IsBlockWithinBounds(
double *grd );
307 void ComputeRegionParameters(
309 int N[3],
double min[3],
double max[3],
double h[3] );
314 void GetDomainParameters(
316 double domainMin[3],
double domainMax[3],
double h[3],
317 int dims[3],
double &rf );
322 bool RegionIntersectsWithAMR(
323 double domainMin[3],
double domainMax[3],
324 double regionMin[3],
double regionMax[3] );
330 void AdjustNumberOfSamplesInRegion(const
double Rh[3],
331 const
bool outside[6],
int N[3] );
338 void ComputeLevelOfResolution(
339 const
int N[3], const
double h0[3], const
double L[3], const
double rf);
348 const
double h0[3], const
double domainMin[3], const
double domainMax[3],
349 const
int dims[3],
bool outside[6] );
356 void ComputeAndAdjustRegionParameters(
362 void GetRegion(
double h[3] );
367 bool GridsIntersect(
double *g1,
double *g2 );
387 void SearchGridDecendants(
double q[3],
389 unsigned int maxLevel,
391 unsigned int &gridId,
398 bool SearchGridAncestors(
double q[3],
401 unsigned int &gridId,
406 vtkAMRResampleFilter(const vtkAMRResampleFilter&) VTK_DELETE_FUNCTION;
407 void operator=(const vtkAMRResampleFilter&) VTK_DELETE_FUNCTION;
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
represent and manipulate point attribute data
Encloses a rectangular region of voxel like cells.
represent and manipulate cell attribute data
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
static vtkMultiBlockDataSetAlgorithm * New()
This filter is a concrete instance of vtkMultiBlockDataSetAlgorithm and provides functionality for ex...
a simple class to control print indentation
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Composite dataset that organizes datasets into blocks.
hierarchical dataset of vtkUniformGrids
represent and manipulate fields of data
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Multiprocessing communication superclass.