15#ifndef vtkAMRCutPlane_h
16#define vtkAMRCutPlane_h
19#include "vtkFiltersAMRModule.h"
25VTK_ABI_NAMESPACE_BEGIN
52 vtkSetVector3Macro(Center,
double);
59 vtkSetVector3Macro(Normal,
double);
66 vtkSetMacro(LevelOfResolution,
int);
67 vtkGetMacro(LevelOfResolution,
int);
76 vtkSetMacro(UseNativeCutter,
bool);
77 vtkGetMacro(UseNativeCutter,
bool);
78 vtkBooleanMacro(UseNativeCutter,
bool);
111 vtkSetMacro(InitialRequest,
bool);
185 int LevelOfResolution;
189 bool UseNativeCutter;
192 std::vector<
int> BlocksToLoad;
A concrete instance of vtkMultiBlockDataSet that provides functionality for cutting an AMR dataset (a...
bool IsAMRData2D(vtkOverlappingAMR *input)
A utility function that checks if the input AMR data is 2-D.
vtkPlane * GetCutPlane(vtkOverlappingAMR *metadata)
Returns the cut-plane defined by a vtkCutPlane instance based on the user-supplied center and normal.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void ExtractCellFromGrid(vtkUniformGrid *grid, vtkCell *cell, std::map< vtkIdType, vtkIdType > &gridPntMapping, vtkPoints *nodes, vtkCellArray *cells)
Extracts cell.
void InitializeCenter(double min[3], double max[3])
virtual void SetController(vtkMultiProcessController *)
Set/Get a multiprocess controller for parallel processing.
void ComputeAMRBlocksToLoad(vtkPlane *p, vtkOverlappingAMR *m)
Given a cut-plane, p, and the metadata, m, this method computes which blocks need to be loaded.
static vtkAMRCutPlane * New()
~vtkAMRCutPlane() override
bool PlaneIntersectsAMRBox(double plane[4], double bounds[6])
Determines if a plane intersects with an AMR box.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Performs upstream requests to the reader.
vtkSmartPointer< vtkUnstructuredGrid > CutAMRBlock(vtkPlane *cutPlane, vtkUniformGrid *grid)
Applies cutting to an AMR block.
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int RequestInformation(vtkInformation *rqst, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Gets the metadata from upstream module and determines which blocks should be loaded by this instance.
void ExtractPointDataFromGrid(vtkUniformGrid *grid, std::map< vtkIdType, vtkIdType > &gridPntMapping, vtkIdType NumNodes, vtkPointData *PD)
Given the grid and a subset ID pair, grid IDs mapping to the extracted grid IDs, extract the point da...
void PrintSelf(ostream &oss, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
bool PlaneIntersectsAMRBox(vtkPlane *pl, double bounds[6])
Determines if a plane intersects with an AMR box.
bool PlaneIntersectsCell(vtkPlane *pl, vtkCell *cell)
Determines if a plane intersects with a grid cell.
void ExtractCellDataFromGrid(vtkUniformGrid *grid, std::vector< vtkIdType > &cellIdxList, vtkCellData *CD)
Given the grid and the list of cells that are extracted, extract the corresponding cell data.
object to represent cell connectivity
represent and manipulate cell attribute data
abstract class to specify cell behavior
a simple class to control print indentation
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
Composite dataset that organizes datasets into blocks.
Multiprocessing communication superclass.
hierarchical dataset of vtkUniformGrids
perform various plane computations
represent and manipulate point attribute data
represent and manipulate 3D points
Hold a reference to a vtkObjectBase instance.
dataset represents arbitrary combinations of all possible cell types
#define VTK_DEPRECATED_IN_9_4_0(reason)