FaceCell Class Reference

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

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

Inheritance diagram for FaceCell:

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

Public Types

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

Public Member Functions

 FaceCell (PersistantStore &)
 Generate an empty FaceCell.
virtual ~FaceCell ()
 Delete edges array.
void add_edge (EdgeCell *e)
 Add an EdgeCell to list of edges that are sub-cells.
void delete_edge (EdgeCell *e)
 Delete an EdgeCell from the list of edges that are sub-cells.
bool has_vertex (const VertexCell *v) const
 Check if this FaceCell has given VertexCell as a sub-cell.
bool has_edge (const EdgeCell *e) const
 Check if this FaceCell has given EdgeCell as a sub-cell.
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_canon_edge ()
const EdgeCellget_canon_edge () const

Private Types

typedef PersistantVector<
EdgeCell * > 
vector

Private Member Functions

 FaceCell (const FaceCell &)
FaceCelloperator= (const FaceCell &o)

Private Attributes

vector edges_

Detailed Description

The model for all Faces of a CellComplex.

The FaceCell keeps track of which EdgeCell's are sub-cells of itself. Since there may be arbirarily many, the set of EdgeCell's is kept in a size-doubling array.

Definition at line 242 of file cell.h.


Member Typedef Documentation

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

Definition at line 244 of file cell.h.

typedef vector::iterator FaceCell::edge_iterator

Definition at line 263 of file cell.h.

typedef vector::const_iterator FaceCell::edge_const_iterator

Definition at line 264 of file cell.h.


Constructor & Destructor Documentation

FaceCell::FaceCell ( PersistantStore store  ) 

Generate an empty FaceCell.

Since most FaceCells will be triangles, start out edges array at size 3.

Definition at line 267 of file cell.C.

References edges_.

FaceCell::~FaceCell (  )  [virtual]

Delete edges array.

Definition at line 273 of file cell.C.

FaceCell::FaceCell ( const FaceCell  )  [private]


Member Function Documentation

void FaceCell::add_edge ( EdgeCell e  ) 

Add an EdgeCell to list of edges that are sub-cells.

If edges is too small, then double its size.

Parameters:
e The EdgeCell to add
Returns:
true if addition is successfull, false if e is NULL, or already present in list

Definition at line 283 of file cell.C.

References edges_, and has_edge().

Here is the call graph for this function:

void FaceCell::delete_edge ( EdgeCell e  ) 

Delete an EdgeCell from the list of edges that are sub-cells.

Parameters:
e The EdgeCell to delete
Returns:
true if removal is successfull, false if e is NULL or not in list

Definition at line 295 of file cell.C.

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

Here is the call graph for this function:

bool FaceCell::has_vertex ( const VertexCell v  )  const

Check if this FaceCell has given VertexCell as a sub-cell.

Definition at line 311 of file cell.C.

References begin_edges(), and end_edges().

Here is the call graph for this function:

bool FaceCell::has_edge ( const EdgeCell e  )  const

Check if this FaceCell has given EdgeCell as a sub-cell.

Definition at line 317 of file cell.C.

References begin_edges(), and end_edges().

Referenced by add_edge().

Here is the call graph for this function:

int FaceCell::num_edges (  )  const [inline]

Definition at line 261 of file cell.h.

References edges_.

Referenced by get_canon_edge().

edge_iterator FaceCell::begin_edges (  )  [inline]

Definition at line 266 of file cell.h.

References edges_.

Referenced by delete_edge(), get_canon_edge(), BezierTriangle::get_edge(), has_edge(), has_vertex(), and operator<<().

edge_const_iterator FaceCell::begin_edges (  )  const [inline]

Definition at line 267 of file cell.h.

References edges_.

edge_iterator FaceCell::end_edges (  )  [inline]

Definition at line 269 of file cell.h.

References edges_.

Referenced by delete_edge(), has_edge(), has_vertex(), and operator<<().

edge_const_iterator FaceCell::end_edges (  )  const [inline]

Definition at line 270 of file cell.h.

References edges_.

EdgeCell * FaceCell::get_canon_edge (  ) 

Definition at line 327 of file cell.C.

References begin_edges(), and num_edges().

Here is the call graph for this function:

const EdgeCell * FaceCell::get_canon_edge (  )  const

Definition at line 322 of file cell.C.

References begin_edges(), and num_edges().

Here is the call graph for this function:

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


Member Data Documentation

vector FaceCell::edges_ [private]

Definition at line 245 of file cell.h.

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


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