ROOT
6.06/09
Reference Guide
|
Class to generate a Delaunay triangulation of a 2D set of points.
Algorithm based on Triangle, a two-dimensional quality mesh generator and Delaunay triangulator from Jonathan Richard Shewchuk.
See [http://www.cs.cmu.edu/~quake/triangle.html]
Definition at line 73 of file Delaunay2D.h.
Classes | |
struct | Triangle |
Public Types | |
typedef std::vector< Triangle > | Triangles |
Public Member Functions | |
Delaunay2D (int n, const double *x, const double *y, const double *z, double xmin=0, double xmax=0, double ymin=0, double ymax=0) | |
class constructor from array of data points More... | |
void | SetInputPoints (int n, const double *x, const double *y, const double *z, double xmin=0, double xmax=0, double ymin=0, double ymax=0) |
set the input points for building the graph More... | |
double | Interpolate (double x, double y) |
Return the Interpolated z value corresponding to the (x,y) point. More... | |
void | FindAllTriangles () |
Find all triangles. More... | |
Int_t | NumberOfTriangles () const |
return the number of triangles More... | |
double | XMin () const |
double | XMax () const |
double | YMin () const |
double | YMax () const |
void | SetZOuterValue (double z=0.) |
set z value to be returned for points outside the region More... | |
double | ZOuterValue () const |
return the user defined Z-outer value More... | |
Triangles::const_iterator | begin () const |
Triangles::const_iterator | end () const |
Protected Member Functions | |
unsigned int | Cell (UInt_t x, UInt_t y) const |
grid cells with containing triangles More... | |
int | CellX (double x) const |
int | CellY (double y) const |
Protected Attributes | |
Int_t | fNdt |
Int_t | fNpoints |
Number of Delaunay triangles found. More... | |
const double * | fX |
Number of data points. More... | |
const double * | fY |
Pointer to X array (managed externally) More... | |
const double * | fZ |
Pointer to Y array. More... | |
double | fXNmin |
Pointer to Z array. More... | |
double | fXNmax |
Minimum value of fXN. More... | |
double | fYNmin |
Maximum value of fXN. More... | |
double | fYNmax |
Minimum value of fYN. More... | |
double | fOffsetX |
Maximum value of fYN. More... | |
double | fOffsetY |
Normalization offset X. More... | |
double | fScaleFactorX |
Normalization offset Y. More... | |
double | fScaleFactorY |
Normalization factor X. More... | |
double | fZout |
Normalization factor Y. More... | |
Bool_t | fInit |
Height for points lying outside the convex hull. More... | |
Triangles | fTriangles |
True if FindAllTriangels() has been performed. More... | |
std::vector< double > | fXN |
Triangles of Triangulation. More... | |
std::vector< double > | fYN |
normalized X More... | |
double | fXCellStep |
number of cells to divide the normalized space More... | |
double | fYCellStep |
inverse denominator to calculate X cell = fNCells / (fXNmax - fXNmin) More... | |
std::set< UInt_t > | fCells [(fNCells+1)*(fNCells+1)] |
inverse denominator to calculate X cell = fNCells / (fYNmax - fYNmin) More... | |
Static Protected Attributes | |
static const int | fNCells = 25 |
normalized Y More... | |
Private Member Functions | |
double | Linear_transform (double x, double offset, double factor) |
void | DoNormalizePoints () |
internal function to normalize the points More... | |
void | DoFindTriangles () |
internal function to find the triangle use Triangle or CGAL if flag is set More... | |
double | DoInterpolateNormalized (double x, double y) |
internal method to compute the interpolation More... | |
Delaunay2D (const Delaunay2D &) | |
Delaunay2D & | operator= (const Delaunay2D &) |
#include <Math/Delaunay2D.h>
typedef std::vector<Triangle> ROOT::Math::Delaunay2D::Triangles |
Definition at line 87 of file Delaunay2D.h.
ROOT::Math::Delaunay2D::Delaunay2D | ( | int | n, |
const double * | x, | ||
const double * | y, | ||
const double * | z, | ||
double | xmin = 0 , |
||
double | xmax = 0 , |
||
double | ymin = 0 , |
||
double | ymax = 0 |
||
) |
class constructor from array of data points
Definition at line 32 of file Delaunay2D.cxx.
|
private |
|
inline |
Definition at line 118 of file Delaunay2D.h.
Referenced by TGraphDelaunay2D::begin().
grid cells with containing triangles
Definition at line 276 of file Delaunay2D.h.
Referenced by DoFindTriangles(), and DoInterpolateNormalized().
|
inlineprotected |
Definition at line 280 of file Delaunay2D.h.
Referenced by DoFindTriangles(), and DoInterpolateNormalized().
|
inlineprotected |
Definition at line 284 of file Delaunay2D.h.
Referenced by DoFindTriangles(), and DoInterpolateNormalized().
|
private |
internal function to find the triangle use Triangle or CGAL if flag is set
Triangle implementation for finding all the triangles.
Definition at line 253 of file Delaunay2D.cxx.
Referenced by FindAllTriangles().
internal method to compute the interpolation
Triangle implementation for interpolation Finds the Delaunay triangle that the point (xi,yi) sits in (if any) and calculate a z-value for it by linearly interpolating the z-values that make up that triangle.
Definition at line 376 of file Delaunay2D.cxx.
Referenced by Interpolate().
|
private |
internal function to normalize the points
Triangle implementation for normalizing the points.
Definition at line 241 of file Delaunay2D.cxx.
Referenced by FindAllTriangles().
|
inline |
Definition at line 119 of file Delaunay2D.h.
Referenced by TGraphDelaunay2D::end().
void ROOT::Math::Delaunay2D::FindAllTriangles | ( | ) |
Find all triangles.
Definition at line 125 of file Delaunay2D.cxx.
Referenced by TGraphDelaunay2D::FindAllTriangles(), and Interpolate().
Return the Interpolated z value corresponding to the (x,y) point.
Definition at line 101 of file Delaunay2D.cxx.
Referenced by TGraphDelaunay2D::ComputeZ().
|
inlineprivate |
Definition at line 127 of file Delaunay2D.h.
Referenced by DoNormalizePoints(), Interpolate(), and SetInputPoints().
|
inline |
return the number of triangles
Definition at line 104 of file Delaunay2D.h.
Referenced by TGraphDelaunay2D::GetNdt().
|
private |
void ROOT::Math::Delaunay2D::SetInputPoints | ( | int | n, |
const double * | x, | ||
const double * | y, | ||
const double * | z, | ||
double | xmin = 0 , |
||
double | xmax = 0 , |
||
double | ymin = 0 , |
||
double | ymax = 0 |
||
) |
set the input points for building the graph
set the input points
Definition at line 56 of file Delaunay2D.cxx.
Referenced by Delaunay2D().
set z value to be returned for points outside the region
Definition at line 112 of file Delaunay2D.h.
Referenced by TGraphDelaunay2D::SetMarginBinsContent().
|
inline |
Definition at line 107 of file Delaunay2D.h.
Referenced by TGraphDelaunay2D::GetXNmax().
|
inline |
Definition at line 106 of file Delaunay2D.h.
Referenced by TGraphDelaunay2D::GetXNmin().
|
inline |
Definition at line 109 of file Delaunay2D.h.
Referenced by TGraphDelaunay2D::GetYNmax().
|
inline |
Definition at line 108 of file Delaunay2D.h.
Referenced by TGraphDelaunay2D::GetYNmin().
|
inline |
return the user defined Z-outer value
Definition at line 115 of file Delaunay2D.h.
Referenced by TGraphDelaunay2D::GetMarginBinsContent().
inverse denominator to calculate X cell = fNCells / (fYNmax - fYNmin)
Definition at line 274 of file Delaunay2D.h.
Referenced by DoFindTriangles(), and DoInterpolateNormalized().
|
protected |
Height for points lying outside the convex hull.
Definition at line 181 of file Delaunay2D.h.
Referenced by FindAllTriangles(), and SetInputPoints().
|
staticprotected |
normalized Y
Definition at line 271 of file Delaunay2D.h.
Referenced by DoInterpolateNormalized(), and DoNormalizePoints().
|
protected |
Definition at line 152 of file Delaunay2D.h.
Referenced by Delaunay2D(), FindAllTriangles(), and NumberOfTriangles().
|
protected |
Number of Delaunay triangles found.
Definition at line 153 of file Delaunay2D.h.
Referenced by Delaunay2D(), DoFindTriangles(), and DoNormalizePoints().
|
protected |
Maximum value of fYN.
Definition at line 167 of file Delaunay2D.h.
Referenced by Delaunay2D(), DoNormalizePoints(), Interpolate(), and SetInputPoints().
|
protected |
Normalization offset X.
Definition at line 168 of file Delaunay2D.h.
Referenced by Delaunay2D(), DoNormalizePoints(), Interpolate(), and SetInputPoints().
|
protected |
Normalization offset Y.
Definition at line 170 of file Delaunay2D.h.
Referenced by Delaunay2D(), DoNormalizePoints(), Interpolate(), and SetInputPoints().
|
protected |
Normalization factor X.
Definition at line 171 of file Delaunay2D.h.
Referenced by Delaunay2D(), DoNormalizePoints(), Interpolate(), and SetInputPoints().
|
protected |
True if FindAllTriangels() has been performed.
Definition at line 185 of file Delaunay2D.h.
Referenced by begin(), DoFindTriangles(), DoInterpolateNormalized(), end(), and FindAllTriangles().
|
protected |
Number of data points.
Definition at line 155 of file Delaunay2D.h.
Referenced by Delaunay2D(), and DoNormalizePoints().
|
protected |
number of cells to divide the normalized space
Definition at line 272 of file Delaunay2D.h.
Referenced by CellX(), DoNormalizePoints(), and SetInputPoints().
|
protected |
Triangles of Triangulation.
Definition at line 263 of file Delaunay2D.h.
Referenced by DoFindTriangles(), and DoNormalizePoints().
|
protected |
Minimum value of fXN.
Definition at line 160 of file Delaunay2D.h.
Referenced by Delaunay2D(), DoNormalizePoints(), SetInputPoints(), and XMax().
|
protected |
Pointer to Z array.
Definition at line 159 of file Delaunay2D.h.
Referenced by Delaunay2D(), DoNormalizePoints(), SetInputPoints(), and XMin().
|
protected |
Pointer to X array (managed externally)
Definition at line 156 of file Delaunay2D.h.
Referenced by Delaunay2D(), and DoNormalizePoints().
|
protected |
inverse denominator to calculate X cell = fNCells / (fXNmax - fXNmin)
Definition at line 273 of file Delaunay2D.h.
Referenced by CellY(), DoNormalizePoints(), and SetInputPoints().
|
protected |
normalized X
Definition at line 264 of file Delaunay2D.h.
Referenced by DoFindTriangles(), and DoNormalizePoints().
|
protected |
Minimum value of fYN.
Definition at line 162 of file Delaunay2D.h.
Referenced by Delaunay2D(), DoNormalizePoints(), SetInputPoints(), and YMax().
|
protected |
Maximum value of fXN.
Definition at line 161 of file Delaunay2D.h.
Referenced by Delaunay2D(), DoNormalizePoints(), SetInputPoints(), and YMin().
|
protected |
Pointer to Y array.
Definition at line 157 of file Delaunay2D.h.
Referenced by Delaunay2D(), and DoInterpolateNormalized().
|
protected |
Normalization factor Y.
Definition at line 173 of file Delaunay2D.h.
Referenced by DoInterpolateNormalized(), SetZOuterValue(), and ZOuterValue().