VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkRowQuery.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 -------------------------------------------------------------------------*/ 00052 #ifndef vtkRowQuery_h 00053 #define vtkRowQuery_h 00054 00055 #include "vtkIOSQLModule.h" // For export macro 00056 #include "vtkObject.h" 00057 00058 class vtkVariant; 00059 class vtkVariantArray; 00060 00061 class VTKIOSQL_EXPORT vtkRowQuery : public vtkObject 00062 { 00063 public: 00064 vtkTypeMacro(vtkRowQuery, vtkObject); 00065 void PrintSelf(ostream& os, vtkIndent indent); 00066 00069 virtual bool Execute() = 0; 00070 00072 virtual int GetNumberOfFields() = 0; 00073 00075 virtual const char* GetFieldName(int i) = 0; 00076 00079 virtual int GetFieldType(int i) = 0; 00080 00083 int GetFieldIndex(char* name); 00084 00086 virtual bool NextRow() = 0; 00087 00091 virtual bool IsActive() = 0; 00092 00095 bool NextRow(vtkVariantArray* rowArray); 00096 00098 virtual vtkVariant DataValue(vtkIdType c) = 0; 00099 00101 virtual bool HasError() = 0; 00102 00104 virtual const char* GetLastErrorText() = 0; 00105 00107 00112 vtkSetMacro(CaseSensitiveFieldNames, bool); 00113 vtkGetMacro(CaseSensitiveFieldNames, bool); 00114 vtkBooleanMacro(CaseSensitiveFieldNames, bool); 00116 00117 protected: 00118 vtkRowQuery(); 00119 ~vtkRowQuery(); 00120 bool CaseSensitiveFieldNames; 00121 private: 00122 vtkRowQuery(const vtkRowQuery &); // Not implemented. 00123 void operator=(const vtkRowQuery &); // Not implemented. 00124 }; 00125 00126 #endif // vtkRowQuery_h 00127