Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

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
virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
static vtkGenericEdgeTableNew ()
static int IsTypeOf (const char *type)
static vtkGenericEdgeTableSafeDownCast (vtkObject *o)

Public Member Functions

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

Protected Member Functions

 vtkGenericEdgeTable ()
vtkIdType HashFunction (vtkIdType e1, vtkIdType e2)
vtkIdType HashFunction (vtkIdType ptId)
 ~vtkGenericEdgeTable ()
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

typedef vtkObject vtkGenericEdgeTable::Superclass
 

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
 

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

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

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  ) 
 

Increment the reference count for the indicated point.

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.

vtkIdType vtkGenericEdgeTable::LastPointId [protected]
 

Definition at line 240 of file vtkGenericEdgeTable.h.

vtkIdType vtkGenericEdgeTable::NumberOfComponents [protected]
 

Definition at line 242 of file vtkGenericEdgeTable.h.


The documentation for this class was generated from the following file:
Generated on Mon Jan 21 23:45:41 2008 for VTK by  doxygen 1.4.3-20050530