cgal/Kernel_23
Laurent Rineau 8eac6ca650 Improvement: add static filters to Lazy_kernel (which is the EPEC kernel).
For that:

- Split internal::Static_filters into two classes: one with only filtered
functors, for Epeck, and one that use the filtered functors, but also use
directory unfiltered functors of the Cartesian kernel (for predicates that
only compare doubles).

- Add a functor Get_approx in <CGAL/internal/Static_filters/tools.h>, that
is the identity for all types but lazy types (in that case its returns
"x.approx()").

- Use Get_approx in static-filters versions of predicates, so that they can
be used with Lazy_kernel too.

- Use Static_filters<K_base, false> as base class of Lazy_kernel.

- Rewrite <CGAL/Exact_predicate_exact_constructions_kernel.h>, to use
  static filters for Epeck, but also to simplify that file by the use
  Exact_type_selector<double>::Type as number type.

(The testsuite of Kernel_23 is OK on the platform
x86-64_Linux-2.6_g++-4.4.4_F13).
2010-12-17 13:53:26 +00:00
..
doc_tex Add known models to the Kernel concept. 2010-12-03 12:26:21 +00:00
examples/Kernel_23 renaming 2010-11-15 07:08:31 +00:00
include/CGAL Improvement: add static filters to Lazy_kernel (which is the EPEC kernel). 2010-12-17 13:53:26 +00:00
package_info/Kernel_23
src/CGAL add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE 2010-06-09 07:37:13 +00:00
test/Kernel_23 The kernel testsuite must test Tetrahedron_3<K>::orientation(). 2010-12-14 16:00:31 +00:00
README Rename CGALi to internal. 2009-08-24 17:10:04 +00:00
dont_submit

README

When adding a new function object to the kernel you must:

  -- possibly change include/CGAL/Kernel/function_objects.h
     to add a new function object "builder" in namespace internal::
  -- change include/CGAL/Kernel/interface_macros.h
     to add the actual function object class and its corresponding 
     member function that returns an object of this class 
  -- change test/Kernel/include/CGAL/_test_new_2.h and/or
     test/Kernel/include/CGAL/_test_new_3.h to add the test
     for this function object.
  -- in the directory doc_tex/kernel/Ref add a file called
     Kernel_<NewFunctionObject> that describes the requirements for
     this function object type (see the other similarly named files in this
     directory)
      -- This functor should have a SeeAlso entry for the global function(s)
         or class(es) that provide the same functionality in the imperative
         interface
  -- add <New_function_object> to the set of requirements for the Kernel
     concept in the file doc_tex/kernel/Ref/Kernel.tex.  
  -- in the file doc_tex/kernel/Ref/ref_manual.tex add the command
        \input{Ref/Kernel_<New function object>} 
     in the proper place 
  -- in the file doc_tex/kernel/kernel_toc add a ccRefConceptPage command
     for the page in the proper place.