mirror of https://github.com/CGAL/cgal
Avoid division for bounded side test
This commit is contained in:
parent
06f625a98e
commit
ae945cd329
|
|
@ -253,18 +253,18 @@ namespace CartesianKernelFunctors {
|
||||||
result_type
|
result_type
|
||||||
operator()( const Tetrahedron_3& t, const Point_3& p) const
|
operator()( const Tetrahedron_3& t, const Point_3& p) const
|
||||||
{
|
{
|
||||||
FT alpha, beta, gamma;
|
FT alpha, beta, gamma, denom;
|
||||||
|
|
||||||
Cartesian_internal::solve(t.vertex(1)-t.vertex(0),
|
Cartesian_internal::solve(t.vertex(1)-t.vertex(0),
|
||||||
t.vertex(2)-t.vertex(0),
|
t.vertex(2)-t.vertex(0),
|
||||||
t.vertex(3)-t.vertex(0),
|
t.vertex(3)-t.vertex(0),
|
||||||
p - t.vertex(0), alpha, beta, gamma);
|
p - t.vertex(0), alpha, beta, gamma, denom);
|
||||||
if ( (alpha < 0) || (beta < 0) || (gamma < 0)
|
if ( (alpha < 0) || (beta < 0) || (gamma < 0)
|
||||||
|| (alpha + beta + gamma > 1) )
|
|| (alpha + beta + gamma > denom) )
|
||||||
return ON_UNBOUNDED_SIDE;
|
return ON_UNBOUNDED_SIDE;
|
||||||
|
|
||||||
if ( (alpha == 0) || (beta == 0) || (gamma == 0)
|
if ( (alpha == 0) || (beta == 0) || (gamma == 0)
|
||||||
|| (alpha+beta+gamma == 1) )
|
|| (alpha+beta+gamma == denom) )
|
||||||
return ON_BOUNDARY;
|
return ON_BOUNDARY;
|
||||||
|
|
||||||
return ON_BOUNDED_SIDE;
|
return ON_BOUNDED_SIDE;
|
||||||
|
|
@ -3860,10 +3860,10 @@ namespace CartesianKernelFunctors {
|
||||||
v1 = t.vertex(1)-o,
|
v1 = t.vertex(1)-o,
|
||||||
v2 = t.vertex(2)-o;
|
v2 = t.vertex(2)-o;
|
||||||
|
|
||||||
FT alpha, beta, gamma;
|
FT alpha, beta, gamma, denum;
|
||||||
Cartesian_internal::solve(v0, v1, v2, p-o, alpha, beta, gamma);
|
Cartesian_internal::solve(v0, v1, v2, p-o, alpha, beta, gamma, denum);
|
||||||
return (alpha >= FT(0)) && (beta >= FT(0)) && (gamma >= FT(0))
|
return (alpha >= FT(0)) && (beta >= FT(0)) && (gamma >= FT(0))
|
||||||
&& ((alpha+beta+gamma == FT(1)));
|
&& ((alpha+beta+gamma == denum));
|
||||||
}
|
}
|
||||||
|
|
||||||
result_type
|
result_type
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue