#include </usr1/tp517/Tumble/trunk/src/tumble/cell.h>
Inheritance diagram for EdgeCell:
The EdgeCell keeps track of which VertexCells are sub-cells of this EdgeCell, and which FaceCells, have this EdgeCell as a sub-cell. In the case of a self-loop we store the single VeretexCell twice.
Definition at line 177 of file cell.h.
typedef PersistantArray<VertexCell*,2>::iterator EdgeCell::vertex_iterator |
typedef PersistantArray<VertexCell*,2>::const_iterator EdgeCell::vertex_const_iterator |
typedef PersistantArray<FaceCell*,2>::iterator EdgeCell::face_iterator |
typedef PersistantArray<FaceCell*,2>::const_iterator EdgeCell::face_const_iterator |
EdgeCell::EdgeCell | ( | PersistantStore & | , | |
VertexCell * | v1, | |||
VertexCell * | v2 | |||
) |
EdgeCell::EdgeCell | ( | const EdgeCell & | o | ) | [private] |
void EdgeCell::add_face | ( | FaceCell * | f | ) |
Add FaceCell to the face set.
Since it is only possible for an EdgeCell to be a sub-simplex of two unique FaceCells, fail, if there are already two unique faces. Also fail if FaceCell is already in face set.
f | The FaceCell to add |
Definition at line 179 of file cell.C.
References PersistantArray< Datum, N >::access(), faces_, has_face(), and num_faces().
Here is the call graph for this function:
void EdgeCell::delete_face | ( | FaceCell * | f | ) |
bool EdgeCell::has_vertex | ( | const VertexCell * | v | ) | const |
Check if this EdgeCell has given VertexCell as a sub-cell.
Definition at line 212 of file cell.C.
References vertices_.
bool EdgeCell::has_face | ( | const FaceCell * | f | ) | const |
Check if this EdgeCell is a sub-cell of given FaceCell.
Definition at line 219 of file cell.C.
References faces_.
Referenced by add_face(), and BezierMesh::orient_edge_triangle().
int EdgeCell::num_faces | ( | ) | const |
Get number of faces with this edge as a sub-cell.
Definition at line 226 of file cell.C.
References faces_.
Referenced by add_face(), Visualization::draw_smooth_debug(), end_faces(), BezierMesh::flip(), BezierMesh::function_angle(), BezierMesh::locate_point_in_linear_mesh(), BezierMesh::protect_boundarys(), BezierMesh::remove_vertex(), BezierMesh::replace_control_point(), BezierMesh::should_flip(), BezierMesh::should_refine_func_angle(), and BezierMesh::smooth_edge().
vertex_iterator EdgeCell::begin_vertices | ( | ) | [inline] |
Definition at line 201 of file cell.h.
References vertices_.
Referenced by BoundaryEdge::get_d0_vertex(), and operator<<().
vertex_const_iterator EdgeCell::begin_vertices | ( | ) | const [inline] |
vertex_iterator EdgeCell::end_vertices | ( | ) | [inline] |
Definition at line 204 of file cell.h.
References vertices_.
Referenced by BoundaryEdge::get_d0_vertex(), and operator<<().
vertex_const_iterator EdgeCell::end_vertices | ( | ) | const [inline] |
VertexCell * EdgeCell::get_canon_vertex | ( | ) |
Definition at line 234 of file cell.C.
References vertices_.
Referenced by BezierMesh::remove_vertex().
const VertexCell * EdgeCell::get_canon_vertex | ( | ) | const |
VertexCell* EdgeCell::get_vertex | ( | int | i | ) | [inline] |
Reimplemented in BoundaryEdge, and BezierEdge.
Definition at line 211 of file cell.h.
References vertices_.
Referenced by BezierEdge::get_vertex(), and BoundaryEdge::get_vertex().
const VertexCell* EdgeCell::get_vertex | ( | int | i | ) | const [inline] |
Reimplemented in BoundaryEdge, and BezierEdge.
Definition at line 215 of file cell.h.
References vertices_.
face_iterator EdgeCell::begin_faces | ( | ) | [inline] |
Definition at line 220 of file cell.h.
References faces_.
Referenced by BezierMesh::clean_insert_edge_midpoint(), Visualization::draw_smooth_debug(), BezierMesh::function_angle(), BezierMesh::function_angle_refine(), operator<<(), BezierMesh::should_refine_func_angle(), and BezierMesh::smooth_edge().
face_const_iterator EdgeCell::begin_faces | ( | ) | const [inline] |
face_iterator EdgeCell::end_faces | ( | ) | [inline] |
Definition at line 223 of file cell.h.
References faces_, and num_faces().
Referenced by BezierMesh::clean_insert_edge_midpoint(), BezierMesh::function_angle_refine(), operator<<(), and BezierMesh::should_refine_func_angle().
Here is the call graph for this function:
face_const_iterator EdgeCell::end_faces | ( | ) | const [inline] |
Definition at line 224 of file cell.h.
References faces_, and num_faces().
Here is the call graph for this function:
const FaceCell * EdgeCell::get_any_face | ( | ) | const |
PersistantArray<VertexCell*, 2> EdgeCell::vertices_ [private] |
Definition at line 179 of file cell.h.
Referenced by begin_vertices(), EdgeCell(), end_vertices(), get_canon_vertex(), get_vertex(), and has_vertex().
PersistantArray<FaceCell*, 2> EdgeCell::faces_ [private] |
Definition at line 180 of file cell.h.
Referenced by add_face(), begin_faces(), delete_face(), EdgeCell(), end_faces(), get_any_face(), has_face(), and num_faces().