00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00029 #ifndef __vtkSQLDatabaseGraphSource_h
00030 #define __vtkSQLDatabaseGraphSource_h
00031
00032 #include "vtkStdString.h"
00033 #include "vtkGraphAlgorithm.h"
00034
00035 class vtkEventForwarderCommand;
00036
00037 class VTK_INFOVIS_EXPORT vtkSQLDatabaseGraphSource : public vtkGraphAlgorithm
00038 {
00039 public:
00040 static vtkSQLDatabaseGraphSource* New();
00041 vtkTypeRevisionMacro(vtkSQLDatabaseGraphSource, vtkGraphAlgorithm);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00044 vtkStdString GetURL();
00045 void SetURL(const vtkStdString& url);
00046
00047 void SetPassword(const vtkStdString& password);
00048
00049 vtkStdString GetEdgeQuery();
00050 void SetEdgeQuery(const vtkStdString& query);
00051
00052 vtkStdString GetVertexQuery();
00053 void SetVertexQuery(const vtkStdString& query);
00054
00055 void AddLinkVertex(const char* column, const char* domain = 0, int hidden = 0);
00056 void ClearLinkVertices();
00057 void AddLinkEdge(const char* column1, const char* column2);
00058 void ClearLinkEdges();
00059
00061
00063 vtkGetMacro(GenerateEdgePedigreeIds, bool);
00064 vtkSetMacro(GenerateEdgePedigreeIds, bool);
00065 vtkBooleanMacro(GenerateEdgePedigreeIds, bool);
00067
00069
00070 vtkSetStringMacro(EdgePedigreeIdArrayName);
00071 vtkGetStringMacro(EdgePedigreeIdArrayName);
00073
00075
00077 vtkSetMacro(Directed, bool);
00078 vtkGetMacro(Directed, bool);
00079 vtkBooleanMacro(Directed, bool);
00081
00082 protected:
00083 vtkSQLDatabaseGraphSource();
00084 ~vtkSQLDatabaseGraphSource();
00085
00086 int RequestDataObject(
00087 vtkInformation*,
00088 vtkInformationVector**,
00089 vtkInformationVector*);
00090
00091 int RequestData(
00092 vtkInformation*,
00093 vtkInformationVector**,
00094 vtkInformationVector*);
00095
00096 bool GenerateEdgePedigreeIds;
00097 char* EdgePedigreeIdArrayName;
00098
00099 private:
00100 vtkSQLDatabaseGraphSource(const vtkSQLDatabaseGraphSource&);
00101 void operator=(const vtkSQLDatabaseGraphSource&);
00102
00105 vtkEventForwarderCommand *EventForwarder;
00106
00107
00108 class implementation;
00109 implementation* const Implementation;
00110
00111
00112 bool Directed;
00113
00114
00115 };
00116
00117 #endif
00118