Logo ROOT  
Reference Guide
ROOT::Math::Delaunay2D Class Reference

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 83 of file Delaunay2D.h.

Classes

struct  Triangle
 

Public Types

typedef std::vector< TriangleTriangles
 

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...
 
Triangles::const_iterator begin () const
 
Triangles::const_iterator end () const
 
void FindAllTriangles ()
 Find all triangles. More...
 
double Interpolate (double x, double y)
 Return the Interpolated z value corresponding to the (x,y) point. More...
 
Int_t NumberOfTriangles () const
 return the number of triangles 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...
 
void SetZOuterValue (double z=0.)
 set z value to be returned for points outside the region More...
 
double XMax () const
 
double XMin () const
 
double YMax () const
 
double YMin () const
 
double ZOuterValue () const
 return the user defined Z-outer value More...
 

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

std::set< UInt_tfCells [(fNCells+1) *(fNCells+1)]
 inverse denominator to calculate X cell = fNCells / (fYNmax - fYNmin) More...
 
Bool_t fInit
 Height for points lying outside the convex hull. More...
 
Int_t fNdt
 
Int_t fNpoints
 Number of Delaunay triangles found. 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...
 
Triangles fTriangles
 True if FindAllTriangels() has been performed. More...
 
const doublefX
 Number of data points. More...
 
double fXCellStep
 number of cells to divide the normalized space More...
 
std::vector< doublefXN
 Triangles of Triangulation. More...
 
double fXNmax
 Minimum value of fXN. More...
 
double fXNmin
 Pointer to Z array. More...
 
const doublefY
 Pointer to X array (managed externally) More...
 
double fYCellStep
 inverse denominator to calculate X cell = fNCells / (fXNmax - fXNmin) More...
 
std::vector< doublefYN
 normalized X More...
 
double fYNmax
 Minimum value of fYN. More...
 
double fYNmin
 Maximum value of fXN. More...
 
const doublefZ
 Pointer to Y array. More...
 
double fZout
 Normalization factor Y. More...
 

Static Protected Attributes

static const int fNCells = 25
 normalized Y More...
 

Private Member Functions

 Delaunay2D (const Delaunay2D &)
 
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...
 
void DoNormalizePoints ()
 internal function to normalize the points More...
 
double Linear_transform (double x, double offset, double factor)
 
Delaunay2Doperator= (const Delaunay2D &)
 

#include <Math/Delaunay2D.h>

Member Typedef Documentation

◆ Triangles

Definition at line 103 of file Delaunay2D.h.

Constructor & Destructor Documentation

◆ Delaunay2D() [1/2]

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 46 of file Delaunay2D.cxx.

◆ Delaunay2D() [2/2]

ROOT::Math::Delaunay2D::Delaunay2D ( const Delaunay2D )
private

Member Function Documentation

◆ begin()

Triangles::const_iterator ROOT::Math::Delaunay2D::begin ( ) const
inline

Definition at line 134 of file Delaunay2D.h.

◆ Cell()

unsigned int ROOT::Math::Delaunay2D::Cell ( UInt_t  x,
UInt_t  y 
) const
inlineprotected

grid cells with containing triangles

Definition at line 292 of file Delaunay2D.h.

◆ CellX()

int ROOT::Math::Delaunay2D::CellX ( double  x) const
inlineprotected

Definition at line 296 of file Delaunay2D.h.

◆ CellY()

int ROOT::Math::Delaunay2D::CellY ( double  y) const
inlineprotected

Definition at line 300 of file Delaunay2D.h.

◆ DoFindTriangles()

void ROOT::Math::Delaunay2D::DoFindTriangles ( )
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 268 of file Delaunay2D.cxx.

◆ DoInterpolateNormalized()

double ROOT::Math::Delaunay2D::DoInterpolateNormalized ( double  x,
double  y 
)
private

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 391 of file Delaunay2D.cxx.

◆ DoNormalizePoints()

void ROOT::Math::Delaunay2D::DoNormalizePoints ( )
private

internal function to normalize the points

Triangle implementation for normalizing the points.

Definition at line 256 of file Delaunay2D.cxx.

◆ end()

Triangles::const_iterator ROOT::Math::Delaunay2D::end ( ) const
inline

Definition at line 135 of file Delaunay2D.h.

◆ FindAllTriangles()

void ROOT::Math::Delaunay2D::FindAllTriangles ( )

Find all triangles.

Definition at line 140 of file Delaunay2D.cxx.

◆ Interpolate()

double ROOT::Math::Delaunay2D::Interpolate ( double  x,
double  y 
)

Return the Interpolated z value corresponding to the (x,y) point.

Definition at line 116 of file Delaunay2D.cxx.

◆ Linear_transform()

double ROOT::Math::Delaunay2D::Linear_transform ( double  x,
double  offset,
double  factor 
)
inlineprivate

Definition at line 143 of file Delaunay2D.h.

◆ NumberOfTriangles()

Int_t ROOT::Math::Delaunay2D::NumberOfTriangles ( ) const
inline

return the number of triangles

Definition at line 120 of file Delaunay2D.h.

◆ operator=()

Delaunay2D& ROOT::Math::Delaunay2D::operator= ( const Delaunay2D )
private

◆ SetInputPoints()

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 71 of file Delaunay2D.cxx.

◆ SetZOuterValue()

void ROOT::Math::Delaunay2D::SetZOuterValue ( double  z = 0.)
inline

set z value to be returned for points outside the region

Definition at line 128 of file Delaunay2D.h.

◆ XMax()

double ROOT::Math::Delaunay2D::XMax ( ) const
inline

Definition at line 123 of file Delaunay2D.h.

◆ XMin()

double ROOT::Math::Delaunay2D::XMin ( ) const
inline

Definition at line 122 of file Delaunay2D.h.

◆ YMax()

double ROOT::Math::Delaunay2D::YMax ( ) const
inline

Definition at line 125 of file Delaunay2D.h.

◆ YMin()

double ROOT::Math::Delaunay2D::YMin ( ) const
inline

Definition at line 124 of file Delaunay2D.h.

◆ ZOuterValue()

double ROOT::Math::Delaunay2D::ZOuterValue ( ) const
inline

return the user defined Z-outer value

Definition at line 131 of file Delaunay2D.h.

Member Data Documentation

◆ fCells

std::set<UInt_t> ROOT::Math::Delaunay2D::fCells[(fNCells+1) *(fNCells+1)]
protected

inverse denominator to calculate X cell = fNCells / (fYNmax - fYNmin)

Definition at line 290 of file Delaunay2D.h.

◆ fInit

Bool_t ROOT::Math::Delaunay2D::fInit
protected

Height for points lying outside the convex hull.

Definition at line 197 of file Delaunay2D.h.

◆ fNCells

const int ROOT::Math::Delaunay2D::fNCells = 25
staticprotected

normalized Y

Definition at line 287 of file Delaunay2D.h.

◆ fNdt

Int_t ROOT::Math::Delaunay2D::fNdt
protected

Definition at line 168 of file Delaunay2D.h.

◆ fNpoints

Int_t ROOT::Math::Delaunay2D::fNpoints
protected

Number of Delaunay triangles found.

Definition at line 169 of file Delaunay2D.h.

◆ fOffsetX

double ROOT::Math::Delaunay2D::fOffsetX
protected

Maximum value of fYN.

Definition at line 183 of file Delaunay2D.h.

◆ fOffsetY

double ROOT::Math::Delaunay2D::fOffsetY
protected

Normalization offset X.

Definition at line 184 of file Delaunay2D.h.

◆ fScaleFactorX

double ROOT::Math::Delaunay2D::fScaleFactorX
protected

Normalization offset Y.

Definition at line 186 of file Delaunay2D.h.

◆ fScaleFactorY

double ROOT::Math::Delaunay2D::fScaleFactorY
protected

Normalization factor X.

Definition at line 187 of file Delaunay2D.h.

◆ fTriangles

Triangles ROOT::Math::Delaunay2D::fTriangles
protected

True if FindAllTriangels() has been performed.

Definition at line 201 of file Delaunay2D.h.

◆ fX

const double* ROOT::Math::Delaunay2D::fX
protected

Number of data points.

Definition at line 171 of file Delaunay2D.h.

◆ fXCellStep

double ROOT::Math::Delaunay2D::fXCellStep
protected

number of cells to divide the normalized space

Definition at line 288 of file Delaunay2D.h.

◆ fXN

std::vector<double> ROOT::Math::Delaunay2D::fXN
protected

Triangles of Triangulation.

Definition at line 279 of file Delaunay2D.h.

◆ fXNmax

double ROOT::Math::Delaunay2D::fXNmax
protected

Minimum value of fXN.

Definition at line 176 of file Delaunay2D.h.

◆ fXNmin

double ROOT::Math::Delaunay2D::fXNmin
protected

Pointer to Z array.

Definition at line 175 of file Delaunay2D.h.

◆ fY

const double* ROOT::Math::Delaunay2D::fY
protected

Pointer to X array (managed externally)

Definition at line 172 of file Delaunay2D.h.

◆ fYCellStep

double ROOT::Math::Delaunay2D::fYCellStep
protected

inverse denominator to calculate X cell = fNCells / (fXNmax - fXNmin)

Definition at line 289 of file Delaunay2D.h.

◆ fYN

std::vector<double> ROOT::Math::Delaunay2D::fYN
protected

normalized X

Definition at line 280 of file Delaunay2D.h.

◆ fYNmax

double ROOT::Math::Delaunay2D::fYNmax
protected

Minimum value of fYN.

Definition at line 178 of file Delaunay2D.h.

◆ fYNmin

double ROOT::Math::Delaunay2D::fYNmin
protected

Maximum value of fXN.

Definition at line 177 of file Delaunay2D.h.

◆ fZ

const double* ROOT::Math::Delaunay2D::fZ
protected

Pointer to Y array.

Definition at line 173 of file Delaunay2D.h.

◆ fZout

double ROOT::Math::Delaunay2D::fZout
protected

Normalization factor Y.

Definition at line 189 of file Delaunay2D.h.

Libraries for ROOT::Math::Delaunay2D:
[legend]

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