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

dox/Filtering/vtkMutableUndirectedGraph.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkMutableUndirectedGraph.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 -------------------------------------------------------------------------*/
00036 #ifndef __vtkMutableUndirectedGraph_h
00037 #define __vtkMutableUndirectedGraph_h
00038 
00039 #include "vtkUndirectedGraph.h"
00040 
00041 class vtkEdgeListIterator;
00042 class vtkGraphEdge;
00043 
00044 class VTK_FILTERING_EXPORT vtkMutableUndirectedGraph : public vtkUndirectedGraph
00045 {
00046 public:
00047   static vtkMutableUndirectedGraph *New();
00048   vtkTypeRevisionMacro(vtkMutableUndirectedGraph, vtkUndirectedGraph);
00049   void PrintSelf(ostream& os, vtkIndent indent);
00050 
00059   vtkIdType AddVertex();
00060   
00074   vtkIdType AddVertex(vtkVariantArray *propertyArr);
00075 
00076   //BTX
00078 
00088   vtkIdType AddVertex(const vtkVariant& pedigreeId);
00089   //ETX
00091 
00098   vtkEdgeType AddEdge(vtkIdType u, vtkIdType v);
00099   
00101 
00107   vtkEdgeType AddEdge(vtkIdType u, vtkIdType v, 
00108                       vtkVariantArray *propertyArr);
00110   
00111   //BTX
00113 
00120   vtkEdgeType AddEdge(const vtkVariant& uPedigreeId, vtkIdType v, 
00121                       vtkVariantArray *propertyArr = 0);
00123 
00125 
00132   vtkEdgeType AddEdge(vtkIdType u, const vtkVariant& vPedigreeId, 
00133                       vtkVariantArray *propertyArr = 0);
00135 
00137 
00144   vtkEdgeType AddEdge(const vtkVariant& uPedigreeId, 
00145                       const vtkVariant& vPedigreeId, 
00146                       vtkVariantArray *propertyArr = 0);
00147   //ETX
00149 
00158   void LazyAddVertex();
00159   
00171   void LazyAddVertex(vtkVariantArray *propertyArr);
00172 
00173   //BTX
00175 
00181   void LazyAddVertex(const vtkVariant& pedigreeId);
00182   //ETX
00184 
00189   void LazyAddEdge(vtkIdType u, vtkIdType v);
00190   
00198   void LazyAddEdge(vtkIdType u, vtkIdType v, vtkVariantArray *propertyArr);
00199 
00200   //BTX  
00202 
00210   void LazyAddEdge(const vtkVariant& uPedigreeId, vtkIdType v, 
00211                    vtkVariantArray *propertyArr = 0);
00213 
00215 
00223   void LazyAddEdge(vtkIdType u, const vtkVariant& vPedigreeId, 
00224                    vtkVariantArray *propertyArr = 0);
00226 
00228 
00236   void LazyAddEdge(const vtkVariant& uPedigreeId, 
00237                    const vtkVariant& vPedigreeId, 
00238                    vtkVariantArray *propertyArr = 0);
00239   //ETX
00241 
00245   vtkGraphEdge *AddGraphEdge(vtkIdType u, vtkIdType v);
00246 
00247 protected:
00248   vtkMutableUndirectedGraph();
00249   ~vtkMutableUndirectedGraph();
00250 
00252   vtkGraphEdge *GraphEdge;
00253 
00254 private:
00255   vtkMutableUndirectedGraph(const vtkMutableUndirectedGraph&);  // Not implemented.
00256   void operator=(const vtkMutableUndirectedGraph&);  // Not implemented.
00257 };
00258 
00259 #endif

Generated by  doxygen 1.7.1