vtkGenericEdgeTable Class Reference

#include <vtkGenericEdgeTable.h>

Inheritance diagram for vtkGenericEdgeTable:

Inheritance graph
[legend]
Collaboration diagram for vtkGenericEdgeTable:

Collaboration graph
[legend]

List of all members.


Detailed Description

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

vtkGenericEdgeTable is used to indicate the existance 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 37 of file vtkGenericEdgeTable.h.

typedef vtkObject Superclass
static int IsTypeOf (const char *type)
static vtkGenericEdgeTableSafeDownCast (vtkObject *o)
virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)

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

Classes

class  EdgeEntry
class  PointEntry

Member Typedef Documentation

Standard VTK type and print macros.

Reimplemented from vtkObject.

Definition at line 45 of file vtkGenericEdgeTable.h.


Constructor & Destructor Documentation

vtkGenericEdgeTable::vtkGenericEdgeTable (  )  [protected]

vtkGenericEdgeTable::~vtkGenericEdgeTable (  )  [protected]


Member Function Documentation

static vtkGenericEdgeTable* vtkGenericEdgeTable::New (  )  [static]

Instantiate an empty edge table.

Reimplemented from vtkObject.

virtual const char* vtkGenericEdgeTable::GetClassName (  )  [virtual]

Standard VTK type and print macros.

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.

static vtkGenericEdgeTable* vtkGenericEdgeTable::SafeDownCast ( vtkObject o  )  [static]

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.

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

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

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.

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

Method that increments the referencecount and returns it.

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

Return the edge reference count.

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

int vtkGenericEdgeTable::GetNumberOfComponents (  ) 

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

Postcondition:
positive_result: result>0

void vtkGenericEdgeTable::SetNumberOfComponents ( int  count  ) 

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

Precondition:
positive_count: count>0

int vtkGenericEdgeTable::CheckPoint ( vtkIdType  ptId  ) 

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.

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

Insert point associated with an edge.

void vtkGenericEdgeTable::RemovePoint ( vtkIdType  ptId  ) 

Remove a point from the point table.

void vtkGenericEdgeTable::IncrementPointReferenceCount ( vtkIdType  ptId  ) 

Increment the reference count for the indicated point.

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

void vtkGenericEdgeTable::LoadFactor (  ) 

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.

vtkIdType vtkGenericEdgeTable::HashFunction ( vtkIdType  e1,
vtkIdType  e2 
) [protected]

vtkIdType vtkGenericEdgeTable::HashFunction ( vtkIdType  ptId  )  [protected]


Member Data Documentation

vtkEdgeTableEdge* vtkGenericEdgeTable::EdgeTable [protected]

Definition at line 227 of file vtkGenericEdgeTable.h.

vtkEdgeTablePoints* vtkGenericEdgeTable::HashPoints [protected]

Definition at line 230 of file vtkGenericEdgeTable.h.

Definition at line 240 of file vtkGenericEdgeTable.h.

Definition at line 242 of file vtkGenericEdgeTable.h.


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

Generated on Sat Dec 27 13:26:12 2008 for VTK by  doxygen 1.5.6