proj home

Files   Classes   Functions   Hierarchy  

delaunaysimpleD2< PT, PD, INDX > Class Template Reference

The simplest Delaunay triangulation algorithm in 2D. More...

#include <delaunaysimpleD2.h>

Inheritance diagram for delaunaysimpleD2< PT, PD, INDX >:
Collaboration diagram for delaunaysimpleD2< PT, PD, INDX >:

List of all members.

Public Member Functions

 delaunaysimpleD2 ()
 pts and vi have their first element as nulls.
void get (PT &a, PT &b, PT &c, INDX const i) const
 Triangle verticies.
void eval ()
 Construct tessellation.

Public Attributes

vector< PT > pts
 List of points.
vector< simplexD2indexed< INDX > > vi
 List of triangles.


Detailed Description

template<typename PT, typename PD, typename INDX>
class delaunaysimpleD2< PT, PD, INDX >

The simplest Delaunay triangulation algorithm in 2D.

O(n^4) complexity. Collinear points not tested for. Non-unique delaunay triangulations not tested for (presumably both possibilities are written).

Definition at line 20 of file delaunaysimpleD2.h.


Constructor & Destructor Documentation

template<typename PT , typename PD , typename INDX >
delaunaysimpleD2< PT, PD, INDX >::delaunaysimpleD2 (  )  [inline]

pts and vi have their first element as nulls.

Definition at line 51 of file delaunaysimpleD2.h.

References delaunaysimpleD2< PT, PD, INDX >::pts, and delaunaysimpleD2< PT, PD, INDX >::vi.

00052 {
00053   pts.push_back(PT());
00054   vi.push_back( simplexD2indexed<INDX>() );
00055 }


Member Function Documentation

template<typename PT , typename PD , typename INDX >
void delaunaysimpleD2< PT, PD, INDX >::eval (  )  [inline]

Construct tessellation.

Definition at line 92 of file delaunaysimpleD2.h.

References delaunaysimpleD2< PT, PD, INDX >::pts.

Referenced by delaunaysimpleD2test::test01(), and delaunaysimpleD2test::test02().

00093 {
00094   INDX const n=pts.size();
00095   INDX i,j,k;
00096   for (i=1; i<n-2; ++i)
00097   {
00098     for (j=i+1; j<n-1; ++j)
00099     {
00100       for (k=j+1; k<n; ++k)
00101       {
00102 //cout << SHOW(i) << " " << SHOW(j) << " " << SHOW(k) << endl;
00103         evaluateTriangle(i,j,k);
00104       }
00105     }
00106   }
00107 
00108   //cout << print(vi,"\n") << endl;
00109 }

template<typename PT, typename PD , typename INDX>
void delaunaysimpleD2< PT, PD, INDX >::get ( PT &  a,
PT &  b,
PT &  c,
INDX const   i 
) const [inline]

Triangle verticies.

Definition at line 113 of file delaunaysimpleD2.h.

References simplexD2indexed< INDX >::pi, and pts.

00119 {
00120   simplexD2indexed<INDX> const & t(vi[i]);
00121   
00122   a = pts[t.pi[0]];
00123   b = pts[t.pi[1]];
00124   c = pts[t.pi[2]];
00125 }


Member Data Documentation

template<typename PT, typename PD, typename INDX>
vector< PT > delaunaysimpleD2< PT, PD, INDX >::pts

template<typename PT, typename PD, typename INDX>
vector< simplexD2indexed<INDX> > delaunaysimpleD2< PT, PD, INDX >::vi

List of triangles.

Definition at line 36 of file delaunaysimpleD2.h.

Referenced by delaunaysimpleD2< PT, PD, INDX >::delaunaysimpleD2(), and delaunaysimpleD2test::test01().


The documentation for this class was generated from the following file:

Generated on Fri Mar 4 00:49:55 2011 for Chelton Evans Source by  doxygen 1.5.8