18 #ifndef vtkGenericEdgeTable_h
19 #define vtkGenericEdgeTable_h
21 #include "vtkCommonDataModelModule.h"
24 VTK_ABI_NAMESPACE_BEGIN
25 class vtkEdgeTableEdge;
26 class vtkEdgeTablePoints;
157 memcpy(this->Coord, other.
Coord,
sizeof(
double) * 3);
160 this->numberOfComponents = c;
161 this->Scalar =
new double[c];
162 memcpy(this->Scalar, other.
Scalar,
sizeof(
double) * c);
172 memcpy(this->Coord, other.
Coord,
sizeof(
double) * 3);
176 if (this->numberOfComponents != c)
178 delete[] this->Scalar;
179 this->Scalar =
new double[c];
180 this->numberOfComponents = c;
182 memcpy(this->Scalar, other.
Scalar,
sizeof(
double) * c);
214 this->PtId = copy.
PtId;
215 this->CellId = copy.
CellId;
228 this->PtId = entry.
PtId;
229 this->CellId = entry.
CellId;
267 VTK_ABI_NAMESPACE_END
EdgeEntry(const EdgeEntry ©)
EdgeEntry & operator=(const EdgeEntry &entry)
PointEntry(int size)
Constructor with a scalar field of ‘size’ doubles.
PointEntry(const PointEntry &other)
PointEntry & operator=(const PointEntry &other)
keep track of edges (defined by pair of integer id's)
vtkIdType NumberOfComponents
int CheckEdgeReferenceCount(vtkIdType e1, vtkIdType e2)
Return the edge reference count.
vtkEdgeTablePoints * HashPoints
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, int toSplit, 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)
Insert point associated with an edge.
vtkEdgeTableEdge * EdgeTable
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
Standard VTK type and print macros.
static vtkGenericEdgeTable * New()
Instantiate an empty edge table.
void IncrementPointReferenceCount(vtkIdType ptId)
Increment the reference count for the indicated point.
vtkIdType HashFunction(vtkIdType e1, vtkIdType e2)
int GetNumberOfComponents()
Return the total number of components for the point-centered attributes.
void Initialize(vtkIdType start)
To specify the starting point id.
void LoadFactor()
For debugging purposes.
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.
vtkIdType HashFunction(vtkIdType ptId)
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.
a simple class to control print indentation
abstract base class for most VTK objects