ROOT   Reference Guide
TGraphDelaunay2D.cxx
Go to the documentation of this file.
1 // @(#)root/hist:$Id: TGraphDelaunay2D.cxx,v 1.00 2 // Author: Olivier Couet, Luke Jones (Royal Holloway, University of London) 3 4 /************************************************************************* 5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 6 * All rights reserved. * 7 * * 8 * For the licensing terms see$ROOTSYS/LICENSE. *
9  * For the list of contributors see \$ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11
12 #include "TGraph2D.h"
13 #include "TGraphDelaunay2D.h"
14
16
17
18 /** \class TGraphDelaunay2D
19  \ingroup Hist
20 TGraphDelaunay2D generates a Delaunay triangulation of a TGraph2D. This
21 triangulation code derives from an implementation done by Luke Jones
22 (Royal Holloway, University of London) in April 2002 in the PAW context.
23
24 This software cannot be guaranteed to work under all circumstances. They
25 were originally written to work with a few hundred points in an XY space
26 with similar X and Y ranges.
27
28 Definition of Delaunay triangulation (After B. Delaunay):
29 For a set S of points in the Euclidean plane, the unique triangulation DT(S)
30 of S such that no point in S is inside the circumcircle of any triangle in
31 DT(S). DT(S) is the dual of the Voronoi diagram of S. If n is the number of
32 points in S, the Voronoi diagram of S is the partitioning of the plane
33 containing S points into n convex polygons such that each polygon contains
34 exactly one point and every point in a given polygon is closer to its
35 central point than to any other. A Voronoi diagram is sometimes also known
36 as a Dirichlet tessellation.
37
38 \image html tgraph2d_delaunay.png
39
40 [This applet](http://www.cs.cornell.edu/Info/People/chew/Delaunay.html)
41 gives a nice practical view of Delaunay triangulation and Voronoi diagram.
42 */
43
44 /// TGraphDelaunay2D normal constructor
46  TNamed("TGraphDelaunay2D","TGraphDelaunay2D"),
47  fGraph2D(g),
48  fDelaunay((g) ? g->GetN() : 0, (g) ? g->GetX() : nullptr, (g) ? g->GetY() : nullptr, (g) ? g->GetZ() : nullptr ,
49  (g) ? g->GetXmin() : 0, (g) ? g->GetXmax() : 0,
50  (g) ? g->GetYmin() : 0, (g) ? g->GetYmax() : 0 )
51
52 {}
53
ClassImp
#define ClassImp(name)
Definition: Rtypes.h:364
TGraph2D.h
TGraphDelaunay2D
Definition: TGraphDelaunay2D.h:32
TGraphDelaunay2D::TGraphDelaunay2D
TGraphDelaunay2D(const TGraphDelaunay2D &)
TGraph2D
Definition: TGraph2D.h:41
TNamed
Definition: TNamed.h:29
TGraphDelaunay2D.h
g
#define g(i)
Definition: RSha256.hxx:123