VTK
|
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