28 #ifndef __vtkExtractCTHPart_h
29 #define __vtkExtractCTHPart_h
31 #include "vtkFiltersParallelModule.h"
32 #include "vtkMultiBlockDataSetAlgorithm.h"
43 class vtkExtractCTHPartInternal;
45 class vtkInformationDoubleVectorKey;
46 class vtkCompositeDataSet;
47 class vtkMultiProcessController;
50 class vtkRectilinearGrid;
52 class vtkUnsignedCharArray;
60 void PrintSelf(ostream& os, vtkIndent indent);
68 void RemoveDoubleVolumeArrayNames();
69 void RemoveFloatVolumeArrayNames();
70 void RemoveUnsignedCharVolumeArrayNames();
71 int GetNumberOfVolumeArrayNames();
72 const char* GetVolumeArrayName(
int idx);
74 void RemoveAllVolumeArrayNames();
82 void AddDoubleVolumeArrayName(
char* arrayName);
83 void AddFloatVolumeArrayName(
char* arrayName);
84 void AddUnsignedCharVolumeArrayName(
char* arrayName);
86 void AddVolumeArrayName(
char* arrayName);
91 void SetClipPlane(vtkPlane *clipPlane);
92 vtkGetObjectMacro(ClipPlane, vtkPlane);
96 unsigned long GetMTime();
99 void SetController(vtkMultiProcessController* controller);
104 vtkGetObjectMacro(Controller,vtkMultiProcessController);
110 vtkSetClampMacro(VolumeFractionSurfaceValue,
double, 0.0, 1.0);
111 vtkGetMacro(VolumeFractionSurfaceValue,
double);
118 virtual int RequestInformation(vtkInformation *request,
119 vtkInformationVector **inputVector,
120 vtkInformationVector *outputVector);
122 virtual int RequestData(vtkInformation *, vtkInformationVector **,
123 vtkInformationVector *);
132 void ComputeBounds(vtkCompositeDataSet *input,
137 void ExecutePart(
const char *arrayName,
138 vtkCompositeDataSet *input,
144 void ExecutePartOnUniformGrid(
const char *arrayName,
145 #ifdef EXTRACT_USE_IMAGE_DATA
148 vtkUniformGrid *input,
155 void ExecutePartOnRectilinearGrid(
const char *arrayName,
156 vtkRectilinearGrid *input,
162 void ExecuteCellDataToPointData(vtkDataArray *cellVolumeFraction,
163 vtkDoubleArray *pointVolumeFraction,
169 virtual int FillInputPortInformation(
int port,
170 vtkInformation *info);
172 void CreateInternalPipeline();
173 void DeleteInternalPipeline();
179 int ExtractUniformGridSurface(
180 #ifdef EXTRACT_USE_IMAGE_DATA
183 vtkUniformGrid *input,
185 vtkPolyData *output);
192 int ExtractRectilinearGridSurface(vtkRectilinearGrid *input,
193 vtkPolyData *output);
196 void ExecuteFaceQuads(vtkDataSet *input,
199 int originExtents[3],
208 int IsGhostFace(
int axis0,
211 vtkUnsignedCharArray *ghostArray);
220 #ifdef EXTRACT_USE_IMAGE_DATA
245 void EvaluateVolumeFractionType(vtkRectilinearGrid* rg,
246 vtkCompositeDataSet* input);
Cut vtkDataSet with user-specified implicit function.
generate isosurfaces/isolines from scalar values
appends one or more polygonal datasets together
clip polygonal data with user-specified implicit function or input scalar data
Extracts outer (polygonal) surface.