dox/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
00028
#ifndef __vtkEdgeTable_h
00029
#define __vtkEdgeTable_h
00030
00031
#include "vtkObject.h"
00032
00033
class vtkIdList;
00034
class vtkPoints;
00035
00036 class VTK_COMMON_EXPORT vtkEdgeTable :
public vtkObject
00037 {
00038
public:
00040
static vtkEdgeTable *
New();
00041
00042 vtkTypeRevisionMacro(vtkEdgeTable,
vtkObject);
00043
void PrintSelf(ostream& os,
vtkIndent indent);
00044
00046
void Initialize();
00047
00055
int InitEdgeInsertion(
vtkIdType numPoints,
int storeAttributes=0);
00056
00064
vtkIdType InsertEdge(
vtkIdType p1,
vtkIdType p2);
00065
00072
void InsertEdge(
vtkIdType p1,
vtkIdType p2,
int attributeId);
00073
00079
int IsEdge(
vtkIdType p1,
vtkIdType p2);
00080
00084
int InitPointInsertion(
vtkPoints *newPts,
vtkIdType estSize);
00085
00087
00090
int InsertUniquePoint(
vtkIdType p1,
vtkIdType p2,
float x[3],
00091
vtkIdType &ptId);
00093
00095
00096 vtkGetMacro(NumberOfEdges,
vtkIdType);
00098
00100
void InitTraversal();
00101
00106
int GetNextEdge(
vtkIdType &p1,
vtkIdType &p2);
00107
00110
void Reset();
00111
00112
protected:
00113 vtkEdgeTable();
00114 ~vtkEdgeTable();
00115
00116 vtkIdList **Table;
00117 vtkIdList **Attributes;
00118 int StoreAttributes;
00119 vtkIdType TableMaxId;
00120 vtkIdType TableSize;
00121 int Position[2];
00122 int Extend;
00123 vtkIdType NumberOfEdges;
00124 vtkPoints *Points;
00125
00126
vtkIdList **Resize(
vtkIdType size);
00127
private:
00128 vtkEdgeTable(
const vtkEdgeTable&);
00129
void operator=(
const vtkEdgeTable&);
00130 };
00131
00132
#endif
00133