 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.

Definition at line 71 of file Delaunay2D.h.

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 given (x,y) point Note that in case no Delaunay triangles are found, for example when the points are aligned, then a default value of zero is always return. 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

int CellX (double x) const

int CellY (double y) const

## Protected Attributes

std::set< UInt_tfCells [(fNCells+1) *(fNCells+1)]
! grid cells with containing triangles More...

Bool_t fInit
! True if FindAllTriangles() has been performed More...

Int_t fNdt
! Number of Delaunay triangles found More...

Int_t fNpoints
! Number of data points More...

double fOffsetX
! Normalization offset X More...

double fOffsetY
! Normalization offset Y More...

double fScaleFactorX
! Normalization factor X More...

double fScaleFactorY
! Normalization factor Y More...

Triangles fTriangles
! Triangles of Triangulation More...

const doublefX
! Pointer to X array (managed externally) More...

double fXCellStep
! inverse denominator to calculate X cell = fNCells / (fXNmax - fXNmin) More...

std::vector< doublefXN
! normalized X More...

double fXNmax
! Maximum value of fXN More...

double fXNmin
! Minimum value of fXN More...

const doublefY
! Pointer to Y array More...

double fYCellStep
! inverse denominator to calculate X cell = fNCells / (fYNmax - fYNmin) More...

std::vector< doublefYN
! normalized Y More...

double fYNmax
! Maximum value of fYN More...

double fYNmin
! Minimum value of fYN More...

const doublefZ
! Pointer to Z array More...

double fZout
! Height for points lying outside the convex hull More...

## Static Protected Attributes

static const int fNCells = 25
! number of cells to divide the normalized space 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>

## ◆ Triangles

 typedef std::vector ROOT::Math::Delaunay2D::Triangles

Definition at line 85 of file Delaunay2D.h.

## ◆ 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 34 of file Delaunay2D.cxx.

## ◆ Delaunay2D() [2/2]

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

## ◆ begin()

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

Definition at line 118 of file Delaunay2D.h.

## ◆ Cell()

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

Definition at line 271 of file Delaunay2D.h.

## ◆ CellX()

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

Definition at line 275 of file Delaunay2D.h.

## ◆ CellY()

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

Definition at line 279 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 267 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 390 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 255 of file Delaunay2D.cxx.

## ◆ end()

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

Definition at line 119 of file Delaunay2D.h.

## ◆ FindAllTriangles()

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

Find all triangles.

Definition at line 139 of file Delaunay2D.cxx.

## ◆ Interpolate()

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

Return the Interpolated z value corresponding to the given (x,y) point Note that in case no Delaunay triangles are found, for example when the points are aligned, then a default value of zero is always return.

Definition at line 108 of file Delaunay2D.cxx.

## ◆ Linear_transform()

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

Definition at line 127 of file Delaunay2D.h.

## ◆ NumberOfTriangles()

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

return the number of triangles

Definition at line 104 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 59 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 112 of file Delaunay2D.h.

## ◆ XMax()

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

Definition at line 107 of file Delaunay2D.h.

## ◆ XMin()

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

Definition at line 106 of file Delaunay2D.h.

## ◆ YMax()

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

Definition at line 109 of file Delaunay2D.h.

## ◆ YMin()

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

Definition at line 108 of file Delaunay2D.h.

## ◆ ZOuterValue()

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

return the user defined Z-outer value

Definition at line 115 of file Delaunay2D.h.

## ◆ fCells

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

! grid cells with containing triangles

Definition at line 269 of file Delaunay2D.h.

## ◆ fInit

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

! True if FindAllTriangles() has been performed

Definition at line 176 of file Delaunay2D.h.

## ◆ fNCells

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

! number of cells to divide the normalized space

Definition at line 266 of file Delaunay2D.h.

## ◆ fNdt

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

! Number of Delaunay triangles found

Definition at line 150 of file Delaunay2D.h.

## ◆ fNpoints

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

! Number of data points

Definition at line 151 of file Delaunay2D.h.

## ◆ fOffsetX

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

! Normalization offset X

Definition at line 162 of file Delaunay2D.h.

## ◆ fOffsetY

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

! Normalization offset Y

Definition at line 163 of file Delaunay2D.h.

## ◆ fScaleFactorX

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

! Normalization factor X

Definition at line 165 of file Delaunay2D.h.

## ◆ fScaleFactorY

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

! Normalization factor Y

Definition at line 166 of file Delaunay2D.h.

## ◆ fTriangles

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

! Triangles of Triangulation

Definition at line 180 of file Delaunay2D.h.

## ◆ fX

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

! Pointer to X array (managed externally)

Definition at line 153 of file Delaunay2D.h.

## ◆ fXCellStep

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

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

Definition at line 267 of file Delaunay2D.h.

## ◆ fXN

 std::vector ROOT::Math::Delaunay2D::fXN
protected

! normalized X

Definition at line 258 of file Delaunay2D.h.

## ◆ fXNmax

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

! Maximum value of fXN

Definition at line 158 of file Delaunay2D.h.

## ◆ fXNmin

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

! Minimum value of fXN

Definition at line 157 of file Delaunay2D.h.

## ◆ fY

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

! Pointer to Y array

Definition at line 154 of file Delaunay2D.h.

## ◆ fYCellStep

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

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

Definition at line 268 of file Delaunay2D.h.

## ◆ fYN

 std::vector ROOT::Math::Delaunay2D::fYN
protected

! normalized Y

Definition at line 259 of file Delaunay2D.h.

## ◆ fYNmax

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

! Maximum value of fYN

Definition at line 160 of file Delaunay2D.h.

## ◆ fYNmin

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

! Minimum value of fYN

Definition at line 159 of file Delaunay2D.h.

## ◆ fZ

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

! Pointer to Z array

Definition at line 155 of file Delaunay2D.h.

## ◆ fZout

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

! Height for points lying outside the convex hull

Definition at line 168 of file Delaunay2D.h.

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

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