00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00052 #ifndef __vtkRowQuery_h
00053 #define __vtkRowQuery_h
00054
00055 #include "vtkObject.h"
00056
00057 class vtkVariant;
00058 class vtkVariantArray;
00059
00060 class VTK_IO_EXPORT vtkRowQuery : public vtkObject
00061 {
00062 public:
00063 vtkTypeMacro(vtkRowQuery, vtkObject);
00064 void PrintSelf(ostream& os, vtkIndent indent);
00065
00068 virtual bool Execute() = 0;
00069
00071 virtual int GetNumberOfFields() = 0;
00072
00074 virtual const char* GetFieldName(int i) = 0;
00075
00078 virtual int GetFieldType(int i) = 0;
00079
00082 int GetFieldIndex(char* name);
00083
00085 virtual bool NextRow() = 0;
00086
00090 virtual bool IsActive() = 0;
00091
00092
00095 bool NextRow(vtkVariantArray* rowArray);
00096
00098 virtual vtkVariant DataValue(vtkIdType c) = 0;
00099
00100
00102 virtual bool HasError() = 0;
00103
00105 virtual const char* GetLastErrorText() = 0;
00106
00108
00113 vtkSetMacro(CaseSensitiveFieldNames, bool);
00114 vtkGetMacro(CaseSensitiveFieldNames, bool);
00115 vtkBooleanMacro(CaseSensitiveFieldNames, bool);
00117
00118 protected:
00119 vtkRowQuery();
00120 ~vtkRowQuery();
00121 bool CaseSensitiveFieldNames;
00122 private:
00123 vtkRowQuery(const vtkRowQuery &);
00124 void operator=(const vtkRowQuery &);
00125 };
00126
00127 #endif // __vtkRowQuery_h
00128