cgal/Old_Packages/Kernel_basic/changes.txt

697 lines
20 KiB
Plaintext

3.98 (? November 2002)
- Remove unused include/CGAL/Kernel/traits_aids.h
3.97 (5 November 2002)
- qualify left_turn with CGAL:: to remove ambiguity when LEDA < 4.4 used
- remove obsolete config flag in rational_rotation related to std::swap
3.96 (25 October 2002)
- Rewrite iterator traits pointer specs.
3.95 (9 October 2002)
- Remove Kernel_traits_common.h.
3.94 (9 October 2002)
- Missing #include <CGAL/Origin.h>
3.93 (5 October 2002)
- Functors rewrite.
- New Is_a_predicate<> to differentiate predicate functors from constructions.
3.92 (12 August 2002)
- Test if CGAL_ALLOCATOR is already defined before defining it.
- Introduce CGAL_MEMORY, similar to LEDA_MEMORY.
- Fixes for New_delete_allocator.
- Handle_for memory leak fixed : initialize_with() now assigns instead of
constructing, so that it works correctly after Handle_for has been default
constructed. There's a new way of constructing a Handle_for :
Handle_for(TO_BE_USED_ONLY_WITH_CONSTRUCT_WITH) followed by
construct_with(), which is supposed to produce more efficient code.
Simple_handle_for also accepts it.
3.91 (16 July 2002)
- Add #include <CGAL/basic.h> on top of Object.h and Handle_for_virtual.h.
-------------------------- CGAL 2.4 released ---------------------------
3.90 (22 April 2002)
- Add default ctor to Cartesian_double_to_Homogeneous to shut up warning of
SunPro in RobustnessDemo.
3.89 (15 April 2002)
- some changes for LEDA namespace and VC7
3.88 (27 March 2002)
- Added Arity_traits for VC7.
3.87 (25 March 2002)
- removed more iterator traits pointer spec macro calls for Point_d
3.86 (22 March 2002)
- removed the iterator traits pointer spec macro calls for Point_d
3.85 (20 March 2002)
- added CGAL_LEDA_SCOPEs where needed for in kernel_to_kernel.h
3.84 (20 March 2002)
- removed Point_d; better number type stuff
3.83 (19 March 2002)
- moved LEDA_basic.h and LEDA/allocator.h files to LEDA package
3.82 (18 March 2002)
- added LEDA basic file to accommodate LEDA namespace to be introduced
with LEDA 4.4
3.81 (6 February 2002)
- Fix the impossibility to derive from Object.
3.80 (25 January 2002)
- Oops... Missed a "cvs update" before submitting...
3.79 (24 January 2002)
- Gather function objects in Kernel/function_objects.h.
3.78 (18 January 2002)
- Fix previous patch.
3.77 (18 January 2002)
- Constify Origin and Null_vector.
3.76 (16 January 2002)
- Support namespace LEDA.
3.75 (8 January 2002)
- Adding CGAL_CLIB_STD:: for abort() and exit() in src/assertions.C.
- Adding missing opposite(Comparison_result).
3.74 (5 January 2002)
- Move classes _Twotuple, _Threetuple, _Fourtuple to Cartesian/Rep_tuples.h
in package Cd.
3.73 (4 January 2002)
- Fix Handle_for<> default ctor : it forgot to construct the object.
3.72 (14 December 2001)
- VC++ 7 support by Radu.
3.71 (5 December 2001)
- Just resubmit.
3.70 (5 December 2001)
- added CompareSlopes_2 function object
3.69 (5 December 2001)
- Add functional_base.h from STL extensions.
3.68 (2 December 2001)
- Remove useless copy ctor in Object to please VC++.
- Merges Object_base into Ref_counted_virtual.
3.67 (26 November 2001)
- Missing namespace CGAL in tags.h.
3.66 (23 November 2001)
- [Simple_]Handle_for new ptr access : const/non-const Ptr/ptr.
3.65 (21 November 2001)
- Darwin support.
- Fix Conic_2
3.64 (19 November 2001)
- Move assign() to a template member function of Object.
3.63 (31 October 2001)
- Missing include of cstddef in New_delete_allocator.h
3.62 (29 October 2001)
- Missing std:: for CodeWarrior.
3.61 (29 October 2001)
- Submission bug.
3.60 (24 October 2001)
- New Handle_for_virtual<> and Ref_counted_virtual.
- Ref_counted is not required anymore.
- Remove all Simple_* rep classes as deriving from Ref_counted is not
necessary anymore.
- basic.h cleanup.
3.59 (23 October 2001)
- Delete No_op_allocator.h.
- removed KERNEL_CTOR* macros and KERNEL_FRIEND_INLINE macros
- Cleanup Object.h.
3.58 (5 October 2001)
- [Simple_]Handle_for<> protection cleanup, non-const Ptr() added.
- Remove cartesian_classes.h.
- Add New_delete_allocator.h.
- Handle_for<> should work for virtual hierarchies now.
3.57 (12 September 2001)
- Fixes for SunPro.
3.56 (15 August 2001)
- Oops : #ifdef instead of #ifndef.
3.55 (15 August 2001)
- SunPro has problems with protected/friend.
3.54 (15 August 2001)
- Add SunPro support in memory.h.
======================== CGAL 2.3 ========================
3.53 (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).
3.52 (18 July 2001)
- changed Less_distance_to_point_[23] to use default construction
- changed Less_rotate_ccw_2 to use default construction
- removed redundant Left_of_line_2
3.51 (12 July 2001)
- Add Kernel_traits<>.
3.50 (12 July 2001)
- Added Arity to Call_perpendicular_to_get.
3.49 (10 July 2001)
- further traits update
- New predicate : coplanar_orientation(3 points).
3.48 (26 June 2001)
- Deprecate Equal_xy_2 and Equal_xyz_3.
3.47 (21 June 2001)
- Cleanup kernel_to_kernel.h
- Use new macros for the traits interface so that it can be reused elsewhere.
3.46 (21 June 2001)
- Traits update.
3.45 (20 June 2001)
- Cleanup misc.h and don't include it from basic.h.
- Added Construct_orthogonal_vector_[23]
- Added Construct_opposite_vector_[23]
3.44 (19 June 2001)
- Change to support cgal_window instead of LEDA (CGAL_USE_CGAL_WINDOW).
3.43 (19 June 2001)
- added Construct_centroid_[23]
3.42 (19 June 2001)
- added Bounded_side_2 and Bounded_side_3 to traits
3.41 (18 June 2001)
- #include all _2 and _3 classes in user_classes.h.
3.40 (7 June 2001)
- Move homogeneous-only files to H2.
3.39 (30 May 2001)
- Remove Compare_distance_to_point_[23].
3.38 (29 May 2001)
- Add Compare_distance_[23].
3.37 (1 May 2001)
- angle().
- compare_x_at_y()
- Less_signed_distance_to_plane_3
3.36 (27 Apr 2001)
- Rename construct_tetrahedron_object to construct_tetrahedron_3_object.
3.35 (26 Apr 2001)
- Change coplanar_side_of_oriented_circle
to coplanar_side_of_bounded_circle.
3.34 (13 Apr 2001)
- Remove Coplanar_orientation(3 points, 1 vector).
3.33 (13 Apr 2001)
- Coplanar_side_of_oriented_circle.
3.32 (6 Apr 2001)
- Port to alpha.
3.31 (23 Mar 2001)
- Add Construct_center_[23].
3.30 (20 Mar 2001)
- squared_radius() and Compute_squared_radius_2 and _3.
3.29 (16 Mar 2001)
- Side_of_bounded_circle_2 and Side_of_bounded_sphere_3.
3.28 (6 Mar 2001)
- Added Compute_squared_distance_2 and 3.
- Remove references to point_vector_declarationsH2.h.
3.27 (28 Feb 2001)
- Added iterator_traits_pointer_specs_for_simple_homogeneous_kernel.h
3.26 (25 Feb 2001)
- iterator_traits_pointer_specs_for_simple_cartesian_kernel.h fixes.
- Allow changing inline policy without having to modify CGAL files...
3.25 (21 Feb 2001)
- Added Construct_cross_product_vector_3, with corresponding template class
v_Cross_product<>.
- iterator_traits_pointer_specs_for_simple_cartesian_kernel.h fixes
(PointCd is the same as in Cartesian).
3.24 (20 Feb 2001)
- Fix result_type of p_Orientation<>.
3.23 (19 Feb 2001)
- Removed useless operator() in Coplanar_orientation, which caused a problem
with VC++.
- Make SunPro happier.
3.22 (14 Feb 2001)
- moved Kernel_traits_common.h from Cartesian_kernel package
- moved predicate_objects_on_points.h from Convex_hull_2(?!) package.
3.21 (13 Feb 2001)
- Added several missing function object classes
- modified homogeneous_rep.h to include Kernel_common_traits.h to reduce
code base
- added function object classes Compute_area_2, Compute_squared_area_3,
Compute_volume_3
- Towards Simple_homogeneous.
- Move Data_accessorH2<> in its own file in the H2 package.
3.20 (25 Jan 2001)
- Added iterator_traits_pointer_specs_for_simple_cartesian_kernel.h
3.19 (18 Jan 2001)
- Remove warnings in No_op_allocator.
- long_long.h now defines CGAL_HAS_INTEGER64.
3.18 (12 Jan 2001)
- Simple_Handle_for.h added
- Simple_Twotuple, Simple_Threetuple, Simple_Fourtuple, Simple_Sixtuple added
3.17 (10 Dec 2000)
- Homogeneous<>::Coplanar_orientation_3 added
- Homogeneous<>::Compare_distance_to_point_2 added
- Homogeneous<>::Compare_distance_to_point_3 added
- function_objects.h: Coplanar_orientation added
- function_objects.h: Compare_distance_to_point<T> added
3.16 (12 Nov 2000)
- in Handle_for<RefCounted>: typedef RefCounted element_type; added
3.15 (15 Oct 2000)
- const typename Allocator::pointer Ptr() const { return ptr; }
added in Handle_for.h as requested by Sylvain
%%%%%%%%%%%%%%%%%%%%%% R e l e a s e 2 . 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
3.14 (15 Sep 2000)
- CGAL::min/max with
CGAL_CFG_USING_USING_BUG) || defined(CGAL_CFG_BROKEN_USING)
now returns NT instead of const NT&
3.13 (10 Aug 2000)
- Homogeneous<>::Compute_y_at_x_2 fixed (_2 added)
3.12 (07 Aug 2000)
- to_double(leda_integer) qualified by :: in kernel_to_kernel.h
3.11 (02 Aug 2000)
- Handle_for<>::id is const now
3.10 (02 Aug 2000)
- include <CGAL/leda_integer.h> added to kernel_to_kernel.h
3.9 (26 Jul 2000)
- added Handle_for<>::identical(const Handle_for& h) to check
for sharing RefCounted
- added Handle_for<>::id(); returns long int
3.8 (14 Jul 2000)
- result_type added to function objects in Kernel/function_objects.h
not for Call_transform (return type depends on template parameter)
- <kernel_to_kernel.h> added (with preliminary limited functionality)
3.7 (27 Jun 2000)
- CGAL_NTS sign used insteda of CGAL::sign in sign_of_determinant.h
- Construct_circumcenter_3 added to homogeneous kernel traits
- CGALi::p_Circumcenter extended to handle 3d case as well
3.6.1 (08 Jun 2000)
- flag test for using std::max and std::min refined
- CGAL_NTS defined in basic.h
3.6 (05 Jun 2000)
- Handle_for<..., Allocator>::ptr has now type Allocator::pointer
- Handle_for<RefCounted>::Handle_for(const RefCounted&)
constructor added to Handle_for.
Handle_for<RefCounted>::initialize_with(const RefCounted&) added.
- CGAL_CFG_BROKEN_USING used now to check for broken using
with using std::max and std::min in <basic.h>
3.5.1 (31 May 2000)
- __MSC_VER (temporarily) used instead of CGAL_CFG_USING...BUG
with using std::max and std::min added to <basic.h>
3.5 (30 May 2000)
- Reflection added as transformation tag
- <No_op_allocator.h> added
- Compare_x_at_y_2 added to homogeneous traits
- count in Handle_for is now of type 'unsigned int'
- using std::max and std::min added to <basic.h>
3.4.2 (19 Apr 2000)
- Tuples modified
- _Assert_tag_class -> Assert_tag_class
3.4.1 (13 Apr 2000)
- homogeneous traits makeFT_ is now make_FT again
bug was caused by s/_FT/FT_/ ;)
3.4 (07 Apr 2000)
- <cmath> included before <iostream> for
#if ((__GNUC__ == 2) && (__GNUC_MINOR__ == 95))
- Old_style_tag added to representation_tags.h
3.3.1 (31 Mar 2000)
- added Counterclockwise_in_between_2 to homogeneous traits
- added CGALi::Counterclockwise_in_between
3.3 (29 Mar 2000)
- nested types Object_2, Object_3, Assign_2, and Assign_3 added
to homogeneous traits
- CGALi::Assign added
- compare_lexicographically_xy used instead of compare_xy in
CGALi::Compare_xy
3.2 (28 Feb 2000)
- since friendship is not inherited, making Handle_for a friend of
Ref_counted does not suffice to access count member in the derived
class. The referenece counted object now must provide functions
add_reference()
remove_reference()
bool is_referenced()
bool is_shared()
The Handle_for does not know anymore, where and how the counting takes
places. However, it assumes that count is initialized to 1 in default
and copy constructor.
- <include/LEDA/allocator.h> added to package
3.1.1 (22 Feb 2000)
- added <CGAL/Kernel/traits_aids.h>
o defines Rightturn_by_Leftturn<Leftturn> adapter
3.1 (16 Feb 2000)
- new Tuples derived from Ref_counted added to the <...tuple.h> files
3.0 (14 Feb 2000)
- CGAL/Handle_for.h added; provides classes Handle_for<Type,Allocator>
and Ref_counted; see Developers' manual
- CGAL/memory.h added; defines the default allocator used by Handle_for<>
- CGAL::Object revised and simplified as suggested by Michael Seel
One level of indirection has been removed.
The code now assumes that dynamic_cast<> is supported.
%%%%%%%%%%%%%%%%%%%%%% R e l e a s e 2 . 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
2.8.4 -> 2.9 (04 Dec 99)
- long long removed from <known_bit_size_integers.h>
definitions are now in new <long_long.h>
2.8.3 -> 2.8.4 (15 Nov 99)
- test for NULL added again and precondition check removed
Leda_like_handle in Handle.h
2.8.2 -> 2.8.3 (29 Oct 99)
- test for NULL removed and precondition check added in class
Leda_like_handle in Handle.h
- further missing file added
2.8.1 -> 2.8.2 (28 Oct 99)
- further missing files added
2.8 -> 2.8.1 (28 Oct 99)
- missing file added (Object.h)
2.7.2 -> 2.8 (28 Oct 99)
- Handle.h revised. CGAL defines handle-rep scheme analogously
to the LEDA types even if LEDA Handles are used. Names of the
classes are Leda_like_handle and Leda_like_rep.
NULL used.
2.7.1 -> 2.7.2 (11 Oct 99)
- ENDIAN definition moved to front in CGAL/basic.h
2.7 -> 2.7.1 (06 Oct 99)
- definitions for long added to iterator_traits_pointer_specs
- macro for old style PointCd added (new style in comment)
2.6.2 -> 2.7 (05 Oct 99)
- iterator_traits_pointer_specs_for_cartesian_kernel.h
iterator_traits_pointer_specs_for_cartesian_quotient.h
iterator_traits_pointer_specs_for_homogeneous_kernel.h added
- include iterator_traits_pointer_specs_for_homogeneous_kernel.h
added at the end of Homogeneous.h
2.6.1 -> 2.6.2 (14 Sep 99)
- Object was missing in package
2.6 -> 2.6.1 (11 Sep 99)
- #include <CGAL/representation_tags.h> added to
<CGAL/homogeneous_rep.h>
2.5.2 -> 2.6 (10 Sep 99)
- s/Base/Object_base/g
s/_Object/Object_rep/g
in <Object.h>
2.5.1 -> 2.5.2 (07 Sep 99)
- added Homogenous_tag to class Homogeneous
2.5 -> 2.5.1 (05 Sep 99)
- renamed class Identity to Identity_transformation
2.4.3 -> 2.5 (02 Sep 99)
- homogeneous_rep.h not generated from old source but NewKernel
2.4.2 -> 2.4.3 (02 Sep 99)
- added id() if CGAL_USE_LEDA
- added Accessor to Homogeneous
- added Point_d to Homogeneous
2.4.1 -> 2.4.2 (01 Sep 99)
- intermediate test version with 'kernel as traits'
<CGAL/homogeneous_rep.h>
<CGAL/Kernel/function_objects.h>
2.4 -> 2.4.1 (31 Aug 99)
- added Identity to Aff_transformation_tags
2.3 -> 2.4 (19 Aug 99)
- Homogeneous revised to reflect
template <class R> CGAL::Point_2 : public R::Point_2_base
We have how in CGAL::Homogeneous, e.g.,
typedef Homogeneous<RT,FT> R;
typedef PointH2<FT,RT> Point_2_base;
typedef CGAL::Point_2< R > Point_2;
2.2 -> 2.3 (04 Aug 99)
- CGAL_FRIEND_INLINE and CGAL_KERNEL_FRIEND_INLINE defined
in <kernel_basic.h> - still needs update for mips
2.2 -> 2.2.1 (26 Jul 99)
- predicates/sign_of_determinant.h now includes determinant.h, if not
included yet
2.1 -> 2.2 (26 Jul 99)
- CGAL-2.0/include/CGAL/known_bit_size_integers.h extended
for Borland and M$ Visual C++ as suggested by Dima
- determinant.h split in determinant.h and predicates/sign_of_determinant.h
essentially as suggested by Sylvain
- Circle_2 added to user_classe.h (as requested by Herve)
- _Vector_?_rft_wrapper removed from user_classe.h
- homgeneous.h: parameterization of class Homogeneous changed (in the spirit
of the implementation classes *H2<FT,RT> )
#ifndef CGAL_CFG_NO_DEFAULT_TEMPLATE_ARGUMENTS
template <class rt, class ft = Quotient<rt> >
#else
template <class rt>
#endif
class Homogeneous
The flag is most likely redundant for the compilers supported by CGAL.
2.0.11-> 2.1 (26 Jun 99)
- CGAL-2.0/include/CGAL/known_bit_size_integers.h extended:
(defined(__powerpc__) || defined(__powerpc) || defined(powerpc))
%%%%%%%%%%%%%%%%%%%%%% R e l e a s e 2 . 0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
2.0.10-> 2.0.11 (06 May 99)
- compare qualified in determinant.h
2.0.9 -> 2.0.10 (28 Apr 99)
- flags in <assertions.h> perfixed by CGAL_ again
2.0.8 -> 2.0.9 (30 Mar 99)
- to_double() prefixed by CGAL::
2.0.7 -> 2.0.8 (30 Mar 99)
- inclusion order changed in <basic.h>: config first!
2.0.6 -> 2.0.7 (29 Mar 99)
- inclusion order changed in <basic.h>; <iostream> and <cstdlib> included
before <LEDA/basic.h> (if CGAL_USE_LEDA defined).
2.0.5 -> 2.0.6 (24 Mar 99)
- dirty hack for making g++-2.8.1 happy with function template for
identical()
2.0.4 -> 2.0.5 (20 Mar 99)
- <kernel_assertions.h> re-generated by new script
- flag CGAL_NO_NAMESPACE corrected in <rational_rotation.h>
- Orientation replaced by Sign in <functions_on_enums.h>
- call of sign() in <determinant.h> 'prefixed' by CGAL::
2.0.3 -> 2.0.4 (15 Mar 99)
- bug in Handle.h (use without LEDA) fixed (missing prefix in macro call)
- cerr and endl prefixed by std:: in <assertions.C>
2.0.2 -> 2.0.3 (15 Mar 99)
- static_cast<Sign>(compare(..)) replaced by
static_cast<Sign>(static_cast<int>(compare(..))) in <CGAL/determinant.h>
2.0.1 -> 2.0.2 (14 Mar 99)
- #include <CGAL/config.h> added to <assertions.[hC]>
- #include <CGAL/config.h> added to <Origin.C>
- <assertions.h> revised
- swap definition removed from <misc.h> (<algorithm> is now included)
- sign(compare(...)) replaced by static_cast<Sign>(compare(..)) in
<CGAL/determinant.h>
2.0 -> 2.0.1 (24 Feb 99)
- CGAL_[BEGIN|END]_NAMESPACE used
1.2.12-> 2.0
- namespace CGAL { } introduced
- CGAL_Bounded_side reversed
- EXIT_WITH_SUCCESS added
- convert_to modified as suggested by Sylvain to ease specialisation
- convert_from_to added to <misc.h>
- sign_of_determinant added to <determinant.h>
%%%%%%%%%%%%%%%%%%%%%% R e l e a s e 1 . 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
1.2.11-> 1.2.12
- #include <CGAL/config.h> added to functions_on_enum.h
1.2.10-> 1.2.11
- new improved determinant code by Sylvain's generator
- code for det6x6 added (not tested yet)
1.2.9 -> 1.2.10
- authors for determinant.h updated
1.2.8 -> 1.2.9
- det4x4_by_formula improved as suggested by Sylvain and Olivier
1.2.7 -> 1.2.8
- #define CGAL_KERNEL_INLINE inline added again
1.2.6 -> 1.2.7
- SunPro CC does not like
#define CGAL_KERNEL_INLINE inline
undone!
1.2.5 -> 1.2.6
- #ifndef CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION
now encapsulates definition of CGAL_convert_to()
1.2.4 -> 1.2.5
- generic CGAL_convert_to() added to <CGAL/misc.h>
- inline-policy changed in <kernel_basic.h>: #define CGAL_KERNEL_INLINE inline
1.2.3 -> 1.2.4
- added include-statements for usage without LEDA as proposed
by Sven on cgal-develop
1.2.2 -> 1.2.3
- definition of CGAL_opposite() in <functions_on_enums.h> changed
1.2.1 -> 1.2.2
- headers in <known_bit_size_integers.h>, <Threetuple.h>, and
<representation_tags.h> corrected
1.2 -> 1.2.1
- inclusion order of <CGAL/IO/io.h> and <CGAL/number_type_basic.h>
reversed in <CGAL/basic.h>
1.1.4 -> 1.2
- basic_lk.h mostly integrated into basic.h;
Known size integers are now in known_bit_size_integers.h
- 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 Cartesian_basic.tar.gz
(for ease of maintenance)
1.1.3 -> 1.1.4
- bug in Cartesian - homogeneous conversion for points fixed
1.1.2 -> 1.1.3
- workaround for dynamic cast bug added to Object.h
1.1.1 -> 1.1.2
- old assertions.h used
1.1 -> 1.1.1
- missing file and assertion stuff included
1.0 -> 1.1
- kernel_assertions.h included earlier
0.9 -> 1.0
- new version of Object.h
- new workaround names
- new inlining policy
- some stuff for optimization package
- Cartesian - homogeneous conversion for points