Version 5.6 (2 November 2000) - Moved SphereC3 ctor inside class body for VC++. Version 5.5 (19 October 2000) - Added "#define typename" for M$VC++. Hopefully that'll fix it for good. Version 5.4 (14 October 2000) - Removed default argument value duplication for SphereC3 ctors. Version 5.3 (13 October 2000) - Use Vector::squared_length(). - Fix SphereC3. Version 5.2 (31 August 2000) - fixed circumcenterC3 for 3 3D points in kernel_ftC3.h (once more) Version 5.1 (24 August 2000) - Fixed circumcenterC3 for 3 3D points in kernel_ftC3.h - Removed Sphere_3::id(). [syl] - Various other cleanups. [syl] - Removed long_description.txt. [syl] - Use CGAL_ADVANCED_KERNEL_PARTIAL_SPEC for all partial specialization of kernel objects, instead of the 4 line for each class. [syl] - Added Vector_3.squared_length(). [syl] Version 5.0 (1 August 2000) - Added a new construction circumcenterC3(3 points). [syl] - Minor cleanups. [syl] Version 4.9 (29 June 2000) - Header fixes [syl]. Got rid of Herve's check_header script. - Fixed a few buggy protect macro names [syl]. Version 4.8 (22 June 2000) - Fixed namespace issues for number type utilities [syl]. Version 4.7 (2 May 2000) - make the following classes derive from HandleCfor instead of Handle DirectionC3make commit IsoCcuboidC3 LineC3 PlaneC3 PointC3 RayC3 SegmentC3 TetrahedronC3 TriangleC3 VectorC3 remain to be done : Aff_transformationC3, SphereC3 Version 4.6 (21 April 2000) - fixed a bug related to previous removing of leading underscores in variables names Version 4.5 (20 April 2000) - removed leading underscores in variables names - added newly tested functionalities : Object_3 Assign_3 Equal_xyz_3 Compare_xy_3 Equal_xy_3 Less_x_3 Less_y_3 Less_z_3 Less_xy_3 Less_distance_to_point_3 Version 4.4 (6 April 2000) [my] - added a typename in Cartesian/Iso_cuboid_3.C Version 4.3 (29 March 2000) [my] - fixed bugs in Iso_cuboid_3.C : #include instead of #include -fixed has_on_unbounded_side Version 4.2 (28 March 2000) [my] - fixed bugs in Iso_cuboid_3.C concerning min(), max() and bounded_side() - suppress compare_dominance and compare_submittance in predicates_on_points_3.h and predicates/kernel_ftC3.h - add dominance() and strict_dominance instead in predicates_on_points_3.h and predicates/kernel_ftC3.h Version 4.1 (22 March 2000) - fixed Iso_cuboid_3 again [my] - added maintainer file - changed Makefile to include maintainer file in package Version 4.0.5 (28 February 2000) - fixed Iso_cuboid_3 stuff [my] Version 4.0.4 (Janvier 27 2000) - make the changed required by Dima in Point_3.C Vector_3.C and Direction_3.C that is changed the return (cond) ? foo : bar; into if (cond) return foo; return bar; Version 4.0.3 (December 14 1999) - Forgot a typename in Tetrahedron_3 - Use lexicographical comparison in Tetrahedron (instead of reimplementing it) Version 4.0.2 (November 23 1999) - Various cleanups [syl & herve]. - Shorter headers in CVS repository, but complete for release thanks to script for submission - Added compare_dominance and compare_is_dominated in predicates_on_points - Added Iso_cuboid_3 - Rewrote the body of PlaneC3::transform() for Borland C++ - Added id()-filters for comparaisons of kernel objects, only when there is substantial computation before first exit point. For instance, when comparing plane, has_on (expensive is called), therefore I compare id()s first; on the other hand, comparing spheres compares center.x() first, which is likely to exit, so comparing id()s not a good investment. Version 4.0.1 (October 28 1999) - Filter related typo in kernel_ftC3.h [Sylvain] - Changed cmp_signed_dist_to_planeC3() to cmp_signed_dist_to_directionC3() and related has_...(). [Syl] - Optimized cmp_signed_dist_to_planeC3(5 points) [Syl]. - Cartesian/distance_predicates_3.h cleanup [Syl]. - Changed //CGAL_NO_FILTER_BEGIN&END to per predicate /*CGAL_NO_FILTER*/ [Syl]. Version 4.0 (October 21 1999) - Cosmetic changes (indentation) for cgal-submit scripts - Other than that, seems ready for CGAL 2.1 Version 3.6.4 (October 21 1999) - Update for CGAL/Arithmetic_filter/predicates/kernel_ftC3.h [Sylvain] Version 3.6.3 (October 12 1999) - Reverted the typename R::FT in *.C to typename Classname::FT [Geert-Jan] Should now work on M$VC++ as well because of that change - Will work on egcs 1.1.2 once direction.vector() is changed to to_vector() everywhere in CGAL (pending decision). Version 3.6.2 (October 11 1999) - Fixed projection_lineC3 that led to bug of version 3.6.1 Version 3.6.1 (October 7 1999) - Various predicates and constructions cleanups and speedups [Sylvain]. - Added projection_lineC3 and point_on_line as constructions on lines - Changed name of Direction::vector to Direction::to_vector - Changed targets in the makefile (using .PHONY) - Cosmetic changes (notably some typename R::FT) BUG: Assertion fails in _test_cls_line:102, but I have to submit it TODO: Correct it (emergency!) Version 3.6 (September 28 1999) - Changed printing of Aff_transformations to look like C2 - Changed composition of Aff_transformations to better scheme, at representation level : before, each transformation was converted to its general_form and composed; now two translations composed yield a translation. Version 3.3.5 (September 22 1999) - Corrected class Identity to class Identity_transformation Version 3.3.4 (September 16 1999) - Use the new CGAL_CFG_TYPENAME_BUG - Added Monique's predicate coplanar_orientation - Fixed some missing std:: for cerr - Avoid using in Tetrahedron_3.C Version 3.3.3 (September 9 1999) - Renamed the script to spare the work for Geert-Jan (otherwise clash with C2) - nice arithmetic: 3.3.3.3 on 9/9/99 Version 3.3.2 (September 9 1999) - Michael Hoffmann: The declarations of friend functions like _general_transformation_composition have to precede their friend declaration (at least on mips). - corrected TetrahedronC3::operator==() with the correct definition Version 3.3.1 (September 2 1999) - Added headers to *.C so that Utrecht cant complain Version 3.3 (September 3 1999) - The typename added in 3.2.3 crashes VC++, hence the #define typename for VC++ Version 3.3 (September 2 1999) - The typename added in 3.2.3 crashes VC++, hence the #define typename for VC++ Version 3.2.6 (September 2 1999) - removed #warning which is not standard-compliant and crashes on M$VC++ Version 3.2.5 ((September 2 1999) - Forgot include/CGAL/Cartesian/Aff_transformation_3.h Version 3.2.4 ((September 2 1999) - Changed all the typename R::FT into typename ClassC2<>::FT for M$VC++ Version 3.2.3 (September 2 1999) - added needed typename in all indeed, Class_3::Subclass needs a typename qualifier for MIPSPRO 7.3 although it worked with the other compilers Version 3.2.2 (September 2 1999) - fixed include files that still included [worked with symlinks, but not in releases newer than 2.1-I-13] Version 3.0 (August 26 1999) ****EXTENSIVE CHANGES -- enough to warrant a new 3.0 release***** - new subdirectory predicates_on_ftC3.h put into basic_construction_ftC3.h put into - new scheme by Michael Hoffmann, which assumes partial specialization - temporary scheme by Stefan Schirra, which does not assume it - Michael' scheme by default, use -DCGAL_CFG_NO_ADVANCED_KERNEL for Stefan's design (requires $CGAL/test/NewKernel, which can be found in CGAL-3.1-I-x , x>=12) - each file Class_3.h is not separated into Class_3.h (interface declaration) and Class_3.C (method definitions) for easier inclusion of all *.h before *.C - each file Class_3.h can now be included independently of the others and of the representation class (as long as the template parameter R defines the other classes in the kernel) ****IMPORTANT: please note - for now, while we still have two versions, two scripts (create_symlinks and remove_symlinks) are included which have to be run before the test suite. when using Michael's design. (Nothing to be done for Stefan's design!) This is to prevent inclusion of the wrong files *C3.h and *_3.h (now we want to include instead of *C3.h) - in order to test Stefan's design, one needs the test/NewKernel directory when this is added to the internal release, this directory will disappear ****BUGS FIXES: in addition, since 2.1.6 - gcc 2.95 compliant (hopefully conform to the standard) - added std:: for endl (suggestion by Stefan Schirra) Version 2.1.6 (June 22 1999) - Added missing std:: (sylvain) Version 2.1.5 (May 23 1999) - Fixed TetrahedronC3::operator==(), which was incorrect even in the generic case (it still remains undefined in the degenerate case) - Fixed vertex() in Triangle and Tetrahedron (for the modulus operation) - Added CGAL:: prefix to to_double() in PointC3 Version 2.1.4 (April 27 1999) - Bug fixes by Sylvain, CGAL::compare() Version 2.1.3 (March 30 1999) - made the funnelweb->code Version 2.1.2 (March 30 1999) - Moved #includes out of namespace CGAL Version 2.1.1 (23 March 1999) - Added more CGAL::sign() into PlaneC3 and DirectionC3 Version 2.1 (12 March 1999) - Changed a lot of the formatting - Optimized some arithmetic expressions and case/switch/test statements in Aff_transformationC3 and PlaneC3 [Sylvain Pion] - Finally removed OrderTypesC3, IntersectionC3 and ostreamC3 from the directory web/ (obsolete) - Changed sign() to CGAL::sign() in PlaneC3.h, in predicates_on_ftC3.h, to avoid potential conflicts with leda - Changed long id() for all classes [Sylvain Pion] [was (int) PTR, which is unsafe on some machines] - Used CGAL::square whenever appropriate - In SegmentC3, collinear_has_on() now uses predicate - Removed const qualifier from local variables (turns out not needed) - Used sign_of_determinant() instead of sign(determinant()) - Added distance_predicatesC3 - Include in RayC3.h - Include in SegmentC3.h TODO ? In TriangleC3, has_on() now uses predicate ? move cross_product() from VectorC3 to basic_constructionsC3 Version 2.0 (29 Feb 1999) - Changed to namespace CGAL - Added scaled_distance_to_directionC3 for *_signed_distance_to_plane Ver 1.6 (4 January 1999) - Revised inline policy in basic constructions and predicates - Added const qualifier to all local variables that qualify for it (greatly enhances optimization) - Optimized the 3D predicates' arithmetic expressions Ver 1.5 (3 December 1998) - Changes go along two directions: constructions and predicates. BASIC CONSTRUCTIONS: - Added basic_constructions_ftC3 - Moved all the computation basic_constructions from basic_constructions_ftC3 - Added basic constructions: CGAL_scaled_distance_to_plane(Plane, Point) CGAL_scaled_distance_to_plane(Point, Point, Point, Point) CGAL_squared_distance(Point, Point) CGAL_projection(Point,Plane) PREDICATES - Added predicates_on_ftC3 - Moved all the computation from predicates_on_pointsC3 to predicates_on_ftC3 - Added the predicates on squared distances (similar to C2) CGAL_cmp_dist_to_point(Point, Point, Point) CGAL_has_larger_dist_to_poin(Point, Point, Point)t CGAL_has_smaller_dist_to_poin(Point, Point, Point)t CGAL_cmp_signed_dist_to_plane(Plane, Point, Point) CGAL_has_larger_signed_dist_to_plane(Plane, Point, Point) CGAL_has_smaller_signed_dist_to_plane(Plane, Point, Point) [Plane can also be given implicitly by three points] CGAL_cmp_signed_dist_to_plane(Point, Point, Point, Point, Point) CGAL_has_larger_signed_dist_to_plane(Point, Point, Point, Point, Point) CGAL_has_smaller_signed_dist_to_plane(Point, Point, Point, Point, Point) - Simplified expressions for collinear_are_ordered_along_line Ver 1.4 (16 June 1998) - Added missing declaration for FT0 in some predicates - Added are_strictly_ordered_along_line predicate - Changed the in-sphere predicates (corrected oriented version and added bounded version) - Added the are_positive_oriented and are_negative_oriented predicates Ver 1.3 - Added basic_constructionsC3 (midpoint, circumcenter, projection) Ver 1.2 - Added CGAL_NULL_TMPL_ARGS in friend operator declaration - New inline policy is now used: There are several levels of inlining to be defined in kernel_basic.h Ver 1.1 - New access functions have been added to Aff_transformation. (Thanks to Stefan.) Ver 1.0 - From the Kernel design group