Candy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Public Attributes | List of all members
Candy::DelaunayTriangulation::Tetrahedron Struct Reference

A cell of the Delaunay triangulation. More...

Public Member Functions

 Tetrahedron (const Tetrahedron &t)
 
Tetrahedronoperator= (const Tetrahedron &t)
 
bool isInside (const std::vector< H3D::Vec3d > &points, H3D::Vec3d point) const
 This function checks if the point is inside of this tetrahedron. More...
 
bool isInside (const std::vector< H3D::Vec3f > &points, H3D::Vec3f point) const
 This function checks if the point is inside of this tetrahedron. More...
 
double distance (const std::vector< H3D::Vec3d > &points, H3D::Vec3d point) const
 This function will return a distance measure indicating how close the point is to the points of this tetrahedron, however it is not a euclidian measure. More...
 
float distance (const std::vector< H3D::Vec3f > &points, H3D::Vec3f point) const
 This function will return a distance measure indicating how close the point is to the points of this tetrahedron, however it is not a euclidian measure. More...
 
template<class VECTOR_TYPE , class VALUE_TYPE >
VALUE_TYPE barycentricInterpolation (const std::vector< VECTOR_TYPE > &points, const std::vector< VALUE_TYPE > &samples, VECTOR_TYPE point) const
 This function interpolates between the corners of this tetrahedron using the Barycentric coordinates of the specified point. More...
 

Public Attributes

int corner_index [4]
 Point index. More...
 
H3D::Vec3d edge_vector [4]
 Vectors are given lengths that simplifies on-line calculations. More...
 

Detailed Description

A cell of the Delaunay triangulation.

Member Function Documentation

template<class VECTOR_TYPE , class VALUE_TYPE >
VALUE_TYPE Candy::DelaunayTriangulation::Tetrahedron::barycentricInterpolation ( const std::vector< VECTOR_TYPE > &  points,
const std::vector< VALUE_TYPE > &  samples,
VECTOR_TYPE  point 
) const

This function interpolates between the corners of this tetrahedron using the Barycentric coordinates of the specified point.

double Candy::DelaunayTriangulation::Tetrahedron::distance ( const std::vector< H3D::Vec3d > &  points,
H3D::Vec3d  point 
) const

This function will return a distance measure indicating how close the point is to the points of this tetrahedron, however it is not a euclidian measure.

The distance will be -1 if the point is inside and jump to zero on the transition to outside.

float Candy::DelaunayTriangulation::Tetrahedron::distance ( const std::vector< H3D::Vec3f > &  points,
H3D::Vec3f  point 
) const

This function will return a distance measure indicating how close the point is to the points of this tetrahedron, however it is not a euclidian measure.

The distance will be -1 if the point is inside and jump to zero on the transition to outside.

bool Candy::DelaunayTriangulation::Tetrahedron::isInside ( const std::vector< H3D::Vec3d > &  points,
H3D::Vec3d  point 
) const

This function checks if the point is inside of this tetrahedron.

This function will be slightly faster than the distance function in some cases, since it does not always have to calculate all sides.

bool Candy::DelaunayTriangulation::Tetrahedron::isInside ( const std::vector< H3D::Vec3f > &  points,
H3D::Vec3f  point 
) const

This function checks if the point is inside of this tetrahedron.

This function will be slightly faster than the distance function in some cases, since it does not always have to calculate all sides.

Member Data Documentation

int Candy::DelaunayTriangulation::Tetrahedron::corner_index[4]

Point index.

H3D::Vec3d Candy::DelaunayTriangulation::Tetrahedron::edge_vector[4]

Vectors are given lengths that simplifies on-line calculations.