30#ifndef vtkGenericEdgeTable_h
31#define vtkGenericEdgeTable_h
33#include "vtkCommonDataModelModule.h"
36class vtkEdgeTableEdge;
37class vtkEdgeTablePoints;
166 delete[] this->Scalar;
173 memcpy(this->Coord,other.
Coord,
sizeof(
double)*3);
176 this->numberOfComponents = c;
177 this->Scalar =
new double[c];
178 memcpy(this->Scalar, other.
Scalar,
sizeof(
double)*c);
188 memcpy(this->Coord, other.
Coord,
sizeof(
double)*3);
192 if(this->numberOfComponents!=c)
194 delete[] this->Scalar;
195 this->Scalar =
new double[c];
196 this->numberOfComponents = c;
198 memcpy(this->Scalar, other.
Scalar,
sizeof(
double)*c);
230 this->PtId = copy.
PtId;
231 this->CellId = copy.
CellId;
244 this->PtId = entry.
PtId;
245 this->CellId = entry.
CellId;
261 vtkEdgeTableEdge *EdgeTable;
264 vtkEdgeTablePoints *HashPoints;
EdgeEntry(const EdgeEntry ©)
EdgeEntry & operator=(const EdgeEntry &entry)
PointEntry & operator=(const PointEntry &other)
PointEntry(int size)
Constructor with a scalar field of ‘size’ doubles.
PointEntry(const PointEntry &other)
keep track of edges (defined by pair of integer id's)
int CheckEdgeReferenceCount(vtkIdType e1, vtkIdType e2)
Return the edge reference count.
void InsertEdge(vtkIdType e1, vtkIdType e2, vtkIdType cellId, int ref, vtkIdType &ptId)
Split the edge with the indicated point id.
void InsertEdge(vtkIdType e1, vtkIdType e2, vtkIdType cellId, int ref=1)
Insert an edge but do not split it.
int CheckEdge(vtkIdType e1, vtkIdType e2, vtkIdType &ptId)
Method to determine whether an edge is in the table (0 or 1), or not (-1).
void InsertPointAndScalar(vtkIdType ptId, double pt[3], double *s)
void RemovePoint(vtkIdType ptId)
Remove a point from the point table.
int CheckPoint(vtkIdType ptId)
Check if a point is already in the point table.
~vtkGenericEdgeTable() override
int CheckPoint(vtkIdType ptId, double point[3], double *scalar)
Check for the existence of a point and return its coordinate value.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void IncrementPointReferenceCount(vtkIdType ptId)
Increment the reference count for the indicated point.
int GetNumberOfComponents()
Return the total number of components for the point-centered attributes.
void Initialize(vtkIdType start)
To specify the starting point id.
int IncrementEdgeReferenceCount(vtkIdType e1, vtkIdType e2, vtkIdType cellId)
Method that increments the referencecount and returns it.
int RemoveEdge(vtkIdType e1, vtkIdType e2)
Method to remove an edge from the table.
void DumpTable()
For debugging purposes.
void SetNumberOfComponents(int count)
Set the total number of components for the point-centered attributes.
void InsertPoint(vtkIdType ptId, double point[3])
Insert point associated with an edge.
static vtkGenericEdgeTable * New()
Instantiate an empty edge table.
a simple class to control print indentation
abstract base class for most VTK objects