VTK
dox/Common/ExecutionModel/vtkPiecewiseFunctionAlgorithm.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkPiecewiseFunctionAlgorithm.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm 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 =========================================================================*/
00032 #ifndef __vtkPiecewiseFunctionAlgorithm_h
00033 #define __vtkPiecewiseFunctionAlgorithm_h
00034 
00035 #include "vtkCommonExecutionModelModule.h" // For export macro
00036 #include "vtkAlgorithm.h"
00037 #include "vtkPiecewiseFunction.h" // makes things a bit easier
00038 
00039 class vtkDataSet;
00040 class vtkDataObject;
00041 
00042 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkPiecewiseFunctionAlgorithm : public vtkAlgorithm
00043 {
00044 public:
00045   static vtkPiecewiseFunctionAlgorithm *New();
00046   vtkTypeMacro(vtkPiecewiseFunctionAlgorithm,vtkAlgorithm);
00047   void PrintSelf(ostream& os, vtkIndent indent);
00048 
00050 
00051   vtkDataObject* GetOutput();
00052   vtkDataObject* GetOutput(int);
00053   virtual void SetOutput(vtkDataObject* d);
00055 
00057 
00058   virtual int ProcessRequest(vtkInformation*,
00059                              vtkInformationVector**,
00060                              vtkInformationVector*);
00062 
00063   // this method is not recommended for use, but lots of old style filters
00064   // use it
00065   vtkDataObject* GetInput();
00066   vtkDataObject *GetInput(int port);
00067 
00069 
00072   void SetInputData(vtkDataObject *);
00073   void SetInputData(int, vtkDataObject*);
00075 
00077 
00080   void AddInputData(vtkDataObject *);
00081   void AddInputData(int, vtkDataObject*);
00083 
00084 protected:
00085   vtkPiecewiseFunctionAlgorithm();
00086   ~vtkPiecewiseFunctionAlgorithm();
00087 
00089 
00091   virtual int RequestData(vtkInformation* request,
00092                           vtkInformationVector** inputVector,
00093                           vtkInformationVector* outputVector);
00095 
00096   // see algorithm for more info
00097   virtual int FillOutputPortInformation(int port, vtkInformation* info);
00098   virtual int FillInputPortInformation(int port, vtkInformation* info);
00099 
00100 private:
00101   vtkPiecewiseFunctionAlgorithm(const vtkPiecewiseFunctionAlgorithm&);  // Not implemented.
00102   void operator=(const vtkPiecewiseFunctionAlgorithm&);  // Not implemented.
00103 };
00104 
00105 #endif