VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPassArrays.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 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 00019 -------------------------------------------------------------------------*/ 00062 #ifndef __vtkPassArrays_h 00063 #define __vtkPassArrays_h 00064 00065 #include "vtkFiltersGeneralModule.h" // For export macro 00066 #include "vtkDataObjectAlgorithm.h" 00067 00068 class VTKFILTERSGENERAL_EXPORT vtkPassArrays : public vtkDataObjectAlgorithm 00069 { 00070 public: 00071 static vtkPassArrays* New(); 00072 vtkTypeMacro(vtkPassArrays,vtkDataObjectAlgorithm); 00073 void PrintSelf(ostream& os, vtkIndent indent); 00074 00078 virtual void AddArray(int fieldType, const char* name); 00079 00080 virtual void AddPointDataArray(const char* name); 00081 virtual void AddCellDataArray(const char* name); 00082 virtual void AddFieldDataArray(const char* name); 00083 00084 virtual void RemoveArray(int fieldType, const char* name); 00085 00086 virtual void RemovePointDataArray(const char* name); 00087 virtual void RemoveCellDataArray(const char* name); 00088 virtual void RemoveFieldDataArray(const char* name); 00089 00091 00092 virtual void ClearArrays(); 00093 virtual void ClearPointDataArrays(); 00094 virtual void ClearCellDataArrays(); 00095 virtual void ClearFieldDataArrays(); 00097 00099 00101 vtkSetMacro(RemoveArrays, bool); 00102 vtkGetMacro(RemoveArrays, bool); 00103 vtkBooleanMacro(RemoveArrays, bool); 00105 00107 00110 vtkSetMacro(UseFieldTypes, bool); 00111 vtkGetMacro(UseFieldTypes, bool); 00112 vtkBooleanMacro(UseFieldTypes, bool); 00114 00119 virtual void AddFieldType(int fieldType); 00120 00122 virtual void ClearFieldTypes(); 00123 00125 00126 virtual int ProcessRequest(vtkInformation* request, 00127 vtkInformationVector** inputVector, 00128 vtkInformationVector* outputVector); 00130 00131 protected: 00132 vtkPassArrays(); 00133 ~vtkPassArrays(); 00134 00136 00137 virtual int RequestDataObject(vtkInformation* request, 00138 vtkInformationVector** inputVector, 00139 vtkInformationVector* outputVector); 00141 00142 int RequestData( 00143 vtkInformation*, 00144 vtkInformationVector**, 00145 vtkInformationVector*); 00146 00147 bool RemoveArrays; 00148 bool UseFieldTypes; 00149 00150 //BTX 00151 class Internals; 00152 Internals* Implementation; 00153 //ETX 00154 00155 private: 00156 vtkPassArrays(const vtkPassArrays&); // Not implemented 00157 void operator=(const vtkPassArrays&); // Not implemented 00158 }; 00159 00160 #endif 00161