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 00052 vtkIdType AddVertex(); 00053 00054 //BTX 00056 00059 vtkEdgeType AddEdge(vtkIdType u, vtkIdType v); 00060 //ETX 00062 00066 vtkGraphEdge *AddGraphEdge(vtkIdType u, vtkIdType v); 00067 00068 protected: 00069 vtkMutableUndirectedGraph(); 00070 ~vtkMutableUndirectedGraph(); 00071 00073 vtkGraphEdge *GraphEdge; 00074 00075 private: 00076 vtkMutableUndirectedGraph(const vtkMutableUndirectedGraph&); // Not implemented. 00077 void operator=(const vtkMutableUndirectedGraph&); // Not implemented. 00078 }; 00079 00080 #endif