Triangulating a convex polygon by ear-removal. More...
#include <Triangulation.h>

Classes | |
| class | Node | 
Public Types | |
| typedef CGAL::PointS2< Real > | PointS2 | 
| typedef CGAL::Simple_cartesian < Real >::Segment_2  | SegmentS2 | 
| typedef Three_tuple< int > | Triangle | 
| Connectivity for a triangle.  More... | |
| typedef std::vector< Triangle > | Connectivity | 
| Element connectivity table.  More... | |
Public Member Functions | |
| Triangulation () | |
| A constructor.  More... | |
| void | triangulate (const Point_2 *ps, int n, Connectivity *tri) | 
| Main entry for triangulation.  More... | |
Private Types | |
| typedef std::list< Node > | Node_list | 
| typedef Node_list::iterator | Node_iterator | 
| typedef Node_list::const_iterator | Node_const_iterator | 
Private Member Functions | |
| const PointS2 & | get_point (const Node &v) const | 
| Node_iterator | get_next (Node_iterator i) | 
| Node_iterator | get_prev (Node_iterator i) | 
| Node_const_iterator | get_next (Node_const_iterator i) const | 
| Node_const_iterator | get_prev (Node_const_iterator i) const | 
| bool | is_diagonal (Node_const_iterator u, Node_const_iterator v) const | 
| bool | in_cone (Node_const_iterator u, Node_const_iterator v) const | 
| bool | is_diagonalie (Node_const_iterator u, Node_const_iterator v) const | 
Private Attributes | |
| const Point_2 * | _pnts | 
| Node_list | _nodes | 
Triangulating a convex polygon by ear-removal.
This class implements the ear-removal algorithm described in the book "Computational Geometry in C" for triangulating a convex polygon. It triangulates a polygon by cutting off ears incrementally until only one triangle is left. This method may generate triangles with poor quality, but quality is not a concern because we will compute integration instead of differentiation.
Definition at line 50 of file Triangulation.h.
| typedef std::vector< Triangle> Connectivity | 
Element connectivity table.
Definition at line 75 of file Triangulation.h.
      
  | 
  private | 
Definition at line 71 of file Triangulation.h.
      
  | 
  private | 
Definition at line 70 of file Triangulation.h.
Definition at line 69 of file Triangulation.h.
Definition at line 52 of file Triangulation.h.
Definition at line 53 of file Triangulation.h.
| typedef Three_tuple< int> Triangle | 
Connectivity for a triangle.
Definition at line 73 of file Triangulation.h.
      
  | 
  inline | 
      
  | 
  inlineprivate | 
Definition at line 130 of file Triangulation.h.
Referenced by in_cone(), is_diagonalie(), and triangulate().

      
  | 
  inlineprivate | 
Definition at line 138 of file Triangulation.h.
Definition at line 128 of file Triangulation.h.
References _pnts, and Triangulation::Node::id().
Referenced by in_cone(), and is_diagonalie().


      
  | 
  inlineprivate | 
Definition at line 133 of file Triangulation.h.
Referenced by in_cone(), and triangulate().

      
  | 
  inlineprivate | 
Definition at line 141 of file Triangulation.h.
      
  | 
  inlineprivate | 
Definition at line 150 of file Triangulation.h.
References get_next(), get_point(), get_prev(), leftturn(), and rightturn().
Referenced by is_diagonal().


      
  | 
  inlineprivate | 
Definition at line 146 of file Triangulation.h.
References in_cone(), and is_diagonalie().
Referenced by triangulate().


      
  | 
  inlineprivate | 
Definition at line 163 of file Triangulation.h.
References _nodes, CGAL::do_intersect(), get_next(), get_point(), i, and j.
Referenced by is_diagonal().


      
  | 
  inline | 
Main entry for triangulation.
| ps | the coordinates of the nodes. | 
| n | the number of nodes. | 
| tri | the element connectivity for output. | 
Definition at line 87 of file Triangulation.h.
References _nodes, _pnts, get_next(), get_prev(), i, is_diagonal(), n, and RFC_assertion.
Referenced by Overlay::number_subfaces().


      
  | 
  private | 
Definition at line 177 of file Triangulation.h.
Referenced by get_next(), get_prev(), is_diagonalie(), and triangulate().
      
  | 
  private | 
Definition at line 176 of file Triangulation.h.
Referenced by get_point(), and triangulate().