VTK
dox/Common/ExecutionModel/vtkArrayDataAlgorithm.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkArrayDataAlgorithm.h
00005 
00006 
00007   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00016 /*
00017 -------------------------------------------------------------------------
00018   Copyright 2008 Sandia Corporation.
00019   Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
00020   the U.S. Government retains certain rights in this software.
00021 -------------------------------------------------------------------------
00022 */
00023 
00043 #ifndef __vtkArrayDataAlgorithm_h
00044 #define __vtkArrayDataAlgorithm_h
00045 
00046 #include "vtkCommonExecutionModelModule.h" // For export macro
00047 #include "vtkAlgorithm.h"
00048 #include "vtkArrayData.h"
00049 
00050 class vtkDataSet;
00051 
00052 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkArrayDataAlgorithm : public vtkAlgorithm
00053 {
00054 public:
00055   static vtkArrayDataAlgorithm *New();
00056   vtkTypeMacro(vtkArrayDataAlgorithm,vtkAlgorithm);
00057   void PrintSelf(ostream& os, vtkIndent indent);
00058 
00060 
00061   virtual int ProcessRequest(vtkInformation*,
00062                              vtkInformationVector**,
00063                              vtkInformationVector*);
00065 
00067 
00068   vtkArrayData* GetOutput() { return this->GetOutput(0); }
00069   vtkArrayData* GetOutput(int index);
00071 
00073 
00076   void SetInputData(vtkDataObject * obj) { this->SetInputData(0, obj); }
00077   void SetInputData(int index, vtkDataObject* obj);
00079 
00080 protected:
00081   vtkArrayDataAlgorithm();
00082   ~vtkArrayDataAlgorithm();
00083 
00084   // convenience method
00085   virtual int RequestInformation(vtkInformation* request,
00086                                  vtkInformationVector** inputVector,
00087                                  vtkInformationVector* outputVector);
00088 
00090 
00092   virtual int RequestData(vtkInformation* request,
00093                           vtkInformationVector** inputVector,
00094                           vtkInformationVector* outputVector);
00096 
00098 
00100   virtual int RequestUpdateExtent(vtkInformation*,
00101                                   vtkInformationVector**,
00102                                   vtkInformationVector*);
00104 
00105   // see algorithm for more info
00106   virtual int FillOutputPortInformation(int port, vtkInformation* info);
00107   virtual int FillInputPortInformation(int port, vtkInformation* info);
00108 
00109 private:
00110   vtkArrayDataAlgorithm(const vtkArrayDataAlgorithm&);  // Not implemented.
00111   void operator=(const vtkArrayDataAlgorithm&);  // Not implemented.
00112 };
00113 
00114 #endif
00115 // VTK-HeaderTest-Exclude: vtkArrayDataAlgorithm.h