29 #ifndef vtkAMRDualContour_h 30 #define vtkAMRDualContour_h 32 #include "vtkMultiBlockDataSetAlgorithm.h" 33 #include "vtkPVVTKExtensionsDefaultModule.h" 40 class vtkNonOverlappingAMR;
47 class vtkMultiProcessController;
48 class vtkDataArraySelection;
49 class vtkCallbackCommand;
54 class vtkAMRDualContourEdgeLocator;
56 class VTKPVVTKEXTENSIONSDEFAULT_EXPORT
vtkAMRDualContour :
public vtkMultiBlockDataSetAlgorithm
61 void PrintSelf(ostream& os, vtkIndent indent);
63 vtkSetMacro(IsoValue,
double);
64 vtkGetMacro(IsoValue,
double);
72 vtkSetMacro(EnableCapping,
int);
73 vtkGetMacro(EnableCapping,
int);
74 vtkBooleanMacro(EnableCapping,
int);
75 vtkSetMacro(EnableDegenerateCells,
int);
76 vtkGetMacro(EnableDegenerateCells,
int);
77 vtkBooleanMacro(EnableDegenerateCells,
int);
78 vtkSetMacro(EnableMultiProcessCommunication,
int);
79 vtkGetMacro(EnableMultiProcessCommunication,
int);
80 vtkBooleanMacro(EnableMultiProcessCommunication,
int);
89 vtkSetMacro(EnableMergePoints,
int);
90 vtkGetMacro(EnableMergePoints,
int);
91 vtkBooleanMacro(EnableMergePoints,
int);
98 vtkSetMacro(TriangulateCap,
int);
99 vtkGetMacro(TriangulateCap,
int);
100 vtkBooleanMacro(TriangulateCap,
int);
110 vtkSetMacro(SkipGhostCopy,
int);
111 vtkGetMacro(SkipGhostCopy,
int);
112 vtkBooleanMacro(SkipGhostCopy,
int);
115 vtkGetObjectMacro(Controller, vtkMultiProcessController);
116 virtual void SetController(vtkMultiProcessController*);
132 virtual int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
137 void InitializeRequest(vtkNonOverlappingAMR* input);
142 void FinalizeRequest();
148 vtkMultiBlockDataSet* DoRequestData(vtkNonOverlappingAMR* input,
const char* arrayNameToProcess);
150 virtual int FillInputPortInformation(
int port, vtkInformation* info);
151 virtual int FillOutputPortInformation(
int port, vtkInformation* info);
158 vtkIdType cornerOffsets[8], vtkDataArray* volumeFractionArray);
160 void AddCapPolygon(
int ptCount, vtkIdType* pointIds,
int blockId);
164 void CapCell(
int cellX,
int cellY,
int cellZ,
166 unsigned char cubeBoundaryBits,
170 vtkIdType edgePtIds[12],
172 double cornerPoints[32],
174 vtkIdType cornerOffsets[8],
200 void InitializeCopyAttributes(vtkNonOverlappingAMR* hbdsInput, vtkDataSet* mesh);
201 void InterpolateAttributes(vtkDataSet* uGrid, vtkIdType offset0, vtkIdType offset1,
double k,
202 vtkDataSet* mesh, vtkIdType outId);
203 void CopyAttributes(vtkDataSet* uGrid, vtkIdType inId, vtkDataSet* mesh, vtkIdType outId);
204 void FinalizeCopyAttributes(vtkDataSet* mesh);
vtkMultiProcessController * Controller
int EnableDegenerateCells
vtkAMRDualGridHelper * Helper
Extract particles and analyse them.
int EnableMultiProcessCommunication
vtkFloatArray * TemperatureArray
vtkAMRDualContourEdgeLocator * BlockLocator
Tools for processing AMR as a dual grid.
vtkIntArray * BlockIdCellArray
int * MessageBufferLength