- Add new constructor Iso_cuboid_3(left, right, bottom, top, far, close).

This commit is contained in:
Sylvain Pion 2003-01-22 10:06:56 +00:00
parent 99e44b62a0
commit 605c85d80f
2 changed files with 31 additions and 2 deletions

View File

@ -1,5 +1,7 @@
2.54 2.54 (22 January 2003)
- Added coordinate iterator - Add coordinate iterator
- Add new constructor Iso_cuboid_3(left, right, bottom, top, far, close).
- Fixes for newer GCC.
2.53 (20 January 2003) 2.53 (20 January 2003)
- Remove #ifdef CGAL_CFG_TYPENAME_BUG stuff, as VC6 is not supported anymore. - Remove #ifdef CGAL_CFG_TYPENAME_BUG stuff, as VC6 is not supported anymore.

View File

@ -48,6 +48,10 @@ public:
Iso_cuboidH3(const Point_3& p, const Point_3& q); Iso_cuboidH3(const Point_3& p, const Point_3& q);
Iso_cuboidH3(const Point_3& left, const Point_3& right,
const Point_3& bottom, const Point_3& top,
const Point_3& far, const Point_3& close);
Iso_cuboidH3(const RT& min_hx, const RT& min_hy, const RT& min_hz, Iso_cuboidH3(const RT& min_hx, const RT& min_hy, const RT& min_hz,
const RT& max_hx, const RT& max_hy, const RT& max_hz, const RT& max_hx, const RT& max_hy, const RT& max_hz,
const RT& hw); const RT& hw);
@ -138,6 +142,29 @@ Iso_cuboidH3(const typename Iso_cuboidH3<R>::Point_3& p,
Point_3(maxx, maxy, maxz, maxw) )); Point_3(maxx, maxy, maxz, maxw) ));
} }
template < class R >
CGAL_KERNEL_LARGE_INLINE
Iso_cuboidH3<R>::
Iso_cuboidH3(const typename Iso_cuboidH3<R>::Point_3& left,
const typename Iso_cuboidH3<R>::Point_3& right,
const typename Iso_cuboidH3<R>::Point_3& bottom,
const typename Iso_cuboidH3<R>::Point_3& top,
const typename Iso_cuboidH3<R>::Point_3& far,
const typename Iso_cuboidH3<R>::Point_3& close)
: base(rep(Point_3(left.hx() * bottom.hw() * far.hw(),
bottom.hy() * left.hw() * far.hw(),
far.hz() * left.hw() * bottom.hw(),
left.hw() * bottom.hw() * far.hw()),
Point_3(right.hx() * top.hw() * close.hw(),
top.hy() * right.hw() * close.hw(),
close.hz() * right.hw() * top.hw(),
right.hw() * top.hw() * close.hw())))
{
CGAL_kernel_precondition(!less_x(right, left));
CGAL_kernel_precondition(!less_y(top, bottom));
CGAL_kernel_precondition(!less_z(close, far));
}
template < class R > template < class R >
CGAL_KERNEL_LARGE_INLINE CGAL_KERNEL_LARGE_INLINE
Iso_cuboidH3<R>:: Iso_cuboidH3<R>::