00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00047 #ifndef __vtkUndirectedGraph_h
00048 #define __vtkUndirectedGraph_h
00049
00050 #include "vtkGraph.h"
00051
00052 class VTK_FILTERING_EXPORT vtkUndirectedGraph : public vtkGraph
00053 {
00054 public:
00055 static vtkUndirectedGraph *New();
00056 vtkTypeMacro(vtkUndirectedGraph, vtkGraph);
00057 void PrintSelf(ostream& os, vtkIndent indent);
00058
00060 virtual int GetDataObjectType() {return VTK_UNDIRECTED_GRAPH;}
00061
00063 virtual vtkIdType GetInDegree(vtkIdType v);
00064
00065
00067
00069 virtual vtkInEdgeType GetInEdge(vtkIdType v, vtkIdType i);
00070
00072
00074
00078 virtual void GetInEdge(vtkIdType v, vtkIdType i, vtkGraphEdge* e)
00079 { this->Superclass::GetInEdge(v, i, e); }
00081
00082
00084
00085 static vtkUndirectedGraph *GetData(vtkInformation *info);
00086 static vtkUndirectedGraph *GetData(vtkInformationVector *v, int i=0);
00087
00089
00091
00093 virtual void GetInEdges(vtkIdType v, vtkInEdgeIterator *it)
00094 { Superclass::GetInEdges(v, it); }
00096
00099 virtual bool IsStructureValid(vtkGraph *g);
00100
00101 protected:
00102 vtkUndirectedGraph();
00103 ~vtkUndirectedGraph();
00104
00105
00107
00108 virtual void GetInEdges(vtkIdType v, const vtkInEdgeType *& edges, vtkIdType & nedges);
00109
00111
00112 private:
00113 vtkUndirectedGraph(const vtkUndirectedGraph&);
00114 void operator=(const vtkUndirectedGraph&);
00115 };
00116
00117 #endif