VTK  9.3.1
vtkSQLDatabaseGraphSource.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
14 #ifndef vtkSQLDatabaseGraphSource_h
15 #define vtkSQLDatabaseGraphSource_h
16 
17 #include "vtkGraphAlgorithm.h"
18 #include "vtkIOSQLModule.h" // For export macro
19 #include "vtkStdString.h" // for vtkStdString
20 
21 VTK_ABI_NAMESPACE_BEGIN
23 
24 class VTKIOSQL_EXPORT vtkSQLDatabaseGraphSource : public vtkGraphAlgorithm
25 {
26 public:
29  void PrintSelf(ostream& os, vtkIndent indent);
30 
31  vtkStdString GetURL();
32  void SetURL(const vtkStdString& url);
33 
34  void SetPassword(const vtkStdString& password);
35 
36  vtkStdString GetEdgeQuery();
37  void SetEdgeQuery(const vtkStdString& query);
38 
39  vtkStdString GetVertexQuery();
40  void SetVertexQuery(const vtkStdString& query);
41 
42  void AddLinkVertex(const char* column, const char* domain = 0, int hidden = 0);
43  void ClearLinkVertices();
44  void AddLinkEdge(const char* column1, const char* column2);
45  void ClearLinkEdges();
46 
48 
52  vtkGetMacro(GenerateEdgePedigreeIds, bool);
53  vtkSetMacro(GenerateEdgePedigreeIds, bool);
54  vtkBooleanMacro(GenerateEdgePedigreeIds, bool);
56 
58 
61  vtkSetStringMacro(EdgePedigreeIdArrayName);
62  vtkGetStringMacro(EdgePedigreeIdArrayName);
64 
66 
70  vtkSetMacro(Directed, bool);
71  vtkGetMacro(Directed, bool);
72  vtkBooleanMacro(Directed, bool);
74 
75 protected:
77  ~vtkSQLDatabaseGraphSource() override;
78 
80 
82 
85 
86 private:
88  void operator=(const vtkSQLDatabaseGraphSource&) = delete;
89 
94  vtkEventForwarderCommand* EventForwarder;
95 
96  class implementation;
97  implementation* const Implementation;
98 
99  bool Directed;
100 };
101 
102 VTK_ABI_NAMESPACE_END
103 #endif
a simple event forwarder command
static vtkGraphAlgorithm * New()
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:28
Store vtkAlgorithm input/output information.
Generates a vtkGraph based on an SQL query.
Superclass for algorithms that produce only graph as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Store zero or more vtkInformation instances.