Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Servers/Filters/vtkPVGeometryFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVGeometryFilter.h,v $
00005 
00006   Copyright (c) Kitware, Inc.
00007   All rights reserved.
00008   See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00022 #ifndef __vtkPVGeometryFilter_h
00023 #define __vtkPVGeometryFilter_h
00024 
00025 #include "vtkPolyDataAlgorithm.h"
00026 
00027 class vtkDataObject;
00028 class vtkDataSet;
00029 class vtkDataSetSurfaceFilter;
00030 class vtkGenericDataSet;
00031 class vtkImageData;
00032 class vtkInformationVector;
00033 class vtkStructuredGrid;
00034 class vtkRectilinearGrid;
00035 class vtkUnstructuredGrid;
00036 class vtkOutlineSource;
00037 class vtkMultiProcessController;
00038 class vtkCallbackCommand;
00039 class vtkGenericGeometryFilter;
00040 
00041 class VTK_EXPORT vtkPVGeometryFilter : public vtkPolyDataAlgorithm
00042 {
00043 public:
00044   static vtkPVGeometryFilter *New();
00045   vtkTypeRevisionMacro(vtkPVGeometryFilter,vtkPolyDataAlgorithm);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00049 
00051   vtkGetMacro(OutlineFlag, int);
00053 
00055 
00056   vtkSetMacro(UseOutline, int);
00057   vtkGetMacro(UseOutline, int);
00059 
00061 
00064   vtkSetMacro(UseStrips, int);
00065   vtkGetMacro(UseStrips, int);
00066   vtkBooleanMacro(UseStrips, int);
00068 
00070 
00074   vtkSetMacro(GenerateCellNormals, int);
00075   vtkGetMacro(GenerateCellNormals, int);
00076   vtkBooleanMacro(GenerateCellNormals, int);
00078 
00080 
00081   virtual void SetController(vtkMultiProcessController*);
00082   vtkGetObjectMacro(Controller, vtkMultiProcessController);
00084 
00085 protected:
00086   vtkPVGeometryFilter();
00087   ~vtkPVGeometryFilter();
00088 
00089   virtual int RequestInformation(vtkInformation* request,
00090                                  vtkInformationVector** inputVector,
00091                                  vtkInformationVector* outputVector);
00092   virtual int RequestCompositeData(vtkInformation* request,
00093                                    vtkInformationVector** inputVector,
00094                                    vtkInformationVector* outputVector);
00095   virtual int RequestData(vtkInformation* request,
00096                           vtkInformationVector** inputVector,
00097                           vtkInformationVector* outputVector);
00098 
00099   // Create a default executive.
00100   virtual vtkExecutive* CreateDefaultExecutive();
00101 
00102   void ExecuteBlock(vtkDataObject* input, vtkPolyData* output, int doCommunicate);
00103 
00104   void DataSetExecute(vtkDataSet* input, vtkPolyData* output,
00105                       int doCommunicate);
00106   void GenericDataSetExecute(vtkGenericDataSet* input, vtkPolyData* output,
00107                              int doCommunicate);
00108   void ImageDataExecute(vtkImageData* input, vtkPolyData* output, int doCommunicate);
00109   void StructuredGridExecute(vtkStructuredGrid* input, vtkPolyData* output);
00110   void RectilinearGridExecute(vtkRectilinearGrid* input, vtkPolyData* output);
00111   void UnstructuredGridExecute(
00112     vtkUnstructuredGrid* input, vtkPolyData* output, int doCommunicate);
00113   void PolyDataExecute(
00114     vtkPolyData* input, vtkPolyData* output, int doCommunicate);
00115   void DataSetSurfaceExecute(vtkDataSet* input, vtkPolyData* output);
00116   void ExecuteCellNormals(vtkPolyData* output, int doCommunicate);
00117 
00118   int OutlineFlag;
00119   int UseOutline;
00120   int UseStrips;
00121   int GenerateCellNormals;
00122 
00123   vtkMultiProcessController* Controller;
00124   vtkOutlineSource *OutlineSource;
00125   vtkDataSetSurfaceFilter* DataSetSurfaceFilter;
00126   vtkGenericGeometryFilter *GenericGeometryFilter;
00127   
00128   int CheckAttributes(vtkDataObject* input);
00129 
00130   // Callback registered with the InternalProgressObserver.
00131   static void InternalProgressCallbackFunction(vtkObject*, unsigned long,
00132                                                void* clientdata, void*);
00133   void InternalProgressCallback(vtkAlgorithm *algorithm);
00134   // The observer to report progress from the internal readers.
00135   vtkCallbackCommand* InternalProgressObserver;
00136 
00137   virtual int FillInputPortInformation(int, vtkInformation*);
00138 
00139   virtual void ReportReferences(vtkGarbageCollector*);
00140 
00141 private:
00142   vtkPVGeometryFilter(const vtkPVGeometryFilter&); // Not implemented
00143   void operator=(const vtkPVGeometryFilter&); // Not implemented
00144 
00145   int GenerateGroupScalars;
00146   unsigned int CurrentGroup;
00147 };
00148 
00149 #endif
00150 
00151 

Generated on Tue May 30 12:31:46 2006 for ParaView by doxygen 1.3.5