• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Infovis/vtkTableToGraph.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkTableToGraph.h,v $
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 -------------------------------------------------------------------------*/
00071 #ifndef __vtkTableToGraph_h
00072 #define __vtkTableToGraph_h
00073 
00074 #include "vtkGraphAlgorithm.h"
00075 
00076 class vtkBitArray;
00077 class vtkMutableDirectedGraph;
00078 class vtkStringArray;
00079 class vtkTable;
00080 
00081 class VTK_INFOVIS_EXPORT vtkTableToGraph : public vtkGraphAlgorithm
00082 {
00083 public:
00084   static vtkTableToGraph* New();
00085   vtkTypeRevisionMacro(vtkTableToGraph,vtkGraphAlgorithm);
00086   void PrintSelf(ostream& os, vtkIndent indent);
00087   
00090   void AddLinkVertex(const char* column, const char* domain = 0, int hidden = 0);
00091 
00093   void ClearLinkVertices();
00094 
00097   void AddLinkEdge(const char* column1, const char* column2);
00098 
00100   void ClearLinkEdges();
00101 
00103 
00104   vtkGetObjectMacro(LinkGraph, vtkMutableDirectedGraph);
00105   void SetLinkGraph(vtkMutableDirectedGraph* g);
00107   
00110   void LinkColumnPath(vtkStringArray* column, vtkStringArray* domain = 0, vtkBitArray* hidden = 0);
00111 
00113 
00114   vtkSetMacro(Directed, bool);
00115   vtkGetMacro(Directed, bool);
00116   vtkBooleanMacro(Directed, bool);
00118   
00120   virtual unsigned long GetMTime();
00121 
00126   void SetVertexTableConnection(vtkAlgorithmOutput* in);
00127   
00128 protected:
00129   vtkTableToGraph();
00130   ~vtkTableToGraph();
00131 
00133   int ValidateLinkGraph();
00134   
00135   virtual int FillInputPortInformation(int port, vtkInformation* info);
00136 
00137   virtual int RequestData(
00138     vtkInformation*, 
00139     vtkInformationVector**, 
00140     vtkInformationVector*);
00141 
00142   virtual int RequestDataObject(
00143     vtkInformation*, 
00144     vtkInformationVector**, 
00145     vtkInformationVector*);
00146 
00147   bool Directed;
00148   vtkMutableDirectedGraph* LinkGraph;
00149   vtkStringArray* VertexTableDomains;
00150 
00151 private:
00152   vtkTableToGraph(const vtkTableToGraph&); // Not implemented
00153   void operator=(const vtkTableToGraph&);   // Not implemented
00154 };
00155 
00156 #endif
00157 

Generated by  doxygen 1.7.1