CGAL 6.0 - 3D Isosurfacing
|
#include <CGAL/Isosurfacing_3/edge_intersection_oracles_3.h>
The class Linear_interpolation_edge_intersection
uses linear interpolation to find the intersection point between an edge and the isosurface.
IsosurfacingEdgeIntersectionOracle_3
This class is for example suitable when interpolated discrete values are being used.
Public Member Functions | |
template<typename Domain > | |
bool | operator() (const typename Domain::Geom_traits::Point_3 &p_0, const typename Domain::Geom_traits::Point_3 &p_1, const typename Domain::Geom_traits::FT val_0, const typename Domain::Geom_traits::FT val_1, const Domain &domain, const typename Domain::Geom_traits::FT isovalue, typename Domain::Geom_traits::Point_3 &p) const |
computes the intersection point between an edge and the isosurface. | |
bool CGAL::Isosurfacing::Linear_interpolation_edge_intersection::operator() | ( | const typename Domain::Geom_traits::Point_3 & | p_0, |
const typename Domain::Geom_traits::Point_3 & | p_1, | ||
const typename Domain::Geom_traits::FT | val_0, | ||
const typename Domain::Geom_traits::FT | val_1, | ||
const Domain & | domain, | ||
const typename Domain::Geom_traits::FT | isovalue, | ||
typename Domain::Geom_traits::Point_3 & | p | ||
) | const |
computes the intersection point between an edge and the isosurface.
Domain | must be a model of IsosurfacingDomain_3 |
p_0 | the location of the first vertex of the edge |
p_1 | the location of the second vertex of the edge |
val_0 | the value at the first vertex of the edge |
val_1 | the value at the second vertex of the edge |
domain | the isosurfacing domain |
isovalue | the isovalue defining the isosurface with which we seek an intersection |
p | the intersection point, if it exists |
true
if the intersection point exists, false
otherwise