More code move to user classes.

This commit is contained in:
Sylvain Pion
2006-08-01 14:10:09 +00:00
parent a04f166f1f
commit 4408fa1c2a
9 changed files with 291 additions and 45 deletions
@@ -143,7 +143,7 @@ namespace HomogeneousKernelFunctors {
result_type
operator()( const Sphere_3& s, const Point_3& p) const
{ return s.bounded_side(p); }
{ return s.rep().bounded_side(p); }
result_type
operator()( const Tetrahedron_3& t, const Point_3& p) const
@@ -1311,7 +1311,7 @@ namespace HomogeneousKernelFunctors {
FT
operator()( const Sphere_3& s) const
{ return s.squared_radius(); }
{ return s.rep().squared_radius(); }
FT
operator()( const Point_3& p, const Point_3& q) const
@@ -2186,6 +2186,30 @@ namespace HomogeneousKernelFunctors {
}
};
template <typename K>
class Construct_divided_vector_3
{
typedef typename K::FT FT;
typedef typename K::RT RT;
typedef typename K::Vector_3 Vector_3;
public:
typedef Vector_3 result_type;
typedef Arity_tag< 2 > Arity;
Vector_3
operator()(const Vector_3& v, const FT& f ) const
{
return Vector_3( v.hx()*f.denominator(), v.hy()*f.denominator(),
v.hz()*f.denominator(), v.hw()*f.numerator() );
}
Vector_3
operator()(const Vector_3& v, const RT& f ) const
{
return Vector_3( v.hx(), v.hy(), v.hz(), v.hw()*f );
}
};
template <typename K>
class Construct_iso_rectangle_2
@@ -3110,7 +3134,7 @@ namespace HomogeneousKernelFunctors {
result_type
operator()( const Ray_3& r, const Point_3& p) const
{ return r.has_on(p); }
{ return r.rep().has_on(p); }
result_type
operator()( const Segment_3& s, const Point_3& p) const
@@ -3563,6 +3587,7 @@ namespace HomogeneousKernelFunctors {
typedef typename K::Point_3 Point_3;
typedef typename K::Vector_3 Vector_3;
typedef typename K::Tetrahedron_3 Tetrahedron_3;
typedef typename K::Sphere_3 Sphere_3;
public:
typedef typename K::Orientation result_type;
typedef Arity_tag< 4 > Arity;
@@ -3593,6 +3618,12 @@ namespace HomogeneousKernelFunctors {
{
return t.rep().orientation();
}
result_type
operator()(const Sphere_3& s) const
{
return s.rep().orientation();
}
};