#include </usr1/tp517/Tumble/trunk/src/tumble/cell.h>
Inheritance diagram for VertexCell:
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 |
EdgeCell * | get_any_edge () |
const EdgeCell * | get_any_edge () const |
Private Types | |
typedef PersistantVector< EdgeCell * > | vector |
Private Member Functions | |
VertexCell (const VertexCell &o) | |
VertexCell & | operator= (const VertexCell &o) |
Private Attributes | |
vector | edges_ |
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.
typedef PersistantVector<EdgeCell*> VertexCell::vector [private] |
typedef vector::iterator VertexCell::edge_iterator |
typedef vector::const_iterator VertexCell::edge_const_iterator |
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 | ( | const VertexCell & | o | ) | [private] |
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.
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] |
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] |
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 |
VertexCell& VertexCell::operator= | ( | const VertexCell & | o | ) | [private] |
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().