vtkGenericEdgeTable Class Reference

keep track of edges (defined by pair of integer id's) More...

`#include <vtkGenericEdgeTable.h>`

Inheritance diagram for vtkGenericEdgeTable:
[legend]
Collaboration diagram for vtkGenericEdgeTable:
[legend]

## Classes

class | EdgeEntry
class | PointEntry

## Public Types

typedef vtkObject | Superclass
| Standard VTK type and print macros. More...

## Public Member Functions

virtual vtkTypeBool | IsA (const char *type)
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
vtkGenericEdgeTable * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
void | InsertEdge (vtkIdType e1, vtkIdType e2, vtkIdType cellId, int ref, vtkIdType &ptId)
| Split the edge with the indicated point id. More...
void | InsertEdge (vtkIdType e1, vtkIdType e2, vtkIdType cellId, int ref=1)
| Insert an edge but do not split it. More...
int | RemoveEdge (vtkIdType e1, vtkIdType e2)
| Method to remove an edge from the table. More...
int | CheckEdge (vtkIdType e1, vtkIdType e2, vtkIdType &ptId)
| Method to determine whether an edge is in the table (0 or 1), or not (-1). More...
int | IncrementEdgeReferenceCount (vtkIdType e1, vtkIdType e2, vtkIdType cellId)
| Method that increments the referencecount and returns it. More...
int | CheckEdgeReferenceCount (vtkIdType e1, vtkIdType e2)
| Return the edge reference count. More...
void | Initialize (vtkIdType start)
| To specify the starting point id. More...
int | GetNumberOfComponents ()
| Return the total number of components for the point-centered attributes. More...
void | SetNumberOfComponents (int count)
| Set the total number of components for the point-centered attributes. More...
int | CheckPoint (vtkIdType ptId)
| Check if a point is already in the point table. More...
int | CheckPoint (vtkIdType ptId, double point[3], double *scalar)
| Check for the existence of a point and return its coordinate value. More...
void | InsertPoint (vtkIdType ptId, double point[3])
| Insert point associated with an edge. More...
void | InsertPointAndScalar (vtkIdType ptId, double pt[3], double *s)
void | RemovePoint (vtkIdType ptId)
| Remove a point from the point table. More...
void | IncrementPointReferenceCount (vtkIdType ptId)
| Increment the reference count for the indicated point. More...
void | DumpTable ()
| For debugging purposes. More...
void | LoadFactor ()
Public Member Functions inherited from vtkObject
| vtkBaseTypeMacro (vtkObject, vtkObjectBase)
virtual void | DebugOn ()
| Turn debugging output on. More...
virtual void | DebugOff ()
| Turn debugging output off. More...
bool | GetDebug ()
| Get the value of the debug flag. More...
void | SetDebug (bool debugFlag)
| Set the value of the debug flag. More...
virtual void | Modified ()
| Update the modification time for this object. More...
virtual vtkMTimeType | GetMTime ()
| Return this object's modified time. More...
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f)
vtkCommand * | GetCommand (unsigned long tag)
void | RemoveObserver (vtkCommand *)
void | RemoveObservers (unsigned long event, vtkCommand *)
void | RemoveObservers (const char *event, vtkCommand *)
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *)
vtkTypeBool | HasObserver (const char *event, vtkCommand *)
void | RemoveObserver (unsigned long tag)
void | RemoveObservers (unsigned long event)
void | RemoveObservers (const char *event)
void | RemoveAllObservers ()
vtkTypeBool | HasObserver (unsigned long event)
vtkTypeBool | HasObserver (const char *event)
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
| Allow user to set the AbortFlagOn() with the return value of the callback method. More...
int | InvokeEvent (unsigned long event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
int | InvokeEvent (const char *event, void *callData)
int | InvokeEvent (unsigned long event)
int | InvokeEvent (const char *event)
Public Member Functions inherited from vtkObjectBase
const char * | GetClassName () const
| Return the class name as a string. More...
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name)
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
virtual void | Delete ()
| Delete a VTK object. More...
virtual void | FastDelete ()
| Delete a reference to this object. More...
void | InitializeObjectBase ()
void | Print (ostream &os)
| Print an object to an ostream. More...
virtual void | PrintHeader (ostream &os, vtkIndent indent)
virtual void | PrintTrailer (ostream &os, vtkIndent indent)
virtual void | Register (vtkObjectBase *o)
| Increase the reference count (mark as used by another object). More...
virtual void | UnRegister (vtkObjectBase *o)
| Decrease the reference count (release by another object). More...
int | GetReferenceCount ()
| Return the current reference count of this object. More...
void | SetReferenceCount (int)
| Sets the reference count. More...
void | PrintRevisions (ostream &)
| Legacy. More...

## Static Public Member Functions

static vtkGenericEdgeTable * | New ()
| Instantiate an empty edge table. More...
static vtkTypeBool | IsTypeOf (const char *type)
static vtkGenericEdgeTable * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkObject
static vtkObject * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
static void | BreakOnError ()
| This method is called when vtkErrorMacro executes. More...
static void | SetGlobalWarningDisplay (int val)
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
static void | GlobalWarningDisplayOn ()
static void | GlobalWarningDisplayOff ()
static int | GetGlobalWarningDisplay ()
Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool | IsTypeOf (const char *name)
| Return 1 if this class type is the same type of (or a subclass of) the named class. More...
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name)
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
static vtkObjectBase * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...

## Protected Member Functions

virtual vtkObjectBase * | NewInstanceInternal () const
| vtkGenericEdgeTable ()
| ~vtkGenericEdgeTable () override
void | InsertEdge (vtkIdType e1, vtkIdType e2, vtkIdType cellId, int ref, int toSplit, vtkIdType &ptId)
| Split the edge with the indicated point id. More...
vtkIdType | HashFunction (vtkIdType e1, vtkIdType e2)
vtkIdType | HashFunction (vtkIdType ptId)
Protected Member Functions inherited from vtkObject
| vtkObject ()
| ~vtkObject () override
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
| These methods allow a command to exclusively grab all events. More...
void | InternalReleaseFocus ()
Protected Member Functions inherited from vtkObjectBase
| vtkObjectBase ()
virtual | ~vtkObjectBase ()
virtual void | CollectRevisions (ostream &)
virtual void | ReportReferences (vtkGarbageCollector *)
| vtkObjectBase (const vtkObjectBase &)
void | operator= (const vtkObjectBase &)

## Protected Attributes

vtkEdgeTableEdge * | EdgeTable
vtkEdgeTablePoints * | HashPoints
vtkIdType | LastPointId
vtkIdType | NumberOfComponents
Protected Attributes inherited from vtkObject
bool | Debug
vtkTimeStamp | MTime
vtkSubjectHelper * | SubjectHelper
Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > | ReferenceCount
vtkWeakPointerBase ** | WeakPointers

## Detailed Description

keep track of edges (defined by pair of integer id's)

vtkGenericEdgeTable is used to indicate the existence of and hold information about edges. Similar to vtkEdgeTable, this class is more sophisticated in that it uses reference counting to keep track of when information about an edge should be deleted.

vtkGenericEdgeTable is a helper class used in the adaptor framework. It is used during the tessellation process to hold information about the error metric on each edge. This avoids recomputing the error metric each time the same edge is visited.

Definition at line 39 of file vtkGenericEdgeTable.h.

## Member Typedef Documentation

## Superclass

typedef vtkObject vtkGenericEdgeTable::Superclass

Standard VTK type and print macros.

Definition at line 51 of file vtkGenericEdgeTable.h.

## Constructor & Destructor Documentation

## vtkGenericEdgeTable()

vtkGenericEdgeTable::vtkGenericEdgeTable | ( |  | ) |

protected

## ~vtkGenericEdgeTable()

vtkGenericEdgeTable::~vtkGenericEdgeTable | ( |  | ) |

override protected

## Member Function Documentation

## New()

static vtkGenericEdgeTable* vtkGenericEdgeTable::New | ( |  | ) |

static

Instantiate an empty edge table.

## IsTypeOf()

static vtkTypeBool vtkGenericEdgeTable::IsTypeOf | ( | const char * | type | ) |

static

## IsA()

virtual vtkTypeBool vtkGenericEdgeTable::IsA | ( | const char * | name | ) |

virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObjectBase.

## SafeDownCast()

static vtkGenericEdgeTable* vtkGenericEdgeTable::SafeDownCast | ( | vtkObjectBase * | o | ) |

static

## NewInstanceInternal()

virtual vtkObjectBase* vtkGenericEdgeTable::NewInstanceInternal | ( |  | ) | const

protected virtual

## NewInstance()

vtkGenericEdgeTable* vtkGenericEdgeTable::NewInstance | ( |  | ) | const

## PrintSelf()

void vtkGenericEdgeTable::PrintSelf | ( | ostream & | os,
|  | vtkIndent | indent
| ) |  |

override virtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

## InsertEdge() [1/3]

void vtkGenericEdgeTable::InsertEdge | ( | vtkIdType | e1,
|  | vtkIdType | e2,
|  | vtkIdType | cellId,
|  | int | ref,
|  | vtkIdType & | ptId
| ) |  |

Split the edge with the indicated point id.

## InsertEdge() [2/3]

void vtkGenericEdgeTable::InsertEdge | ( | vtkIdType | e1,
|  | vtkIdType | e2,
|  | vtkIdType | cellId,
|  | int | ref = `1`
| ) |  |

Insert an edge but do not split it.

## RemoveEdge()

int vtkGenericEdgeTable::RemoveEdge | ( | vtkIdType | e1,
|  | vtkIdType | e2
| ) |  |

Method to remove an edge from the table.

The method returns the current reference count.

## CheckEdge()

int vtkGenericEdgeTable::CheckEdge | ( | vtkIdType | e1,
|  | vtkIdType | e2,
|  | vtkIdType & | ptId
| ) |  |

Method to determine whether an edge is in the table (0 or 1), or not (-1).

It returns whether the edge was split (1) or not (0), and the point id exists.

## IncrementEdgeReferenceCount()

int vtkGenericEdgeTable::IncrementEdgeReferenceCount | ( | vtkIdType | e1,
|  | vtkIdType | e2,
|  | vtkIdType | cellId
| ) |  |

Method that increments the referencecount and returns it.

## CheckEdgeReferenceCount()

int vtkGenericEdgeTable::CheckEdgeReferenceCount | ( | vtkIdType | e1,
|  | vtkIdType | e2
| ) |  |

Return the edge reference count.

## Initialize()

void vtkGenericEdgeTable::Initialize | ( | vtkIdType | start | ) |

To specify the starting point id.

It will initialize LastPointId This is very sensitive the start point should be cautiously chosen

## GetNumberOfComponents()

int vtkGenericEdgeTable::GetNumberOfComponents | ( |  | ) |

Return the total number of components for the point-centered attributes.

Postcondition
  positive_result: result>0

## SetNumberOfComponents()

void vtkGenericEdgeTable::SetNumberOfComponents | ( | int | count | ) |

Set the total number of components for the point-centered attributes.

Precondition
  positive_count: count>0

## CheckPoint() [1/2]

int vtkGenericEdgeTable::CheckPoint | ( | vtkIdType | ptId | ) |

Check if a point is already in the point table.

## CheckPoint() [2/2]

int vtkGenericEdgeTable::CheckPoint | ( | vtkIdType | ptId,
|  | double | point[3],
|  | double * | scalar
| ) |  |

Check for the existence of a point and return its coordinate value.

Precondition
  scalar_size: sizeof(scalar)==this->GetNumberOfComponents()

## InsertPoint()

void vtkGenericEdgeTable::InsertPoint | ( | vtkIdType | ptId,
|  | double | point[3]
| ) |  |

Insert point associated with an edge.

## InsertPointAndScalar()

void vtkGenericEdgeTable::InsertPointAndScalar | ( | vtkIdType | ptId,
|  | double | pt[3],
|  | double * | s
| ) |  |

## RemovePoint()

void vtkGenericEdgeTable::RemovePoint | ( | vtkIdType | ptId | ) |

Remove a point from the point table.

## IncrementPointReferenceCount()

void vtkGenericEdgeTable::IncrementPointReferenceCount | ( | vtkIdType | ptId | ) |

Increment the reference count for the indicated point.

## DumpTable()

void vtkGenericEdgeTable::DumpTable | ( |  | ) |

For debugging purposes.

It is particularly useful to dump the table and check that nothing is left after a complete iteration. LoadFactor should ideally be very low to be able to have a constant time access

## LoadFactor()

void vtkGenericEdgeTable::LoadFactor | ( |  | ) |

## InsertEdge() [3/3]

void vtkGenericEdgeTable::InsertEdge | ( | vtkIdType | e1,
|  | vtkIdType | e2,
|  | vtkIdType | cellId,
|  | int | ref,
|  | int | toSplit,
|  | vtkIdType & | ptId
| ) |  |

protected

Split the edge with the indicated point id.

## HashFunction() [1/2]

vtkIdType vtkGenericEdgeTable::HashFunction | ( | vtkIdType | e1,
|  | vtkIdType | e2
| ) |  |

protected

## HashFunction() [2/2]

vtkIdType vtkGenericEdgeTable::HashFunction | ( | vtkIdType | ptId | ) |

protected

## Member Data Documentation

## EdgeTable

vtkEdgeTableEdge* vtkGenericEdgeTable::EdgeTable

protected

Definition at line 256 of file vtkGenericEdgeTable.h.

## HashPoints

vtkEdgeTablePoints* vtkGenericEdgeTable::HashPoints

protected

Definition at line 259 of file vtkGenericEdgeTable.h.

## LastPointId

vtkIdType vtkGenericEdgeTable::LastPointId

protected

Definition at line 269 of file vtkGenericEdgeTable.h.

## NumberOfComponents

vtkIdType vtkGenericEdgeTable::NumberOfComponents

protected

Definition at line 271 of file vtkGenericEdgeTable.h.

The documentation for this class was generated from the following file:

- Common/DataModel/vtkGenericEdgeTable.h