Go to the documentation of this file.
36 #ifndef vtkAMRResampleFilter_h
37 #define vtkAMRResampleFilter_h
39 #include "vtkFiltersAMRModule.h"
67 vtkSetVector3Macro(NumberOfSamples,
int);
68 vtkGetVector3Macro(NumberOfSamples,
int);
76 vtkGetMacro(TransferToNodes,
int);
85 vtkGetMacro(DemandDrivenMode,
int);
93 vtkGetMacro(NumberOfPartitions,
int);
100 vtkSetVector3Macro(Min,
double);
101 vtkGetVector3Macro(Min,
double);
108 vtkSetVector3Macro(Max,
double);
109 vtkGetVector3Macro(Max,
double);
117 vtkGetMacro(UseBiasVector,
bool);
126 vtkSetVector3Macro(BiasVector,
double);
127 vtkGetVector3Macro(BiasVector,
double);
167 int NumberOfSamples[3];
168 int GridNumberOfSamples[3];
179 double BiasVector[3];
244 unsigned int level,
unsigned int& gridId,
254 double q[3],
unsigned int &donorLevel,
unsigned int& donorGridId,
264 unsigned int &donorLevel,
unsigned int &donorGridId,
312 int N[3],
double min[3],
double max[3],
double h[3] );
319 double domainMin[3],
double domainMax[3],
double h[3],
320 int dims[3],
double &rf );
326 double domainMin[3],
double domainMax[3],
327 double regionMin[3],
double regionMax[3] );
334 const bool outside[6],
int N[3] );
342 const int N[3],
const double h0[3],
const double L[3],
const double rf);
351 const double h0[3],
const double domainMin[3],
const double domainMax[3],
352 const int dims[3],
bool outside[6] );
392 unsigned int maxLevel,
394 unsigned int &gridId,
404 unsigned int &gridId,
Encloses a rectangular region of voxel like cells.
bool GridsIntersect(double *g1, double *g2)
Checks if two uniform grids intersect.
vtkOverlappingAMR * AMRMetaData
void GetDomainParameters(vtkOverlappingAMR *amr, double domainMin[3], double domainMax[3], double h[3], int dims[3], double &rf)
This method accesses the domain boundaries.
virtual ~vtkAMRResampleFilter()
void TransferToGridNodes(vtkUniformGrid *g, vtkOverlappingAMR *amrds)
Transfer the solution from the AMR dataset to the nodes of the given uniform grid.
vtkMultiBlockDataSet * ROI
void TransferSolution(vtkUniformGrid *g, vtkOverlappingAMR *amrds)
Transfers the solution.
represent and manipulate point attribute data
bool IsRegionMine(const int regionIdx)
Given the Region ID this function returns whether or not the region belongs to this process or not.
int NumberOfTimesFoundOnDonorLevel
void AdjustNumberOfSamplesInRegion(const double Rh[3], const bool outside[6], int N[3])
This method adjust the numbers of samples in the region, N, if the requested region falls outside,...
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
int GetRegionProcessId(const int regionIdx)
Given the Region ID, this method computes the corresponding process ID that owns the region based on ...
Composite dataset that organizes datasets into blocks.
represent and manipulate fields of data
void InitializeFields(vtkFieldData *f, vtkIdType size, vtkCellData *src)
Given the source cell data of an AMR grid, this method initializes the field values,...
void ComputeAMRBlocksToLoad(vtkOverlappingAMR *metadata)
Given a user-supplied region of interest and the metadata by a module upstream, this method generates...
int NumberOfBlocksVisSkipped
void ComputeCellCentroid(vtkUniformGrid *g, const vtkIdType cellIdx, double c[3])
Given a cell index and a grid, this method computes the cell centroid.
void ComputeAndAdjustRegionParameters(vtkOverlappingAMR *amrds, double h[3])
This method computes and adjusts the region parameters s.t.
bool SearchGridAncestors(double q[3], vtkOverlappingAMR *amrds, unsigned int &level, unsigned int &gridId, int &id)
Find an ancestor of the specified grid that contains the point.
bool RegionIntersectsWithAMR(double domainMin[3], double domainMax[3], double regionMin[3], double regionMax[3])
Checks if the domain and requested region intersect.
vtkUniformGrid * GetReferenceGrid(vtkOverlappingAMR *amrds)
Returns a reference grid from the amrdataset.
void ExtractRegion(vtkOverlappingAMR *amrds, vtkMultiBlockDataSet *mbds, vtkOverlappingAMR *metadata)
Extract the region (as a multiblock) from the given AMR dataset.
Multiprocessing communication superclass.
void SearchGridDecendants(double q[3], vtkOverlappingAMR *amrds, unsigned int maxLevel, unsigned int &level, unsigned int &gridId, int &id)
Writes a uniform grid to a file.
void ComputeRegionParameters(vtkOverlappingAMR *amrds, int N[3], double min[3], double max[3], double h[3])
Computes the region parameters.
represent and manipulate cell attribute data
a simple class to control print indentation
bool IsBlockWithinBounds(double *grd)
Checks if the AMR block, described by a uniform grid, is within the bounds of the ROI perscribed by t...
void SnapBounds(const double h0[3], const double domainMin[3], const double domainMax[3], const int dims[3], bool outside[6])
This method snaps the bounds s.t.
void CopyData(vtkFieldData *target, vtkIdType targetIdx, vtkCellData *src, vtkIdType srcIdx)
Copies the data to the target from the given source.
bool SearchForDonorGridAtLevel(double q[3], vtkOverlappingAMR *amrds, unsigned int level, unsigned int &gridId, int &donorCellIdx)
Given a query point q and a target level, this method finds a suitable grid at the given level that c...
void PrintSelf(ostream &oss, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual int RequestInformation(vtkInformation *rqst, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Gets the metadata from upstream module and determines which blocks should be loaded by this instance.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
std::vector< int > BlocksToLoad
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Performs upstream requests to the reader.
hierarchical dataset of vtkUniformGrids
int NumberOfBlocksTestedForLevel
void GetRegion(double h[3])
This method gets the region of interest as perscribed by the user.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
bool IsParallel()
Checks if this filter instance is running on more than one processes.
vtkMultiProcessController * Controller
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
void TransferToCellCenters(vtkUniformGrid *g, vtkOverlappingAMR *amrds)
Transfers the solution from the AMR dataset to the cell-centers of the given uniform grid.
void ComputeLevelOfResolution(const int N[3], const double h0[3], const double L[3], const double rf)
This method computes the level of resolution based on the number of samples requested,...
bool FoundDonor(double q[3], vtkUniformGrid *&donorGrid, int &cellIdx)
Given a query point q and a candidate donor grid, this method checks for the corresponding donor cell...
int ProbeGridPointInAMR(double q[3], unsigned int &donorLevel, unsigned int &donorGridId, vtkOverlappingAMR *amrds, unsigned int maxLevel, bool useCached)
Finds the AMR grid that contains the point q.
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
This filter is a concrete instance of vtkMultiBlockDataSetAlgorithm and provides functionality for ex...
int NumberOfTimesLevelDown
int ProbeGridPointInAMRGraph(double q[3], unsigned int &donorLevel, unsigned int &donorGridId, vtkOverlappingAMR *amrds, unsigned int maxLevel, bool useCached)
Finds the AMR grid that contains the point q.
static vtkAMRResampleFilter * New()
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.