VTK
dox/IO/SQL/vtkSQLDatabaseGraphSource.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkSQLDatabaseGraphSource.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 -------------------------------------------------------------------------*/
00032 #ifndef __vtkSQLDatabaseGraphSource_h
00033 #define __vtkSQLDatabaseGraphSource_h
00034 
00035 #include "vtkIOSQLModule.h" // For export macro
00036 #include "vtkStdString.h"
00037 #include "vtkGraphAlgorithm.h"
00038 
00039 class vtkEventForwarderCommand;
00040 
00041 class VTKIOSQL_EXPORT vtkSQLDatabaseGraphSource : public vtkGraphAlgorithm
00042 {
00043 public:
00044   static vtkSQLDatabaseGraphSource* New();
00045   vtkTypeMacro(vtkSQLDatabaseGraphSource, vtkGraphAlgorithm);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00048   vtkStdString GetURL();
00049   void SetURL(const vtkStdString& url);
00050 
00051   void SetPassword(const vtkStdString& password);
00052 
00053   vtkStdString GetEdgeQuery();
00054   void SetEdgeQuery(const vtkStdString& query);
00055 
00056   vtkStdString GetVertexQuery();
00057   void SetVertexQuery(const vtkStdString& query);
00058 
00059   void AddLinkVertex(const char* column, const char* domain = 0, int hidden = 0);
00060   void ClearLinkVertices();
00061   void AddLinkEdge(const char* column1, const char* column2);
00062   void ClearLinkEdges();
00063 
00065 
00067   vtkGetMacro(GenerateEdgePedigreeIds, bool);
00068   vtkSetMacro(GenerateEdgePedigreeIds, bool);
00069   vtkBooleanMacro(GenerateEdgePedigreeIds, bool);
00071 
00073 
00074   vtkSetStringMacro(EdgePedigreeIdArrayName);
00075   vtkGetStringMacro(EdgePedigreeIdArrayName);
00077 
00079 
00081   vtkSetMacro(Directed, bool);
00082   vtkGetMacro(Directed, bool);
00083   vtkBooleanMacro(Directed, bool);
00085 
00086 protected:
00087   vtkSQLDatabaseGraphSource();
00088   ~vtkSQLDatabaseGraphSource();
00089 
00090   int RequestDataObject(
00091     vtkInformation*,
00092     vtkInformationVector**,
00093     vtkInformationVector*);
00094 
00095   int RequestData(
00096     vtkInformation*,
00097     vtkInformationVector**,
00098     vtkInformationVector*);
00099 
00100   bool GenerateEdgePedigreeIds;
00101   char* EdgePedigreeIdArrayName;
00102 
00103 private:
00104   vtkSQLDatabaseGraphSource(const vtkSQLDatabaseGraphSource&); // Not implemented
00105   void operator=(const vtkSQLDatabaseGraphSource&);   // Not implemented
00106 
00109   vtkEventForwarderCommand *EventForwarder;
00110 
00111 //BTX
00112   class implementation;
00113   implementation* const Implementation;
00114 //ETX
00115 
00116   bool Directed;
00117 
00118 
00119 };
00120 
00121 #endif
00122 
00123 // VTK-HeaderTest-Exclude: vtkSQLDatabaseGraphSource.h