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

dox/Filtering/vtkGraphInternals.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkGraphInternals.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 (c) Sandia Corporation
00017  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00018 ----------------------------------------------------------------------------*/
00027 #ifndef __vtkGraphInternals_h
00028 #define __vtkGraphInternals_h
00029 
00030 #include "vtkGraph.h"
00031 #include "vtkObject.h"
00032 #include "vtkVariant.h"
00033 #include "vtkVariantArray.h"
00034 
00035 #include <vtksys/stl/vector>
00036 #include <vtksys/stl/map>
00037 
00038 //----------------------------------------------------------------------------
00039 // class vtkVertexAdjacencyList
00040 //----------------------------------------------------------------------------
00041 //BTX
00042 class vtkVertexAdjacencyList
00043 {
00044 public:
00045   vtksys_stl::vector<vtkInEdgeType> InEdges;
00046   vtksys_stl::vector<vtkOutEdgeType> OutEdges;
00047 };
00048 //ETX
00049 
00050 //----------------------------------------------------------------------------
00051 // class vtkGraphInternals
00052 //----------------------------------------------------------------------------
00053 class VTK_FILTERING_EXPORT vtkGraphInternals : public vtkObject
00054 {
00055 public:
00056   static vtkGraphInternals *New();
00057   //BTX
00058   vtkTypeRevisionMacro(vtkGraphInternals, vtkObject);
00059   vtksys_stl::vector<vtkVertexAdjacencyList> Adjacency;
00060   //ETX
00061   vtkIdType NumberOfEdges;
00062 
00063   vtkIdType LastRemoteEdgeId;
00064   vtkIdType LastRemoteEdgeSource;
00065   vtkIdType LastRemoteEdgeTarget;
00066 
00067   // Whether we have used pedigree IDs to refer to the vertices of the
00068   // graph, e.g., to add edges or vertices. In a distributed graph,
00069   // the pedigree-id interface is mutually exclusive with the
00070   // no-argument AddVertex() function in vtkMutableUndirectedGraph and
00071   // vtkMutableDirectedGraph.
00072   bool UsingPedigreeIds;
00073 
00074 protected:
00075   vtkGraphInternals();
00076   ~vtkGraphInternals();
00077 
00078 private:
00079   vtkGraphInternals(const vtkGraphInternals&);  // Not implemented.
00080   void operator=(const vtkGraphInternals&);  // Not implemented.
00081 };
00082 
00083 #endif // __vtkGraphInternals_h
00084 

Generated by  doxygen 1.7.1