23 #ifndef vtkFlashContour_h 24 #define vtkFlashContour_h 26 #include "vtkMultiBlockDataSetAlgorithm.h" 27 #include "vtkPVVTKExtensionsDefaultModule.h" 32 class vtkUnsignedCharArray;
37 class VTKPVVTKEXTENSIONSDEFAULT_EXPORT
vtkFlashContour :
public vtkMultiBlockDataSetAlgorithm
42 void PrintSelf(ostream& os, vtkIndent indent);
44 vtkSetMacro(IsoValue,
double);
45 vtkGetMacro(IsoValue,
double);
47 vtkSetStringMacro(PassAttribute);
48 vtkGetStringMacro(PassAttribute);
68 unsigned char ComputeBranchDepth(
int globalBlockId);
75 vtkSetStringMacro(CellArrayNameToProcess);
77 virtual int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
78 virtual int FillInputPortInformation(
int port, vtkInformation* info);
79 virtual int FillOutputPortInformation(
int port, vtkInformation* info);
80 void PropogateNeighbors(
int neighbors[3][3][3],
int x,
int y,
int z);
89 void RecurseTree(
int neighborhood[3][3][3], vtkMultiBlockDataSet* input);
90 void ProcessBlock(vtkImageData* block);
91 void ProcessCell(
const double* origin,
const double* spacing,
const double* cornerValues,
92 const double* passValues);
93 void ProcessNeighborhoodSharedRegion(
94 int neighborhood[3][3][3],
int r[3], vtkMultiBlockDataSet* input);
95 void ProcessSharedRegion(
int regionDims[3],
double* cornerPtrs[8],
int incs[3],
96 double cornerPoints[32],
double cornerSpacings[32],
int cornerLevelDiffs[8],
98 void ProcessDegenerateCell(
double cornerPoints[32],
double* cornerPtrs[8],
double* passPtrs[8]);
99 void ProcessCellFinal(
const double cornerPoints[32],
const double cornerValues[8],
int cubeCase,
100 const double passValues[8]);
unsigned char CurrentLevel
int * GlobalChildrenArray
char * CellArrayNameToProcess
vtkUnsignedCharArray * LevelCellArray
Contour of a flash AMR volume.
vtkDoubleArray * PassArray
vtkUnsignedCharArray * RemainingDepthCellArray
int * GlobalNeighborArray
unsigned char RemainingDepth
vtkIntArray * BlockIdCellArray