00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00062 #ifndef __vtkAssignAttribute_h
00063 #define __vtkAssignAttribute_h
00064
00065 #include "vtkDataSetAlgorithm.h"
00066
00067 #include "vtkDataSetAttributes.h"
00068
00069 class vtkFieldData;
00070
00071 class VTK_GRAPHICS_EXPORT vtkAssignAttribute : public vtkDataSetAlgorithm
00072 {
00073 public:
00074 vtkTypeRevisionMacro(vtkAssignAttribute,vtkDataSetAlgorithm);
00075 void PrintSelf(ostream& os, vtkIndent indent);
00076
00078 static vtkAssignAttribute *New();
00079
00081 void Assign(int inputAttributeType, int attributeType, int attributeLoc);
00082
00084 void Assign(const char* fieldName, int attributeType, int attributeLoc);
00085
00087
00089 void Assign(const char* name, const char* attributeType,
00090 const char* attributeLoc);
00092
00093
00094
00095 enum AttributeLocation
00096 {
00097 POINT_DATA=0,
00098 CELL_DATA=1
00099 };
00100
00101
00102 protected:
00103
00104
00105 enum FieldType
00106 {
00107 NAME,
00108 ATTRIBUTE
00109 };
00110
00111
00112 vtkAssignAttribute();
00113 virtual ~vtkAssignAttribute();
00114
00115 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00116 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00117
00118 char* FieldName;
00119 int FieldType;
00120 int AttributeType;
00121 int InputAttributeType;
00122 int AttributeLocation;
00123
00124 static char AttributeLocationNames[2][12];
00125 static char AttributeNames[vtkDataSetAttributes::NUM_ATTRIBUTES][10];
00126 private:
00127 vtkAssignAttribute(const vtkAssignAttribute&);
00128 void operator=(const vtkAssignAttribute&);
00129 };
00130
00131 #endif