27#ifndef vtkAMRSliceFilter_h
28#define vtkAMRSliceFilter_h
30#include "vtkFiltersAMRModule.h"
53 vtkGetMacro(OffSetFromOrigin,
double);
60 vtkGetMacro( ForwardUpstream,
int );
69 vtkGetMacro( EnablePrefetching,
int );
78 vtkGetMacro(MaxResolution,
int);
Encloses a rectangular region of voxel like cells.
A concrete instance of vtkOverlappingAMRAlgorithm which implements functionality for extracting slice...
bool IsAMRData2D(vtkOverlappingAMR *input)
A utility function that checks if the input AMR data is 2-D.
void ComputeCellCenter(vtkUniformGrid *ug, const int cellIdx, double centroid[3])
Computes the cell center of the cell corresponding to the supplied cell index w.r....
void ComputeAMRBlocksToLoad(vtkPlane *p, vtkOverlappingAMR *metadata)
Given the cut-plane and the metadata provided by a module upstream, this method generates the list of...
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
void GetSliceCellData(vtkUniformGrid *slice, vtkUniformGrid *grid3D)
Copies the cell data for the cells in the slice from the 3-D grid.
vtkMultiProcessController * Controller
void InitializeOffSet(vtkOverlappingAMR *inp, double *min, double *max)
Initializes the off-set to be at the center of the input data-set.
std::vector< int > BlocksToLoad
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkPlane * GetCutPlane(vtkOverlappingAMR *input)
Returns the axis-aligned cut plane.
static vtkAMRSliceFilter * New()
virtual int RequestInformation(vtkInformation *rqst, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Makes upstream request to a source, typically, a concrete instance of vtkAMRBaseReader,...
bool PlaneIntersectsAMRBox(double plane[4], double bounds[6])
Determines if a plane intersects with an AMR box.
int GetDonorCellIdx(double x[3], vtkUniformGrid *ug)
Returns the cell index w.r.t.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Performs upstream requests to the reader.
void GetAMRSliceInPlane(vtkPlane *p, vtkOverlappingAMR *inp, vtkOverlappingAMR *out)
Extracts a 2-D AMR slice from the dataset.
virtual int FillOutputPortInformation(int port, vtkInformation *info)
See algorithm for more info.
vtkUniformGrid * GetSlice(double origin[3], int *dims, double *gorigin, double *spacing)
Gets the slice from the given grid given the plane origin & the user-supplied normal associated with ...
a simple class to control print indentation
Multiprocessing communication superclass.
A base class for all algorithms that take as input vtkOverlappingAMR and produce vtkOverlappingAMR.
hierarchical dataset of vtkUniformGrids
perform various plane computations
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.