cgal/Cartesian_kernel/changes.txt

1454 lines
48 KiB
Plaintext
Raw Blame History

23 November 2005 Sylvain Pion
- Cartesian_converter : add missing typedefs in the specialization for <K,K,C>.
14 September 2005 Sylvain Pion
- Remove qualified_result_type from functors.
12 September 2005 Sylvain Pion
- Remove operator()() for default constructors.
7 September 2005 Andreas Fabri
- Moved implementation of insert/extract operator to Point_2, Line_2, Circle_2
6 August 2005 Sylvain Pion
- Replace FT(0) by 0, and similar.
- Propagate uncertainty in low level FT predicates.
6 August 2005 Sylvain Pion
- Remove <FT> qualification for functions part of the NT interface
(sign, compare...), for efficiency.
- Add <FT> qualification for functions which are not part of the
NT interface (det3x3_by_formula...) to support GMP++ like types.
1 August 2005 Sylvain Pion
- Cartesian_converter : specialize when same_type<K1, K2>.
1 August 2005 Sylvain Pion
- Remove K::make_FT and K::FT_{numerator|denominator}
(replaced by Rational_traits).
30 July 2005 Sylvain Pion
- Fix Cartesian_converter for Circle_2::orientation().
30 July 2005 Sylvain Pion
- Add some explicit casts to allow Uncertain<>.
29 July 2005 Andreas Fabri
- Added conversion of a vector of Objects in Cartesian_converter.h
26 July 2005 Andreas Fabri
- Removed debug printout in Cartesian_converter.h
- Replaced int with unsigned int in a for loop in Cartesian_converter.h
26 July 2005 Sylvain Pion
- Fix Qualified_result_of<CartesianKernelFunctors::Compute_squared_radius_2<K>,
typename K::Circle_2 >
26 July 2005 Andreas Fabri
- Added conversion in Cartesian_converter for CGAL::Object with a kernel object inside
25 July 2005 Andreas Fabri
- Added Qualified_result_of<CartesianKernelFunctors::Compute_squared_radius_2<K>, typename K::Circle_2, int >
- Moved equality test from Vector_2, Point_2 to global_functions
20 July 2005 Andreas Fabri
- Moved Compute_y_2 from Kernel_23 to Cartesian_kernel
- Added qualified_result_type to some functors
24 June 2005 Andreas Fabri
- Removed #ifndef CGAL_NO_DEPRECATED_CODE for Construct_vector_2 and Construct_direction_2
18 June 2005 Andreas Fabri
- Moved code from Kernel_class_2 to the functors
19 May 2005 Sylvain Pion
- Add centroid(Triangle_[23]) and centroid(Tetrahedron_3).
11 May 2005 Sylvain Pion
- New predicates : orientation(3 Vector_3) and orientation(2 Vector_2).
============================= CGAL 3.1 ==========================
17 September 2004 Sylvain Pion
- Cartesian_converter.h : add #include <CGAL/Origin.h>.
14 September 2004 Sylvain Pion
- Cartesian_converter : add converions for Origin and Null_vector.
- More global functions call the functors.
4 September 2004 Menelaos Karavelas
- re-wrote author names in copyright notices using 7-bit characters
22 June 2004 Sylvain Pion
- Undeprecate construction functors from NTs.
20 June 2004 Sylvain Pion
- Change some CGAL:: to CGAL_NTS.
20 May 2004 Sylvain Pion
- Add forgotten #include<CGAL/Bbox_[23].h>.
19 May 2004 Andreas Fabri
- The coordinate iterator is now const FT* (change in Cartesian.h, Cartesian_base.h, Point_2.h, Point_3.h)
- The Cartesian/global_operators_{2,3}.h are turned into function objects
19 May 2004 Sylvain Pion
- Cartesian_converter : add conversions for FT, Bbox_2 and Bbox_3.
8 May 2004 Sylvain Pion
- Prevent warnings when -DNDEBUG.
23 April 2004 Andreas Fabri
- bug fix in line_from_pointsC2 (sign error, degenerate line)
16 April 2004 Andreas Fabri
- Special treatment for horizontal and vertical line in line_from_pointsC2
16 March 2004 Andreas Fabri
- Move the following to the new scheme :
signed_distance_to_{point,line_plane}
13 Mar 2004 Sylvain Pion
- Move centroid() to the new scheme.
13 Mar 2004 Sylvain Pion
- Get rid of equal_line() and remove the file predicates_on_line_2.h.
13 Mar 2004 Sylvain Pion
- Use LineC3 instead of LineH3.
- Merge Construct_line_3 between H&C.
- Duplicate Construct_projected_point_3 between H&C.
13 Mar 2004 Sylvain Pion
- Factorize identical Coplanar_3 functors between H&C.
- Move to the new scheme :
orientation(4 Point_3), coplanar(4 Point_3),
are_positive_oriented(4 Point_3), are_negative_oriented(4 Point_3),
side_of_oriented_sphere(5 Point_3)
13 Mar 2004 Sylvain Pion
- Use TetrahedronC3 instead of TetrahedronH3.
Duplicate Compute_volume_3 and Bounded_side_3 functors instead.
13 Mar 2004 Sylvain Pion
- Use TriangleC3 instead of TriangleH3.
Duplicated Has_on_3 instead.
13 Mar 2004 Sylvain Pion
- Move the following to the new scheme :
area(3 Point_2), operator-(2 Point_[23]), collinear(3 Point_3),
angle(3 Point_3), coplanar_orientation([34] Point_3),
coplanar_side_of_bounded_circle(4 Point_3), are_ordered_along_line(3 Point_3),
are_strictly_ordered_along_line(3 Point_3),
collinear_are_strictly_ordered_along_line(3 Point_3)
10 Mar 2004 Sylvain Pion
- Move operator+(Point_2, Vector_2) to the new scheme.
10 Mar 2004 Andreas Fabri
- Replaced operator*(Vector, FT) with functor
9 Mar 2004 Andreas Fabri
- Added missing typename
8 Mar 2004 Andreas Fabri
- Added functor and function for constructing orthogilnal vector of three points
29 Feb 2004 Sylvain Pion
- Move cross_product() to the new scheme.
29 Feb 2004 Sylvain Pion
- Added ComputeScalarProduct_[23] functors.
- Added [RT|FT] multiplication from left to Vector_[23]. [bug#194]
- Moved the operator* of Vector_[23] to the new scheme.
22 Feb 2004 Sylvain Pion
- Move compare_slopes(Segment_2, Segment_2) to the new scheme.
- Move compare_slopes(Line_2, Line_2) to the new scheme.
- Remove side_of_oriented_line(Line_2, Point_2) : it's not documented,
only in Cartesian, and available as Line_2::oriented_side(Point_2).
- Move lexicographically_yx_smaller_or_equal() to the new scheme.
21 Feb 2004 Sylvain Pion
- Move internal predicates(p,q,K) to CGALi.
19 Feb 2004 Sylvain Pion
- Remove meaningless constructor Vector_2(Direction_2).
19 Feb 2004 Sylvain Pion
- Internal *C[23] classes do not publicly derive from the Handle stuff,
but private data member instead.
16 Feb 2004 Andreas Fabri
- Added operstor()(Point, Point, Point, Point, Point) to Less_signed_distance_to_plane_3
16 Feb 2004 Sylvain Pion
- Fix compare_signed_distance_to_plane(Point, Point, Point, Point, Point).
15 Feb 2004 Sylvain Pion
- Add circumcenter(Triangle_[23]) and circumcenter(Tetrahedron_3).
Version 102.20 (19 January 2004) [mk]
- added fixes for g++ 2.95.3 and SunPRO CC 5.3 and used the
new macro CGAL_CFG_USING_BASE_MEMBER_BUG
Version 102.19 (18 January 2004)
- Remove CGAL_CFG_USING_NAMESPACE_BUG workaround.
Version 102.18 (18 January 2004)
- Remove obsolete *ITERATOR_TRAITS_POINTER_SPEC* workarounds.
Version 102.17 (18 January 2004)
- Remove obsolete CGAL_VC7_BUG_PROTECTED workaround (VC++ <= 7.0).
Version 102.16 (15 January 2004)
- SunPro CGAL_WRAP workaround.
Version 102.15 (13 January 2004)
- Add volume(4 points).
Version 102.14 (13 January 2004)
- Remove Simple_Handle_for.
Version 102.13 (1 January 2004)
- New faster Handle_for interface
- More work towards extensible kernel.
Version 102.12 (1 January 2004)
- Speed up PointC[23].cartesian().
Version 102.11 (17 December 2003)
- Added Compute_area_3, and a version of Compute_squared_area_3 taking 3
points.
Version 102.10 (8 December 2003)
- resubmit.
Version 102.9 (8 December 2003)
- Cartesian_converter : add a "using Enum_operator::operator();" otherwise
it's ignored.
Version 102.8 (4 December 2003)
- Get rid of line_from_points(), it was undocumented, Cartesian only, and the
real thing is the line constructor.
Version 102.7 (4 December 2003)
- More bisector() functions.
Version 102.6 (3 December 2003)
- Add parallel().
Version 102.5 (19 November 2003)
- Added bisector(Point_3, Point_3).
Version 102.4 (17 November 2003)
- 2-stage name lookup fixes for g++ 3.4.
- Remove deprecated code.
========================== CGAL 3.0 ====================
Version 102.3 (21 October 2003)
- fix headers
Version 102.2 (17 October 2003)
- Add area(p, q, r).
Version 102.1 (1 October 2003) [af]
- A messed up cgal_submit forces us to increase the version number
Version 6.104 (1 October 2003) [af]
- Added maintainer
Version 6.103 (29 September 2003) [af]
- Replaced more K:Point_[2,3] constructor calls with K::Construct_point_[2,3]
Version 6.102 (29 September 2003) [af]
- Replaced K:Point_[2,3] constructor calls with K::Construct_point_[2,3]
Version 6.101 (24 September 2003) [af]
- Replaced Point_[2,3].bbox() calls with K::Construct_bbox_[2,3] functor calls
Version 6.100 (18 September 2003)
- New headers.
Version 6.98 (17 September 2003)
- Changed CartesianCoordinateConstIterator to CartesianConstIterator
Version 6.97 (8 September 2003)
- bug fix in Segment_2.h
Version 6.96 (7 September 2003)
- Replaced global function calls by Kernel functors
Version 6.95 (8 August 2003)
- Simplify default constructors to have better optimization.
Version 6.93 (25 July 2003)
- VC++ workaround in Cartesian_converter.
Version 6.92 (30 June 2003)
- Remove the last 2, as they prooved to not bring much.
(more work on Arr_traits is needed)
Version 6.91 (17 June 2003)
- Add another unfinished functor to CompareX_2
operator()( const Segment_2& s1, int i1, const Point_2 & p)
Version 6.90 (5 June 2003)
- Add unfinished functor to CompareX_2
operator()( const Segment_2& s1, int i1, const Segment_2& s2, int i2)
Version 6.89 (2 June 2003)
- -DCGAL_NO_DEPRECATED_CODE fixes.
Version 6.88 (2 June 2003)
- bbox() of Point, Circle, Sphere now use to_interval
Version 6.87 (30 May 2003)
- Workaround "using namespace" for VC++ 7.
Version 6.86 (11 May 2003)
- Add missing functor for Plane_3(Point_3, Vector_3).
- In order to get rid of Direction_[23] at some point, I have added :
- Line_2(Point_2, Vector_2) ConstructLine_2
- Line_3(Point_3, Vector_3) ConstructLine_3
- Ray_2(Point_2, Vector_2) ConstructRay_2
- Ray_3(Point_3, Vector_3) ConstructRay_3
- Ray_2(Point_2, Line_2) ConstructRay_2
- Ray_3(Point_3, Line_3) ConstructRay_3
- Vector_2(Line_2) ConstructVector_2
- Vector_3(Line_3) ConstructVector_3
- Vector_2(Ray_2) ConstructVector_2
- Vector_3(Ray_3) ConstructVector_3
- Vector_2(Segment_2) ConstructVector_2
- Vector_3(Segment_3) ConstructVector_3
- Vector_2 Line_2.to_vector()
- Vector_3 Line_3.to_vector()
- Vector_2 Ray_2.to_vector()
- Vector_3 Ray_3.to_vector()
- Vector_2 Segment_2.to_vector()
- Vector_3 Segment_3.to_vector()
Version 6.85 (11 May 2003) [mh]
- Rename variable to avoid SunPro warning.
Version 6.84 (9 May 2003) [mh]
- Moved common functors from function_objects into Kernel_23
- Let some global functions call the functors
Version 6.83 (7 May 2003) [mk]
- added type names for the template parameters of the Cartesian
converter; the Cartesian converter now derives from Enum_converter
so that CGAL's enum types are also converted
Version 6.82 (7 May 2003)
- Moved (some) functionality from global functions into kernel functors
Version 6.81 (24 February 2003)
- Remove duplicate typedef.
Version 6.80 (21 February 2003)
- True kernel extensibility.
Version 6.79 (19 February 2003)
- Fix Type_equality_wrapper<> for SunPro/MipsPro.
Version 6.78 (19 February 2003)
- restablished the first const and removed the second one, and tested it before
submitting ===:>-
Version 6.77 (18 February 2003)
- Removed a const (produced a warning on Sgi CC)
Version 6.76 (11 February 2003)
- Added squared_radius(p, q).
Version 6.75 (29 January 2003)
- "far" is rejected by VC++ (used to be a keyword).
Version 6.74 (27 January 2003)
- Split the main kernel classes into Cartesian_base<>, and use
Type_equality_wrapper<>.
Version 6.73 (22 January 2003)
- VC++ workaround in Cartesian_converter.
Version 6.72 (22 January 2003)
- Add coordinate iterator
- Add new constructors Iso_rectangle_2(left, right, bottom, top) and
Iso_cuboid_3(left, right, bottom, top, far, close).
Version 6.71 (20 January 2003)
- Remove #ifdef CGAL_CFG_TYPENAME_BUG stuff, as VC6 is not supported anymore.
Version 6.70 (20 January 2003)
- Submission bug.
Version 6.69 (20 January 2003)
- Same for Point_3...
Version 6.68 (20 January 2003)
- Cartesian_converter should not use construct_point_2(NT).
Version 6.67 (20 January 2003)
- Missing #include <> spotted by GCC CVS.
Version 6.66 (20 January 2003)
- Remove obsolete left/right_turn function based on Origin : they are obsolete,
and they didn't compile even in 2.4.
Version 6.65 (20 January 2003)
- Finish last change : remove *handle_[23] types from the main kernel classes.
Version 6.64 (9 January 2003)
- Experiment with new ref-counting specification mecanism.
Version 6.63 (25 October 2002)
- Rewrite iterator traits pointer specs.
Version 6.62 (9 October 2002)
- Remove Kernel_traits_common.h.
Version 6.61 (8 October 2002)
- Add deprecation warnings.
Version 6.60 (5 October 2002)
- Add explicit types to function templates to support expression templates
(GMP++).
Version 6.59 (22 April 2002)
- Add default ctor to Cartesian_converter to shut up SunPro warning.
Version 6.58 (20 March 2002)
- removed d-dim points
Version 6.57 (6 February 2002)
- VC7 workarounds.
Version 6.55 (28 January 2002)
- VectorC3<R>::Vector_3 is private => R::Vector_3.
Version 6.53 (24 January 2002)
- removed obsolete include of predicate_objects_on_points_2.h
Version 6.52 (23 January 2002)
- Get rid of the "Advanced kernel" remaining macros.
Version 6.51 (23 January 2002)
- Remove Point_2_base and such typedefs.
Version 6.51 (22 January 2002)
- Classes and funtion return type only refer to R::...
Version 6.50 (9 January 2002)
- Update compare_y_at_x.
Version 6.49 (7 January 2002)
- fixed bug in compare_slopes for segments
Version 6.48 (7 January 2002)
- Make Iso_rectangleC2 only know R::Point_2, not R::Point_2_base.
Version 6.47 (5 January 2002)
- Move Cartesian_dynamic_d.h to Cd.
Version 6.46 (4 January 2002)
- just resubmit...
Version 6.45 (4 January 2002)
- Replace the small helper *rep classes by std::pair and triple.
Version 6.44 (21 December 2001)
- Just resubmit.
Version 6.43 (21 December 2001)
- compare_y_at_x for segments.
Version 6.42 (19 December 2001)
- Fix PlaneC3.base2().
Version 6.41 (13 December 2001)
- Fix DirectionC3's operator>>.
Version 6.40 (5 December 2001)
- added missing line
Version 6.39 (5 December 2001)
- added compare_slopes
Version 6.38 (1 December 2001)
- operator<< of various kernel object required more than R to be public.
Version 6.37 (25 November 2001)
- Make FT public in Data_accessor_2 for Min_ellipse_2.
Version 6.36 (23 November 2001)
- Submission bug.
Version 6.35 (21 November 2001)
- Fix Conic_2.
Version 6.34 (31 October 2001)
- Use R::FT instead of Point_2::FT and co.
Version 6.33 (24 October 2001)
- Use Handle_for/Ref_counted in Aff_[23].
- Bring Simple_cartesian in sync with Cartesian.
- Handle simplifications.
Version 6.32 (8 October 2001)
- Make BCC happy.
Version 6.31 (5 October 2001)
- Remove cartesian_classes.h.
- Move #include<CGAL/Cartesian/redefine_names_[23].h> to [Simple_]Cartesian.h
instead of in each Cartesian/*.h file.
- Clean up advanced kernel support.
Version 6.30 (3 October 2001)
- typedefs cleanup. Now the only public typedef of kernel classes is R.
Version 6.29 (2 October 2001)
- Access functions of objects (like .x() ) now return const references.
Version 6.28 (13 September 2001)
- More missing typenames.
Version 6.27 (12 September 2001)
- Fixes for SunPro.
Version 6.26 (16 August 2001)
- Missing typenames.
Version 6.25 (15 August 2001)
- Workaround for SunPro.
========================== CGAL 2.3 ====================
Version 6.24 (25 July 2001)
- Remove Aff_transformation_[23] from Cartesian_converter.
Version 6.23 (23 July 2001)
- renamed cmp_* to compare_* and *_dist_* to *_distance_* and
leftturn, Leftturn, LEFTTURN to left_turn, Left_turn, LEFT_TURN and
rightturn, Rightturn, RIGHTTURN to right_turn, Right_turn, RIGHT_TURN
and compare_lexicographically* to compare_*
(deprecated the old names but didn't remove them).
Version 6.22 (10 July 2001)
- Deprecated has_on_boundary for Plane_3
- New predicate : coplanar_orientation(3 points).
Version 6.21 (21 June 2001)
- Add constructors for Direction.
Version 6.20 (21 June 2001)
- Improve robustness and speed of Plane_3::operator==(Plane_3).
Version 6.19 (19 June 2001)
- added centroid
Version 6.18 (18 June 2001)
- Move definition of CGAL_REP_CLASS_DEFINED.
Version 6.17 (2 May 2001)
- Fix operator<<(Iso_cuboid_3).
Version 6.16 (1 May 2001)
- angle()
- compare_x_at_y()
Version 6.15 (26 April 2001)
- Change coplanar_side_of_oriented_circle
to coplanar_side_of_bounded_circle.
Version 6.14 (13 April 2001)
- Remove coplanar_orientation(3 points, 1 vector) and
coplanar_side_of_oriented_circle(3 points, 1 vector).
Version 6.13 (13 April 2001)
- Added coplanar_side_of_oriented_circle(p,q,r,t).
Version 6.12 (12 April 2001)
- Fix off by one error in Triangle::vertex().
Version 6.11 (20 March 2001)
- Remove Cartesian/circle_constructions_2.h.
- Add squared_radius().
Version 6.10 (16 March 2001)
- Change the origin point in some predicate and related constructions, in
order to be more consistent.
Version 6.9 (16 March 2001)
- Added constructor Vector(Point, Point).
- Optimize circumcenterC3(3 points).
- Added side_of_bounded_sphere() for 2 and 3 points.
Version 6.8 (21 February 2001)
- Use CGAL_TYPENAME_MSVC_NULL in Cartesian_converter<>.
- Added converters for Aff_transformation_[23] in Cartesian_converter<>.
- Move NT_converter<> in the Number_types package.
Version 6.7 (19 February 2001)
- Use the function object Less_xyz_3 instead of Less_xyzC3<>.
Version 6.6 (14 February 2001)
- moved Kernel_traits_common.h file to Kernel_basic package
- added .min_coord(), .max_coord() in Iso_cuboid and Iso_rectangle and
new constructor in both classes
Version 6.5 (13 February 2001)
- Kernel_traits_common.h shorted with the use of a macro
- Several missing function object classes added
- New class Cartesian_converter.
- .area() .squared_area() and .volume().
- Remove old style casts.
Version 6.4 (25 January 2001)
- Use the new file iterator_traits_pointer_specs_for_simple_cartesian_kernel.h
Version 6.3 (22 January 2001)
- Stefan's original Simple_cartesian replaced by this one.
Version 6.2 (18 January 2001)
- Borland fix for SegmentC2.
- Removed #include<CGAL/predicate_classes_3.h> in Tetrahedron_3.h that broke
the inclusion order rules...
Version 6.1 (16 January 2001)
- Borland fixes.
- MipsPro fixes : forward the handle typedefs in derived class *Cartesian<>.
- VC++ fixes : rename the handle types inside object classes. [dima]
Version 6.0 (12 January 2001)
- Merged C2, C3 and Cartesian_basic in Cartesian_kernel.
- Merged all .C files into their corresponding .h.
- Changed constructions_on_*.h to *_constructions_[23].h, gathering
constructions which _return_ type is the same.
- Moved distance_computations_[23].h to the more general
ft_constructions_[23].h.
- Replaced `x == FT(0)' by `CGAL_NTS is_zero(x)'.
- Use identical() instead of comparing "ptr".
- Call identical() in all operator==() in order to be consistent.
- Sphere_3 is back to life.
- Ctors don't use "new (static_cast<void *> (ptr)) ...", but proper
construction via the Handle_for. Got rid of the various new_rep().
- There's now a Line_repC3<R>, instead of the dirty Twotuple<Point>.
We now do the same reasonnable thing as in the homogeneous kernel.
- Got rid of empty useless destructors.
- Changed ptr-> access to Ptr()-> .
- Removed Cartesian_2 and Cartesian_3.
- Removed scripts create_symlinks_[23] and remove_symlinks_[23].
- Removed files in include/CGAL/Kernel :
Construction_objects.h Construction_objects_2.h Construction_objects_3.h
Predicate_objects.h Predicate_objects_2.h Predicate_objects_3.h
- Handle (and representation via element_type) specification come now from
Cartesian<>, so that we can customize them easily.
- Alternative cartesian kernel without ref-counting : Simple_Cartesian_v2.
- A few fixes for the advanced kernel.
- Removed the copy ctors, as they are provided by the handles.
- Added "if (is)" tests in all operator>>() (as per Pierre's request).
- Various cleanups.
- Added missing function object : Coplanar_orientation_3
- New predicates :
- coplanar_orientation(p, q, r, v) (3d)
- side_of_bounded_circle(p, q, t) (2d)
- coplanar_side_of_oriented_circle(p, q, r, t, v) (3d)
--- CGAL 2.2 is out ---
---------------------------------------- Old changes for Cartesian_basic ----
Version 4.2 (24 August 00)
- Removed long_description.txt. [syl]
Version 4.1 (11 August 00)
- Changed Compute_y_at_x to Compute_y_at_x_2 in Cartesian.h Cartesian_2.h [my]
Version 4.0 (1 August 00)
- Added construction circumcenter_3(3 points). [syl]
Version 3.9 (29 Juin 00)
- Re-added headers, got rid of check_headers.pl [syl].
Version 3.8 (15 Juin 00)
- Fixed typo in Cartesian.h : Transform_2 -> Transform_3 [syl].
Version 3.7 (19 May 00)
fixed construct_iso_rectangle_2_object()
Version 3.6 (16 May 2000)
added missing construct_iso_rectangle_2_object()
Version 3.5 (20 April 2000)
- removed leading underscores in variables names
- added newly tested functionalities :
Object_2
Assign_2
Construct_perpendicular_direction_2
Construct_bisector_2
Compare_xy_2
Equal_xy_2
Less_x_2
Less_y_2
Counterclockwise_in_between_2
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 3.4 (22 March 2000)
- fixed iso_cuboid_3 bugs
- added maintainer files
- changed Makefile of the package
Version 3.3.11 (6 mars 2000)
-commented lines related to Iso_cuboid_3 in Cartesian_3.h
and Cartesian.h. TO BE FIXED LATER [my]
Version 3.3.10 (6 mars 2000)
-added forgotten include for Iso_cuboid_3.h and .C in Cartesian_3.h [my]
Version 3.3.9 (28 February 2000)
- fixed Iso_cuboid_3 stuff [my]
Version 3.3.8 (22 February 2000)
- add _object to the less_rotate_ccw_2 function in Cartesian.h [my]
- add a Less_yx_2 type
Version 3.3.7 (November 22 1999)
- Added missing headers [syl].
- Remove protect macros [syl].
- Cleaned up some useless include <Kernel/...> [Herv<72>]
- Shorter headers in CVS repository, but complete for release
thanks to script for submission
Version 3.3.6 (October 7 1999)
- Removed CVS conflict in Cartesian (was submitted in 3.3.5)
Version 3.3.5 (October 7 1999)
- Added include iterator_traits_pointer_specs_for_cartesian_kernel.h
in Cartesian.h
Version 3.3.4 (September 17 1999)
- Corrected template paramter of PointCd
Version 3.3.3 (September 17 1999)
- Added Point_d_base in Cartesian
Version 3.3.2 (September 16 1999)
- Added missing typename in Cartesian_dynamic_d
- Added missing typedefs for RT and FT in Cartesian_dynamic_d
- Added predicate and construction objects in Cartesian_3 (synchronized
with Homogeneous)
Version 3.3.1 (September 9 1999)
- Removed <CGAL/Kernel/function_objects.h> which bazooked H2 and H3
Version 3.3 (September 3 1999)
- Added Point_d to Cartesian
Version 3.2.4 (September 2 1999)
- Removed references to <CGAL/Kernel/function_objects_?.h>
and copy pasted directly into Cartesian_? classes,
because M$VC++ doesn't accept this (legal?) design
- This means <CGAL/Kernel/...> are now not used, but they are kept
for the future if M$VC++ starts accepting them.
- Added definitions of Cartesian_3::*_2, even though I do not include the
corresponding <CGAL/Cartesian/*_2.?> (except for Point_2)
This only works if the compiler does lazy instantiation
Version 3.2.3 (September 2 1999)
- Release for M$VC++ which doesn't understand Base::
I renamed it to Kernel_base in all the Cartesian* classes
Version 3.2.2 (September 2 1999)
- fixed include files that still included <CGAL/...C2.h>
[worked with symlinks, but not in releases newer than 2.1-I-13]
Version 3.2.1 (Sept 1 1999)
- Release again for I-15 made in Dagstuhl
Version 3.2 (Sept 1 1999)
- Includes new predicates and construction files in C2 and C3
Version 3.1 (August 31 1999)
- Changes decided in Dagstuhl: addition of Function_objects in the kernel
- Creation of <CGAL/Kernel/{Construction,Predicate}_objects_{2,3}.h>
these files will be integrated by Stefan into his packages _2 and _3
- Addition of Point_2 in Cartesian_3 (for functionality in Plane_3)
Ver 3.0 (13 July 1999)
****EXTENSIVE CHANGES -- enough to warrant a new 3.0 release*****
- REWROTE FROM SCRATCH (Herv<72>)
- new <CGAL/Cartesian/...> subdirectory
predicates_on_ftC2.h put into <CGAL/predicates/kernel_ftC2.h>
basic_construction_ftC2.h put into <CGAL/constructions/kernel_ftC2.h>
- new scheme by Michael Hoffmann, which assumes partial specialization
- temporary scheme by Stefan Schirra, which does not assume it
- new config flag: CGAL_CFG_NO_ADVANCED_KERNEL to check for Michael's design
availability vs Stefan's
- Michael' scheme by default, use -DCGAL_CFG_NO_ADVANCED_KERNEL for Stefan's design
(requires $CGAL/test/NewKernel, which can be found in CGAL-2.1-I-x , x>=12)
until the flag is added in the release
- Different files for Cartesian_2.h and Cartesian_3.h
and different kernel traits Cartesian_2 and Cartesian_3
Ver 2.1 (24 May 1999)
- Resubmitted for CGAL 2.0
- Minor additions to the package, no changes in the code.
Ver 2.0 (29 Feb 1999)
- Changed to namespace CGAL
Ver 1.4 (30 Jun 1998)
- CGAL_rft_wrapper<ft> (lines 111/112 of cartesian_rep): FT instead of ft
(Thanks to Michael Hoffmann)
Ver 1.3 (22 Jun 1998)
- Added Point_d and Conic_2 types in CGAL_Cartesian
Ver 1.2 ( 16 June 1998)
- Inverted FT and Data_accessor declaration in cartesian_rep
NO VERSION 1.1
- Was an old symbolic version, I didn't want to reuse the same
number.
Ver 1.0 (16 June 1998)
- From Andreas Fabri and Stefan Schirra's original implementation.
- Separated from package C2 (because there was no reason that it
belongs more to C2 than to C3, and then confusion ensues).
- Changes by Stefan Schirra:
* Compile-time-tags for representation classes added in new
file representation_tags.h (included in ..._rep.h files)
* classes CGAL_PointCd<FT> and CGAL_PointHd<FT,RT> declared
in homogeneous_classes.h and cartesian_classes.h .
Corresponding typedefs added to the rep classes.
------------------------------------------------------ Old changes for C2 ----
Version 4.4 (8 September 2000)
- Use Vector::squared_length(). [syl]
- Fixed line_project_pointC2(). [syl, from Stefan]
Version 4.3 (24 August 2000)
- Change to line_from_pointsC2() for better numeric stability. [syl]
- Moved side_of_oriented_line and side_of_oriented_lineC2 from the
constructions to the predicates. [syl]
- Use square() in bisector_of_pointsC2. [syl]
- Made LineC2.perpendicular(P) an FT-based construction :
perpendicular_through_point(L,P). [syl]
- Finished the FT-based implementation of Line.projection(). [syl]
- Use x_equal() and y_equal() instead of comparing .x() and .y() for Segment
and Ray is_horizontal/is_vertical. [syl]
- Made leftturn(Origin,,) and righturn(Origin,,) a little bit faster. [syl]
- Various other small 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_2.squared_length(). [syl]
Version 4.2 (27 July 2000)
- Suppress id() in Cartesian Ray_2.h [my]
- Fixed an assertion message. [syl]
- Minor cleanups. [syl]
Version 4.1 (29 June 2000)
- Header fixes [syl]. Got rid of Herve's check_header script.
- Fixed a few buggy protect macro names [syl].
Version 4.0 (22 June 2000)
- Fixed namespace issues for number type utilities [syl].
Version 3.9 (6 Juin 2000)
fixed a bug in bisector_of_pointsC2 in the file
include/CGAL/constructions/kernel_ftC2.h
Version 3.8 (2 Mai 2000)
- make the following classes derive from Handle_for instead of Handle
CircleC2
DirectionC2
Iso_rectangleC2
LineC2.
PointC2
RayC2.
SegmentC2
TriangleC2
VectorC2
Remain to be done Aff_transformationC2
Version 3.7 (21 April 2000)
- fixed a bug related to previous
removing of leading underscores in variables names
Version 3.6 (20 April 2000)
- fixed a bug in compare_xC2
- removed leading underscores in variables names
- added newly tested functionalities :
Object_2
Assign_2
Construct_perpendicular_direction_2
Construct_bisector_2
Compare_xy_2
Equal_xy_2
Less_x_2
Less_y_2
Counterclockwise_in_between_2
Version 3.5 (6 april 2000)
- changed the code of constructor
Iso_rectangleC2(const Point_2 &p, const Point_2 &q)
Version 3.4 (23 march 2000)
- changes makefile to submit [my]
Version 3.3.14
- problem with the headers. resubmit
Version 3.3.13
- fixed the code of counterclockwise_in_between in Direction_2.C
upon request of Stafan Schirra [my]
- fixed lines over 80 characters. Some remain in Cartesian/Line_2.C
Version 3.3.12 (8 february 2000)
- fixed a multiplication by a scalar on the wrong side in Ray_2.C
Version 3.3.11 (December 10 1999)
- Proper implementation of compare_x(Line_2,Line_2,Line_2), to have
correct degree (was using compare_x(l,h1,l,h2) before, now special
implementation in predicates/kernel_ftC2.h).
- Cleaned up Segment_2.C to use *are_ordered_along_line predicates
- Prefix CGAL:: for sqrt in Circle_2.C
Version 3.3.10 (November 22 1999)
- skip release, tagged the wrong version (before committed).
Version 3.3.9 (November 22 1999)
- Mega cleanup [Syl & Herv<72>].
- Shorter headers in CVS repository, but complete in release
thanks to script for submission [Herv<72>]
- Ray_2.C removed typename in has_on for Borland C++
Version 3.3.8 (October 28 1999)
- Don't filter compare_lexicographically_xyC2() [Sylvain].
- Changed //CGAL_NO_FILTER_BEGIN&END to per predicate /*CGAL_NO_FILTER*/ [Syl].
- Corrected protect macro clash in predicates_on_directions
- removed some protect macros for file normally not included twice
Version 3.3.7 (October 7 1999)
- Various predicates and constructions cleanups and speedups [Sylvain].
- Changed vector to to_vector in Direction
Version 3.3.6 (September 30 1999)
- Forgot std:: qualifier for endl in Circle_2.C
- removed all virtuals in the derived transformation classes
Version 3.3.5 (September 20 1999)
- Fixed class Identity (clash with Kernel_objects)
- Fixed type mistake in second argument of line_get_point (Line_2.C)
Version 3.3.4 (September 16 1999)
- Use the new CGAL_CFG_TYPENAME_BUG
- Fixed some missing std:: for cerr
Version 3.3.3 (September 9 1999)
- renamed the scripts to spare the work for Geert-Jan
- to satisfy nice arithmetic: I skip 3.3.2 (because 3.3.3 on 9/9/99 is too nice)
Version 3.3.1 (September 3 1999)
- Added headers to .C files
Version 3.3 (September 3 1999)
- The typename added in 3.2.3 crashes VC++, hence the #define typename for VC++
- Minor bug for line_2.point(int i) (int not converted to FT) works with
builtin types but not Gmpz for instance...
Version 3.2.7 (September 2 1999)
- removed #warning which is not standard-compliant and crashes on M$VC++
Version 3.2.6 (September 2 1999)
- Changed all the typename R::FT into typename ClassC2<>::FT
for M$VC++
Version 3.2.5 (September 2 1999)
- corrected a few buggy FT in Aff_transformation_2<R>::member(FT)
should have been typenamed R::FT
Version 3.2.4 (September 2 1999)
- corrected buggy typename R::LineC2<R..>::Point_2 in Line_2.C
(should have been typename LineC2<R..>::Point_2)
Version 3.2.3 (September 2 1999)
- added needed typename in all <CGAL/Cartesian/*.C>
indeed, Class_2<R>::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 <CGAL/...C2.h>
[worked with symlinks, but not in releases newer than 2.1-I-13]
Version 3.2.1 (September 1 1999)
- f*ck CVS!
Version 3.2 (September 1 1999)
- moved some constructions and predicates from classes to kernel_ftC2.h
TODO: finish it so that C2 is robust with filtered
constructions and predicates
- fixed includes in Cartesian/*_2.h and Cartesian/*_2.C
TODO: extensive fix of includes, so that it works
even if you only include one single file (e.g. Point_2.h)
Version 3.1 (August 31, 1999)
- Added Identity into Aff_transformation
Version 3.0 (August 26 1999)
****EXTENSIVE CHANGES -- enough to warrant a new 3.0 release*****
- new <CGAL/Cartesian/...> subdirectory
predicates_on_ftC2.h put into <CGAL/predicates/kernel_ftC2.h>
basic_construction_ftC2.h put into <CGAL/constructions/kernel_ftC2.h>
- 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-2.1-I-x , x>=12)
- each file Class_2.h is not separated into Class_2.h (interface declaration)
and Class_2.C (method definitions) for easier inclusion of all *.h before *.C
- each file Class_2.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 *C2.h and *_2.h
(now we want to include <CGAL/Cartesian/*_2.h> instead of *C2.h)
****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)
- CGAL::sign corrected everywhere
Version 2.1.7 (June 22 1999)
- Optimized compare_xC2() and side_of_oriented_circleC2(). (syl)
- New intermediate function circumcenter_translateC2() used by
circumcenterC2() and squared_circumradiusC2(). (syl)
- Renamed the targets of the main Makefile.
Version 2.1.6 (June 22 1999)
- Added missing std:: (sylvain)
Version 2.1.5 (June 11 1999)
- read statement in CircleC2 was wrong (fixed)
Ver 2.1.4 (May 24 1999)
- Added CGAL::sign in DirectionC2
- Minor fixes in inline policy
- Added CGAL:: prefix to to_double() in all files
Ver 2.1.3 (Apr 27 1999)
- Forgot to make the code from the funnelweb!
Ver 2.1.2 (Apr 27 1999)
- added CGAL::compare (Sylvain Pion)
- one typo in predicates la1 instead of l1a (Sylvain Pion)
Ver 2.1.1 (Mar 30 1999)
- Moved #includes out of namespace CGAL
Ver 2.1 (Mar 12 1999)
- Optimized a lot of the expressions in Aff_transformationC2, TriangleC2, etc.
- Added #include <CGAL/Twotuple.h> in some files [Thanks Geert-Jan]
Ver 2.0 (Feb 29 1999)
- Use CGAL_square() where possible.
- Optimized a little bit more CGAL_circumcenterC2(), CGAL_mid_point() and
CGAL_side_of_oriented_circleC2().
- Changed to namespace CGAL
Ver 1.7 (4 Jan 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 2D predicates' arithmetic expressions
Ver 1.6 (3 Dec 1998)
- Removed CGAL_square_distance from CircleC2.h
- Relooked the predicates and constructions
Ver 1.5 (30 Nov 1998)
- Added CGAL_compare_deltax_deltay into predicates_on_ftC2.h
- removed warnings for CGAL_Sign( a*b ) (was automatic conversion from
enum to int)
Ver 1.4 (12 Nov 1998)
- Better separation between C2 and FT, for predicates and constructions
also.
- Addition of filtered predicates (Include statement, actual predicates in
another package).
- Local optimizations of predicates (Sylvain Pion)
Ver 1.3 (16 June 1998)
- Made changes suggested by Stefan Schirra:
* classes CGAL_PointCd<FT> and CGAL_PointHd<FT,RT> declared in
homogeneous_classes.h and cartesian_classes.h .
Corresponding typedefs added to the rep classes.
* Compile-time-tags for representation classes added in new
file representation_tags.h (included in ..._rep.h files)
* Rep_tags added to CGAL_Homogeneous and CGAL_Cartesian
- Cartesian part separated into a package Cartesian_basic
(for ease of maintenance)
- Major face lift to predicates file, with separation between
predicate_on_ftC2 and other predicate files, that simply call
the predicate on ft.
Ver 1.2
- corrected bug in output of Iso_rectangleC2
- CGAL_NULL_TMPL_ARGS added in friend operator declarations
Ver 1.1
- New access functions have been added to Aff_transformation. (Thanks to
Stefan.)
- New inline policy is now used: There are several levels of
inlining to be defined in kernel_basic.h.
Ver 1.0
- From the kernel design group
---------------------------------------------------- Old changes for C3 ----
Version 5.3 (?? ?????? 2000)
- Use Vector::squared_length(). [syl]
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 <CGAL/Cartesian/predicates_on_points_3.h>
instead of
#include <CGAL/predicates_on_points_3.h>
-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<R>::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<R>::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 <CGAL/predicate_classes_3.h> 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 <CGAL/Cartesian/*.C>
indeed, Class_3<R>::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 <CGAL/...C2.h>
[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 <CGAL/Cartesian/...> subdirectory
predicates_on_ftC3.h put into <CGAL/predicates/kernel_ftC3.h>
basic_construction_ftC3.h put into <CGAL/constructions/kernel_ftC3.h>
- 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 <CGAL/Cartesian/*_3.h> 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 <CGAL/Threetuple.h> in RayC3.h
- Include <CGAL/Twotuple.h> 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