Common/vtkEdgeTable.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00041 #ifndef __vtkEdgeTable_h
00042 #define __vtkEdgeTable_h
00043
00044 #include "vtkObject.h"
00045
00046 class vtkIdList;
00047 class vtkPoints;
00048
00049 class VTK_COMMON_EXPORT vtkEdgeTable : public vtkObject
00050 {
00051 public:
00053 static vtkEdgeTable *New();
00054
00055 vtkTypeRevisionMacro(vtkEdgeTable,vtkObject);
00056 void PrintSelf(ostream& os, vtkIndent indent);
00057
00059 void Initialize();
00060
00068 int InitEdgeInsertion(vtkIdType numPoints, int storeAttributes=0);
00069
00077 vtkIdType InsertEdge(vtkIdType p1, vtkIdType p2);
00078
00085 void InsertEdge(vtkIdType p1, vtkIdType p2, int attributeId);
00086
00092 int IsEdge(vtkIdType p1, vtkIdType p2);
00093
00097 int InitPointInsertion(vtkPoints *newPts, vtkIdType estSize);
00098
00100
00103 int InsertUniquePoint(vtkIdType p1, vtkIdType p2, float x[3],
00104 vtkIdType &ptId);
00106
00108
00109 vtkGetMacro(NumberOfEdges, vtkIdType);
00111
00113 void InitTraversal();
00114
00119 int GetNextEdge(vtkIdType &p1, vtkIdType &p2);
00120
00123 void Reset();
00124
00125 protected:
00126 vtkEdgeTable();
00127 ~vtkEdgeTable();
00128
00129 vtkIdList **Table;
00130 vtkIdList **Attributes;
00131 int StoreAttributes;
00132 vtkIdType TableMaxId;
00133 vtkIdType TableSize;
00134 int Position[2];
00135 int Extend;
00136 vtkIdType NumberOfEdges;
00137 vtkPoints *Points;
00138
00139 vtkIdList **Resize(vtkIdType size);
00140 private:
00141 vtkEdgeTable(const vtkEdgeTable&);
00142 void operator=(const vtkEdgeTable&);
00143 };
00144
00145 #endif
00146