Candy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Types | Static Public Member Functions | List of all members
Candy::DelaunayTriangulation Class Reference

A simple Delauney triangulator for 3D space. More...

Classes

struct  Tetrahedron
 A cell of the Delaunay triangulation. More...
 
struct  TriangulationParameters
 Parameters controling the triangulation process. More...
 

Public Types

typedef std::vector< TetrahedronTriangulationSet
 

Static Public Member Functions

static void calculateTriangulation (TriangulationSet &set, const std::vector< H3D::Vec3d > &points, const TriangulationParameters &params)
 Triangulates the specific points using the specified parameters and put the result in set. More...
 
static void calculateTriangulation (TriangulationSet &set, const std::vector< H3D::Vec3f > &points, const TriangulationParameters &params)
 Triangulates the specific points using the specified parameters and put the result in set. More...
 
template<class VECTOR_TYPE , class VALUE_TYPE >
static bool barycentricInterpolation (TriangulationSet &set, const std::vector< VECTOR_TYPE > &points, const std::vector< VALUE_TYPE > &samples, VECTOR_TYPE point, VALUE_TYPE &result, bool extrapolate=true)
 Finds the best cell and applies barycentric interpolation. More...
 

Detailed Description

A simple Delauney triangulator for 3D space.

This can be used triangulate a point cloud, find the cell containing an arbitrary point, calculate its Barycentric coordinates and interpolate between point properties of any type. The triangulation will be optimal, but do not expect this implementation to be fast.

Member Function Documentation

template<class VECTOR_TYPE , class VALUE_TYPE >
bool Candy::DelaunayTriangulation::barycentricInterpolation ( TriangulationSet &  set,
const std::vector< VECTOR_TYPE > &  points,
const std::vector< VALUE_TYPE > &  samples,
VECTOR_TYPE  point,
VALUE_TYPE &  result,
bool  extrapolate = true 
)
static

Finds the best cell and applies barycentric interpolation.

static void Candy::DelaunayTriangulation::calculateTriangulation ( TriangulationSet &  set,
const std::vector< H3D::Vec3d > &  points,
const TriangulationParameters params 
)
static

Triangulates the specific points using the specified parameters and put the result in set.

static void Candy::DelaunayTriangulation::calculateTriangulation ( TriangulationSet &  set,
const std::vector< H3D::Vec3f > &  points,
const TriangulationParameters params 
)
static

Triangulates the specific points using the specified parameters and put the result in set.