VTK
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkGenericEdgeTable Class Reference

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

#include <vtkGenericEdgeTable.h>

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

List of all members.

Classes

class  EdgeEntry
class  PointEntry

Public Member Functions

void InsertEdge (vtkIdType e1, vtkIdType e2, vtkIdType cellId, int ref=1)
int RemoveEdge (vtkIdType e1, vtkIdType e2)
int CheckEdge (vtkIdType e1, vtkIdType e2, vtkIdType &ptId)
int CheckEdgeReferenceCount (vtkIdType e1, vtkIdType e2)
void Initialize (vtkIdType start)
int GetNumberOfComponents ()
void SetNumberOfComponents (int count)
int CheckPoint (vtkIdType ptId)
int CheckPoint (vtkIdType ptId, double point[3], double *scalar)
void RemovePoint (vtkIdType ptId)
void IncrementPointReferenceCount (vtkIdType ptId)
void InsertEdge (vtkIdType e1, vtkIdType e2, vtkIdType cellId, int ref, vtkIdType &ptId)
int IncrementEdgeReferenceCount (vtkIdType e1, vtkIdType e2, vtkIdType cellId)
void InsertPoint (vtkIdType ptId, double point[3])
void InsertPointAndScalar (vtkIdType ptId, double pt[3], double *s)
void DumpTable ()
void LoadFactor ()

Static Public Member Functions

static vtkGenericEdgeTableNew ()

Protected Member Functions

 vtkGenericEdgeTable ()
 ~vtkGenericEdgeTable ()
vtkIdType HashFunction (vtkIdType e1, vtkIdType e2)
vtkIdType HashFunction (vtkIdType ptId)
void InsertEdge (vtkIdType e1, vtkIdType e2, vtkIdType cellId, int ref, int toSplit, vtkIdType &ptId)

Protected Attributes

vtkEdgeTableEdge * EdgeTable
vtkEdgeTablePoints * HashPoints
vtkIdType LastPointId
vtkIdType NumberOfComponents
typedef vtkObject Superclass
static int IsTypeOf (const char *type)
static vtkGenericEdgeTableSafeDownCast (vtkObjectBase *o)
virtual int IsA (const char *type)
vtkGenericEdgeTableNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
virtual vtkObjectBaseNewInstanceInternal () const

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 38 of file vtkGenericEdgeTable.h.


Member Typedef Documentation

Standard VTK type and print macros.

Reimplemented from vtkObject.

Definition at line 46 of file vtkGenericEdgeTable.h.


Constructor & Destructor Documentation


Member Function Documentation

Instantiate an empty edge table.

Reimplemented from vtkObject.

static int vtkGenericEdgeTable::IsTypeOf ( const char *  type) [static]

Standard VTK type and print macros.

Reimplemented from vtkObject.

virtual int vtkGenericEdgeTable::IsA ( const char *  type) [virtual]

Standard VTK type and print macros.

Reimplemented from vtkObject.

Standard VTK type and print macros.

Reimplemented from vtkObject.

virtual vtkObjectBase* vtkGenericEdgeTable::NewInstanceInternal ( ) const [protected, virtual]

Standard VTK type and print macros.

Reimplemented from vtkObject.

Standard VTK type and print macros.

Reimplemented from vtkObject.

void vtkGenericEdgeTable::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Standard VTK type and print macros.

Reimplemented from vtkObject.

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

Split the edge with the indicated point id.

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

Insert an edge but do not split it.

Method to remove an edge from the table. The method returns the current reference count.

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.

Method that increments the referencecount and returns it.

Return the edge reference count.

To specify the starting point id. It will initialize LastPointId This is very sensitive the start point should be cautiously chosen

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

Postcondition:
positive_result: result>0

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

Precondition:
positive_count: count>0

Check if a point is already in the point table.

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()
void vtkGenericEdgeTable::InsertPoint ( vtkIdType  ptId,
double  point[3] 
)

Insert point associated with an edge.

Insert point associated with an edge.

Remove a point from the point table.

Increment the reference count for the indicated point.

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

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

void vtkGenericEdgeTable::InsertEdge ( vtkIdType  e1,
vtkIdType  e2,
vtkIdType  cellId,
int  ref,
int  toSplit,
vtkIdType ptId 
) [protected]

Split the edge with the indicated point id.


Member Data Documentation

vtkEdgeTableEdge* vtkGenericEdgeTable::EdgeTable [protected]

Definition at line 228 of file vtkGenericEdgeTable.h.

vtkEdgeTablePoints* vtkGenericEdgeTable::HashPoints [protected]

Definition at line 231 of file vtkGenericEdgeTable.h.

Definition at line 241 of file vtkGenericEdgeTable.h.

Definition at line 243 of file vtkGenericEdgeTable.h.


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