00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVInputArrayRequirement.h,v $ 00005 00006 Copyright (c) Kitware, Inc. 00007 All rights reserved. 00008 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/ 00029 #ifndef __vtkPVInputArrayRequirement_h 00030 #define __vtkPVInputArrayRequirement_h 00031 00032 00033 class vtkDataSet; 00034 class vtkPVDataSetAttributesInformation; 00035 00036 #include "vtkPVInputRequirement.h" 00037 00038 class VTK_EXPORT vtkPVInputArrayRequirement : public vtkPVInputRequirement 00039 { 00040 public: 00041 static vtkPVInputArrayRequirement* New(); 00042 vtkTypeRevisionMacro(vtkPVInputArrayRequirement, vtkPVInputRequirement); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 virtual int GetIsValidInput(vtkPVSource* input, vtkPVSource* pvs); 00047 00049 00051 virtual int GetIsValidField(int field, 00052 vtkPVDataSetAttributesInformation* info); 00054 00056 00058 virtual int ReadXMLAttributes(vtkPVXMLElement* element, 00059 vtkPVXMLPackageParser* parser); 00061 00063 00065 vtkGetMacro(Attribute,int); 00067 00069 00070 vtkSetMacro(NumberOfComponents,int); 00071 vtkGetMacro(NumberOfComponents,int); 00073 00075 00077 vtkGetMacro(DataType,int); 00079 00080 protected: 00081 vtkPVInputArrayRequirement(); 00082 ~vtkPVInputArrayRequirement() {}; 00083 00084 int Attribute; 00085 int DataType; 00086 int NumberOfComponents; 00087 00088 int AttributeInfoContainsArray(vtkPVDataSetAttributesInformation* attrInfo); 00089 00090 00091 vtkPVInputArrayRequirement(const vtkPVInputArrayRequirement&); // Not implemented 00092 void operator=(const vtkPVInputArrayRequirement&); // Not implemented 00093 }; 00094 00095 #endif