VertexCell Class Reference

The model for all Vertexes of a CellComplex. More...

#include </usr1/tp517/Tumble/trunk/src/tumble/cell.h>

Inheritance diagram for VertexCell:

[legend]
Collaboration diagram for VertexCell:
[legend]
List of all members.

Public Types

typedef vector::iterator edge_iterator
typedef vector::const_iterator edge_const_iterator

Public Member Functions

 VertexCell (PersistantStore &)
 Create an empty VertexCell Initialize array to size 6, as this is the avg degree in a planar triangulation.
virtual ~VertexCell ()
 Destroy edges array.
void add_edge (EdgeCell *e)
 Add a new EdgeCell to the list If there is not enough room, double the array size.
void delete_edge (EdgeCell *e)
 Delete an EdgeCell from the list.
bool has_edge (const EdgeCell *e) const
 Check if this Vertex is a sub-cell of given EdgeCell.
bool has_face (const FaceCell *f) const
int num_edges () const
edge_iterator begin_edges ()
edge_const_iterator begin_edges () const
edge_iterator end_edges ()
edge_const_iterator end_edges () const
EdgeCellget_any_edge ()
const EdgeCellget_any_edge () const

Private Types

typedef PersistantVector<
EdgeCell * > 
vector

Private Member Functions

 VertexCell (const VertexCell &o)
VertexCelloperator= (const VertexCell &o)

Private Attributes

vector edges_

Detailed Description

The model for all Vertexes of a CellComplex.

The VertexCell keeps track of which EdgeCells have this vertex as a sub-cell. Since there may be arbitrarilly many such EdgeCells, we use a size-doubling array to hold the EdgeCell list.

Definition at line 134 of file cell.h.


Member Typedef Documentation

typedef PersistantVector<EdgeCell*> VertexCell::vector [private]

Definition at line 136 of file cell.h.

typedef vector::iterator VertexCell::edge_iterator

Definition at line 153 of file cell.h.

typedef vector::const_iterator VertexCell::edge_const_iterator

Definition at line 154 of file cell.h.


Constructor & Destructor Documentation

VertexCell::VertexCell ( PersistantStore  ) 

Create an empty VertexCell Initialize array to size 6, as this is the avg degree in a planar triangulation.

Definition at line 90 of file cell.C.

References edges_.

VertexCell::~VertexCell (  )  [virtual]

Destroy edges array.

Definition at line 96 of file cell.C.

VertexCell::VertexCell ( const VertexCell o  )  [private]


Member Function Documentation

void VertexCell::add_edge ( EdgeCell e  ) 

Add a new EdgeCell to the list If there is not enough room, double the array size.

Definition at line 103 of file cell.C.

References edges_, and has_edge().

Here is the call graph for this function:

void VertexCell::delete_edge ( EdgeCell e  ) 

Delete an EdgeCell from the list.

Returns:
true if delete successful, false if EdgeCell not found in list

Definition at line 114 of file cell.C.

References begin_edges(), edges_, and end_edges().

Here is the call graph for this function:

bool VertexCell::has_edge ( const EdgeCell e  )  const

Check if this Vertex is a sub-cell of given EdgeCell.

Definition at line 123 of file cell.C.

References begin_edges(), and end_edges().

Referenced by add_edge(), and BezierVertex::get_u().

Here is the call graph for this function:

bool VertexCell::has_face ( const FaceCell f  )  const

Definition at line 138 of file cell.C.

References begin_edges(), and end_edges().

Here is the call graph for this function:

int VertexCell::num_edges (  )  const [inline]

Definition at line 151 of file cell.h.

References edges_.

Referenced by BoundaryMesh::delete_vertex(), and BezierMesh::delete_vertex().

edge_iterator VertexCell::begin_edges (  )  [inline]

Definition at line 156 of file cell.h.

References edges_.

Referenced by BezierMesh::coarsen_make_lipshitz(), delete_edge(), has_edge(), has_face(), and operator<<().

edge_const_iterator VertexCell::begin_edges (  )  const [inline]

Definition at line 157 of file cell.h.

References edges_.

edge_iterator VertexCell::end_edges (  )  [inline]

Definition at line 159 of file cell.h.

References edges_.

Referenced by BezierMesh::coarsen_make_lipshitz(), delete_edge(), has_edge(), has_face(), and operator<<().

edge_const_iterator VertexCell::end_edges (  )  const [inline]

Definition at line 160 of file cell.h.

References edges_.

EdgeCell * VertexCell::get_any_edge (  ) 

Definition at line 151 of file cell.C.

References edges_.

Referenced by BoundaryMesh::delete_vertex(), and BezierMesh::delete_vertex().

const EdgeCell * VertexCell::get_any_edge (  )  const

Definition at line 145 of file cell.C.

References edges_.

VertexCell& VertexCell::operator= ( const VertexCell o  )  [private]


Member Data Documentation

vector VertexCell::edges_ [private]

Definition at line 137 of file cell.h.

Referenced by add_edge(), begin_edges(), delete_edge(), end_edges(), get_any_edge(), num_edges(), and VertexCell().


The documentation for this class was generated from the following files:
Generated on Mon May 24 09:53:35 2010 for TUMBLE by  doxygen 1.5.2