diff --git a/Packages/Geomview/TODO b/Packages/Geomview/TODO index f87296d1963..5b5c651a425 100644 --- a/Packages/Geomview/TODO +++ b/Packages/Geomview/TODO @@ -4,10 +4,12 @@ It's still probably a bug in Geomview. - The remote geomview (with rsh) facility probably doesn't work. But is it useful ? -- What to do for Circle_2 ? Maybe there's some code somewhere, or ask the - geomview list. Or do the discretisation ourselves, maybe it's the kernel's - job ? Discretisation for Sphere and Circle should be configurable for the - stream. +- Missing operators (for 2d and 3d Voronoi diagrams) : + - Ray_[23], Line_[23] : an easy one is already there, but to do it + perfectly, we should draw the segment resulting from the intersection of + the object with the BBox. + - Circle_2 +- Discretisation for Sphere and Circle should be configurable for the stream. - Is there a way to see edges like cylinders somewhat (possibly generate them ourselves), so that we know which one is in front of which other one ? - For T3D : I want to be able to tell Geomview or the CGAL program to stop @@ -32,7 +34,6 @@ Color: Demo : ------ - Add demo files for polyhedrons ? -- Bernd is asking to see minimum enclosing spheres. Doc: --- diff --git a/Packages/Geomview/changes.txt b/Packages/Geomview/changes.txt index d753dfade13..819bb0afb05 100644 --- a/Packages/Geomview/changes.txt +++ b/Packages/Geomview/changes.txt @@ -1,5 +1,8 @@ CHANGES to the Geomview package. +Ver 3.8 (23 January 2001) +- Added (simple) operator<<() for Ray_[23] and Line_[23]. + Ver 3.7 (7 December 2000) - Added a member function get_new_id(string) to replace and generalize the per type counters used to get unique identifiers for geomview. diff --git a/Packages/Geomview/include/CGAL/IO/Geomview_stream.h b/Packages/Geomview/include/CGAL/IO/Geomview_stream.h index e67f248e9f3..11575089656 100644 --- a/Packages/Geomview/include/CGAL/IO/Geomview_stream.h +++ b/Packages/Geomview/include/CGAL/IO/Geomview_stream.h @@ -1,6 +1,6 @@ // ============================================================================ // -// Copyright (c) 1997,1998,1999,2000 The CGAL Consortium +// Copyright (c) 1997,1998,1999,2000,2001 The CGAL Consortium // // This software and related documentation is part of an INTERNAL release // of the Computational Geometry Algorithms Library (CGAL). It is not @@ -396,6 +396,61 @@ operator<<(Geomview_stream &gv, const Sphere_3 &S) } #endif +// Ray and Line drawing should be done by intersecting them with the BBox +// of the Geomview_stream. But for now we take the easy approach. + +#if defined CGAL_RAY_2_H && \ + !defined CGAL_GV_OUT_RAY_2_H +#define CGAL_GV_OUT_RAY_2_H +template < class R > +Geomview_stream& +operator<<(Geomview_stream &gv, const Ray_2 &r) +{ + typename R::Segment_2 s(r.source(), r.point(1)); + gv << s; + return gv; +} +#endif + +#if defined CGAL_RAY_3_H && \ + !defined CGAL_GV_OUT_RAY_3_H +#define CGAL_GV_OUT_RAY_3_H +template < class R > +Geomview_stream& +operator<<(Geomview_stream &gv, const Ray_3 &r) +{ + typename R::Segment_3 s(r.source(), r.point(1)); + gv << s; + return gv; +} +#endif + +#if defined CGAL_LINE_2_H && \ + !defined CGAL_GV_OUT_LINE_2_H +#define CGAL_GV_OUT_LINE_2_H +template < class R > +Geomview_stream& +operator<<(Geomview_stream &gv, const Line_2 &r) +{ + typename R::Segment_2 s(r.point(-1), r.point(1)); + gv << s; + return gv; +} +#endif + +#if defined CGAL_LINE_3_H && \ + !defined CGAL_GV_OUT_LINE_3_H +#define CGAL_GV_OUT_LINE_3_H +template < class R > +Geomview_stream& +operator<<(Geomview_stream &gv, const Line_3 &r) +{ + typename R::Segment_3 s(r.point(-1), r.point(1)); + gv << s; + return gv; +} +#endif + Geomview_stream& operator<<(Geomview_stream &gv, const Bbox_2 &bbox);