00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00030 #ifndef __vtkAddMembershipArray_h
00031 #define __vtkAddMembershipArray_h
00032 
00033 #include "vtkPassInputTypeAlgorithm.h"
00034 
00035 class vtkAbstractArray;
00036 
00037 class VTK_INFOVIS_EXPORT vtkAddMembershipArray : public vtkPassInputTypeAlgorithm
00038 {
00039 public:
00040   static vtkAddMembershipArray* New();
00041   vtkTypeMacro(vtkAddMembershipArray,vtkPassInputTypeAlgorithm);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043 
00044   
00045   enum
00046     {
00047     FIELD_DATA = 0,
00048     POINT_DATA = 1,
00049     CELL_DATA = 2,
00050     VERTEX_DATA = 3,
00051     EDGE_DATA = 4,
00052     ROW_DATA = 5
00053     };
00054   
00055   
00057 
00058   vtkGetMacro(FieldType, int);
00059   vtkSetClampMacro(FieldType, int, 0, 5);
00061 
00063 
00065   vtkSetStringMacro(OutputArrayName);
00066   vtkGetStringMacro(OutputArrayName);
00068   
00069   vtkSetStringMacro(InputArrayName);
00070   vtkGetStringMacro(InputArrayName);
00071 
00072   void SetInputValues(vtkAbstractArray*);
00073   vtkGetObjectMacro(InputValues,vtkAbstractArray);
00074 
00075 protected:
00076   vtkAddMembershipArray();
00077   ~vtkAddMembershipArray();
00078   
00079   int FillInputPortInformation(int port, vtkInformation* info);
00080   
00081   int RequestData(
00082     vtkInformation*, 
00083     vtkInformationVector**, 
00084     vtkInformationVector*);
00085   
00086   int FieldType;
00087   char* OutputArrayName;
00088   char* InputArrayName;
00089 
00090   vtkAbstractArray* InputValues;
00091 
00092 
00093 private:
00094   vtkAddMembershipArray(const vtkAddMembershipArray&); 
00095   void operator=(const vtkAddMembershipArray&);   
00096 };
00097 
00098 #endif
00099