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