mirror of https://github.com/CGAL/cgal
fixed min/max problem
This commit is contained in:
parent
6830557518
commit
b927eb413d
|
|
@ -108,11 +108,11 @@ public:
|
|||
bool operator==(const Iso_cuboidC3& s) const;
|
||||
bool operator!=(const Iso_cuboidC3& s) const;
|
||||
|
||||
const Point_3 & min() const
|
||||
const Point_3 & min BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return get(base).e0;
|
||||
}
|
||||
const Point_3 & max() const
|
||||
const Point_3 & max BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return get(base).e1;
|
||||
}
|
||||
|
|
@ -121,7 +121,7 @@ public:
|
|||
|
||||
Iso_cuboid_3 transform(const Aff_transformation_3 &t) const
|
||||
{
|
||||
return Iso_cuboidC3(t.transform(min()), t.transform(max()));
|
||||
return Iso_cuboidC3(t.transform((this->min)()), t.transform((this->max)()));
|
||||
}
|
||||
|
||||
Bounded_side bounded_side(const Point_3& p) const;
|
||||
|
|
@ -150,7 +150,7 @@ Iso_cuboidC3<R>::operator==(const Iso_cuboidC3<R>& r) const
|
|||
{ // FIXME : predicate
|
||||
if (CGAL::identical(base, r.base))
|
||||
return true;
|
||||
return min() == r.min() && max() == r.max();
|
||||
return (this->min)() == (r.min)() && (this->max)() == (r.max)();
|
||||
}
|
||||
|
||||
template < class R >
|
||||
|
|
@ -166,7 +166,7 @@ inline
|
|||
const typename Iso_cuboidC3<R>::FT &
|
||||
Iso_cuboidC3<R>::xmin() const
|
||||
{
|
||||
return min().x();
|
||||
return (this->min)().x();
|
||||
}
|
||||
|
||||
template < class R >
|
||||
|
|
@ -174,7 +174,7 @@ inline
|
|||
const typename Iso_cuboidC3<R>::FT &
|
||||
Iso_cuboidC3<R>::ymin() const
|
||||
{
|
||||
return min().y();
|
||||
return (this->min)().y();
|
||||
}
|
||||
|
||||
template < class R >
|
||||
|
|
@ -182,7 +182,7 @@ inline
|
|||
const typename Iso_cuboidC3<R>::FT &
|
||||
Iso_cuboidC3<R>::zmin() const
|
||||
{
|
||||
return min().z();
|
||||
return (this->min)().z();
|
||||
}
|
||||
|
||||
template < class R >
|
||||
|
|
@ -190,7 +190,7 @@ inline
|
|||
const typename Iso_cuboidC3<R>::FT &
|
||||
Iso_cuboidC3<R>::xmax() const
|
||||
{
|
||||
return max().x();
|
||||
return (this->max)().x();
|
||||
}
|
||||
|
||||
template < class R >
|
||||
|
|
@ -198,7 +198,7 @@ inline
|
|||
const typename Iso_cuboidC3<R>::FT &
|
||||
Iso_cuboidC3<R>::ymax() const
|
||||
{
|
||||
return max().y();
|
||||
return (this->max)().y();
|
||||
}
|
||||
|
||||
template < class R >
|
||||
|
|
@ -206,7 +206,7 @@ inline
|
|||
const typename Iso_cuboidC3<R>::FT &
|
||||
Iso_cuboidC3<R>::zmax() const
|
||||
{
|
||||
return max().z();
|
||||
return (this->max)().z();
|
||||
}
|
||||
|
||||
template < class R >
|
||||
|
|
@ -245,15 +245,15 @@ Iso_cuboidC3<R>::vertex(int i) const
|
|||
Construct_point_3 construct_point_3;
|
||||
switch (i%8)
|
||||
{
|
||||
case 0: return min();
|
||||
case 1: return construct_point_3(max().hx(), min().hy(), min().hz());
|
||||
case 2: return construct_point_3(max().hx(), max().hy(), min().hz());
|
||||
case 3: return construct_point_3(min().hx(), max().hy(), min().hz());
|
||||
case 4: return construct_point_3(min().hx(), max().hy(), max().hz());
|
||||
case 5: return construct_point_3(min().hx(), min().hy(), max().hz());
|
||||
case 6: return construct_point_3(max().hx(), min().hy(), max().hz());
|
||||
case 0: return (this->min)();
|
||||
case 1: return construct_point_3((this->max)().hx(), (this->min)().hy(), (this->min)().hz());
|
||||
case 2: return construct_point_3((this->max)().hx(), (this->max)().hy(), (this->min)().hz());
|
||||
case 3: return construct_point_3((this->min)().hx(), (this->max)().hy(), (this->min)().hz());
|
||||
case 4: return construct_point_3((this->min)().hx(), (this->max)().hy(), (this->max)().hz());
|
||||
case 5: return construct_point_3((this->min)().hx(), (this->min)().hy(), (this->max)().hz());
|
||||
case 6: return construct_point_3((this->max)().hx(), (this->min)().hy(), (this->max)().hz());
|
||||
default: // case 7:
|
||||
return max();
|
||||
return (this->max)();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -279,9 +279,9 @@ Bounded_side
|
|||
Iso_cuboidC3<R>::
|
||||
bounded_side(const typename Iso_cuboidC3<R>::Point_3& p) const
|
||||
{
|
||||
if (strict_dominance(p, min()) && strict_dominance(max(), p) )
|
||||
if (strict_dominance(p, (this->min)()) && strict_dominance((this->max)(), p) )
|
||||
return ON_BOUNDED_SIDE;
|
||||
if (dominance(p, min()) && dominance(max(), p))
|
||||
if (dominance(p, (this->min)()) && dominance((this->max)(), p))
|
||||
return ON_BOUNDARY;
|
||||
return ON_UNBOUNDED_SIDE;
|
||||
}
|
||||
|
|
@ -328,9 +328,9 @@ CGAL_KERNEL_INLINE
|
|||
bool
|
||||
Iso_cuboidC3<R>::is_degenerate() const
|
||||
{ // FIXME : predicate
|
||||
return min().hx() == max().hx()
|
||||
|| min().hy() == max().hy()
|
||||
|| min().hz() == max().hz();
|
||||
return (this->min)().hx() == (this->max)().hx()
|
||||
|| (this->min)().hy() == (this->max)().hy()
|
||||
|| (this->min)().hz() == (this->max)().hz();
|
||||
}
|
||||
|
||||
template < class R >
|
||||
|
|
@ -339,7 +339,7 @@ Bbox_3
|
|||
Iso_cuboidC3<R>::bbox() const
|
||||
{
|
||||
typename R::Construct_bbox_3 construct_bbox_3;
|
||||
return construct_bbox_3(min()) + construct_bbox_3(max());
|
||||
return construct_bbox_3((this->min)()) + construct_bbox_3((this->max)());
|
||||
}
|
||||
|
||||
CGAL_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -56,11 +56,11 @@ public:
|
|||
// CGAL_kernel_assertion(p<=q);
|
||||
}
|
||||
|
||||
const Point_2 & min() const
|
||||
const Point_2 & min BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return get(base).e0;
|
||||
}
|
||||
const Point_2 & max() const
|
||||
const Point_2 & max BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return get(base).e1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ public:
|
|||
const Point_3 & start() const;
|
||||
const Point_3 & end() const;
|
||||
|
||||
const Point_3 & min() const;
|
||||
const Point_3 & max() const;
|
||||
const Point_3 & min BOOST_PREVENT_MACRO_SUBSTITUTION () const;
|
||||
const Point_3 & max BOOST_PREVENT_MACRO_SUBSTITUTION () const;
|
||||
const Point_3 & vertex(int i) const;
|
||||
const Point_3 & point(int i) const;
|
||||
const Point_3 & operator[](int i) const;
|
||||
|
|
@ -119,7 +119,7 @@ SegmentC3<R>::end() const
|
|||
template < class R >
|
||||
inline
|
||||
const typename SegmentC3<R>::Point_3 &
|
||||
SegmentC3<R>::min() const
|
||||
SegmentC3<R>::min BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return lexicographically_xyz_smaller(source(),target()) ? source()
|
||||
: target();
|
||||
|
|
@ -128,7 +128,7 @@ SegmentC3<R>::min() const
|
|||
template < class R >
|
||||
inline
|
||||
const typename SegmentC3<R>::Point_3 &
|
||||
SegmentC3<R>::max() const
|
||||
SegmentC3<R>::max BOOST_PREVENT_MACRO_SUBSTITUTION () const
|
||||
{
|
||||
return lexicographically_xyz_smaller(source(),target()) ? target()
|
||||
: source();
|
||||
|
|
|
|||
|
|
@ -1361,7 +1361,7 @@ namespace CartesianKernelFunctors {
|
|||
const result_type &
|
||||
operator()(const Iso_rectangle_2& r) const
|
||||
{
|
||||
return r.min().x();
|
||||
return (r.min)().x();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -1378,7 +1378,7 @@ namespace CartesianKernelFunctors {
|
|||
const result_type &
|
||||
operator()(const Iso_rectangle_2& r) const
|
||||
{
|
||||
return r.max().x();
|
||||
return (r.max)().x();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -1395,7 +1395,7 @@ namespace CartesianKernelFunctors {
|
|||
const result_type &
|
||||
operator()(const Iso_rectangle_2& r) const
|
||||
{
|
||||
return r.min().y();
|
||||
return (r.min)().y();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -1412,7 +1412,7 @@ namespace CartesianKernelFunctors {
|
|||
const result_type &
|
||||
operator()(const Iso_rectangle_2& r) const
|
||||
{
|
||||
return r.max().y();
|
||||
return (r.max)().y();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -1498,7 +1498,7 @@ namespace CartesianKernelFunctors {
|
|||
operator()( const Iso_rectangle_2& r) const
|
||||
{
|
||||
typename K::Construct_bbox_2 construct_bbox_2;
|
||||
return construct_bbox_2(r.min()) + construct_bbox_2(r.max());
|
||||
return construct_bbox_2((r.min)()) + construct_bbox_2((r.max)());
|
||||
}
|
||||
|
||||
result_type
|
||||
|
|
@ -2771,9 +2771,9 @@ namespace CartesianKernelFunctors {
|
|||
operator()( const Iso_rectangle_2& r, int i) const
|
||||
{
|
||||
switch (i%4) {
|
||||
case 0: return r.min();
|
||||
case 0: return (r.min)();
|
||||
case 1: return Point_2(r.xmax(), r.ymin());
|
||||
case 2: return r.max();
|
||||
case 2: return (r.max)();
|
||||
default: return Point_2(r.xmin(), r.ymax());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ public:
|
|||
operator()(const typename K1::Iso_rectangle_2 &a) const
|
||||
{
|
||||
typedef typename K2::Iso_rectangle_2 Iso_rectangle_2;
|
||||
return Iso_rectangle_2(operator()(a.min()), operator()(a.max()), 0);
|
||||
return Iso_rectangle_2(operator()((a.min)()), operator()((a.max)()), 0);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -299,7 +299,7 @@ public:
|
|||
operator()(const typename K1::Iso_cuboid_3 &a) const
|
||||
{
|
||||
typedef typename K2::Iso_cuboid_3 Iso_cuboid_3;
|
||||
return Iso_cuboid_3(operator()(a.min()), operator()(a.max()), 0);
|
||||
return Iso_cuboid_3(operator()((a.min)()), operator()((a.max)()), 0);
|
||||
}
|
||||
|
||||
std::pair<typename K2::Point_2, typename K2::Point_2>
|
||||
|
|
|
|||
|
|
@ -201,16 +201,16 @@ compare_y_at_xC2(const FT &px, const FT &py,
|
|||
// compares the y-coordinates of p and the vertical projection of p on s.
|
||||
// Precondition : p is in the x-range of s.
|
||||
|
||||
CGAL_kernel_precondition(px >= min(ssx, stx) && px <= max(ssx, stx));
|
||||
CGAL_kernel_precondition(px >= (CGAL::min)(ssx, stx) && px <= (CGAL::max)(ssx, stx));
|
||||
|
||||
if (ssx < stx)
|
||||
return enum_cast<Comparison_result>(orientationC2(px, py, ssx, ssy, stx, sty));
|
||||
else if (ssx > stx)
|
||||
return enum_cast<Comparison_result>(orientationC2(px, py, stx, sty, ssx, ssy));
|
||||
else {
|
||||
if (py < min(sty, ssy))
|
||||
if (py < (CGAL::min)(sty, ssy))
|
||||
return SMALLER;
|
||||
if (py > max(sty, ssy))
|
||||
if (py > (CGAL::max)(sty, ssy))
|
||||
return LARGER;
|
||||
return EQUAL;
|
||||
}
|
||||
|
|
@ -231,8 +231,8 @@ compare_y_at_x_segment_C2(const FT &px,
|
|||
// - if the segments intersect, return EQUAL
|
||||
// - if not, return the obvious SMALLER/LARGER.
|
||||
|
||||
CGAL_kernel_precondition(px >= min(s1sx, s1tx) && px <= max(s1sx, s1tx));
|
||||
CGAL_kernel_precondition(px >= min(s2sx, s2tx) && px <= max(s2sx, s2tx));
|
||||
CGAL_kernel_precondition(px >= (CGAL::min)(s1sx, s1tx) && px <= (CGAL::max)(s1sx, s1tx));
|
||||
CGAL_kernel_precondition(px >= (CGAL::min)(s2sx, s2tx) && px <= (CGAL::max)(s2sx, s2tx));
|
||||
|
||||
if (s1sx != s1tx && s2sx != s2tx) {
|
||||
FT s1stx = s1sx-s1tx;
|
||||
|
|
|
|||
Loading…
Reference in New Issue