VTK
dox/Filtering/vtkArrayDataAlgorithm.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkArrayDataAlgorithm.h
00005   
00006 -------------------------------------------------------------------------
00007   Copyright 2008 Sandia Corporation.
00008   Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
00009   the U.S. Government retains certain rights in this software.
00010 -------------------------------------------------------------------------
00011 
00012   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00013   All rights reserved.
00014   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00015 
00016      This software is distributed WITHOUT ANY WARRANTY; without even
00017      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00018      PURPOSE.  See the above copyright notice for more information.
00019 
00020 =========================================================================*/
00021 
00047 #ifndef __vtkArrayDataAlgorithm_h
00048 #define __vtkArrayDataAlgorithm_h
00049 
00050 #include "vtkAlgorithm.h"
00051 #include "vtkArrayData.h"
00052 
00053 class vtkDataSet;
00054 
00055 class VTK_FILTERING_EXPORT vtkArrayDataAlgorithm : public vtkAlgorithm
00056 {
00057 public:
00058   static vtkArrayDataAlgorithm *New();
00059   vtkTypeMacro(vtkArrayDataAlgorithm,vtkAlgorithm);
00060   void PrintSelf(ostream& os, vtkIndent indent);
00061 
00063 
00064   virtual int ProcessRequest(vtkInformation*,
00065                              vtkInformationVector**,
00066                              vtkInformationVector*);
00068 
00070 
00071   vtkArrayData* GetOutput() { return this->GetOutput(0); }
00072   vtkArrayData* GetOutput(int index);
00074 
00076 
00083   void SetInput(vtkDataObject * obj) { this->SetInput(0, obj); }
00084   void SetInput(int index, vtkDataObject* obj);
00086 
00087 protected:
00088   vtkArrayDataAlgorithm();
00089   ~vtkArrayDataAlgorithm();
00090 
00091   // convenience method
00092   virtual int RequestInformation(vtkInformation* request,
00093                                  vtkInformationVector** inputVector,
00094                                  vtkInformationVector* outputVector);
00095 
00097 
00099   virtual int RequestData(vtkInformation* request,
00100                           vtkInformationVector** inputVector,
00101                           vtkInformationVector* outputVector);
00103 
00105 
00107   virtual int RequestUpdateExtent(vtkInformation*,
00108                                   vtkInformationVector**,
00109                                   vtkInformationVector*);
00111 
00112   // see algorithm for more info
00113   virtual int FillOutputPortInformation(int port, vtkInformation* info);
00114   virtual int FillInputPortInformation(int port, vtkInformation* info);
00115 
00116 private:
00117   vtkArrayDataAlgorithm(const vtkArrayDataAlgorithm&);  // Not implemented.
00118   void operator=(const vtkArrayDataAlgorithm&);  // Not implemented.
00119 };
00120 
00121 #endif