Commit Graph

447 Commits

Author SHA1 Message Date
Stéphane Tayeb 8dceee4164 Add include<CGAL/assertions.h> in *_assertion files. 2009-10-07 13:16:13 +00:00
Stéphane Tayeb 770492c1c7 Use new version of script create_assertions.sh to generate *_assertions.h files.
Diffs are:
 * #undef added
 * in old files, (void)0 is replaced by static_cast<void>(0)
 * in old files, lines as "#  define CGAL_xxx_assertion 1" are added
 * in point_set_processing_assertions.h, surface_mesh_parameterization_assertions.h, surface_reconstruction_points_assertions.h, "|| defined(CGAL_NDEBUG)" is replaced by "|| defined (NDEBUG)"
 * protective macros (if any) are removed
 * included files if any (<CGAL/assertions.h>, <CGAL/trace.h>) are removed
2009-10-07 07:49:44 +00:00
Sylvain Pion a448798082 Remove more EPS files. 2009-09-18 13:25:40 +00:00
Laurent Rineau e896a33ec6 We must either:
- include <CGAL/config.h>
  - or not use CGAL_BEGIN_NAMESPACE.
I prefer the second option.
2009-08-27 14:54:01 +00:00
Laurent Rineau f097b7a000 Fix the testsuite of compare_dihedral_angle_3. 2009-08-27 08:33:48 +00:00
Laurent Rineau 770f8f85f2 Documentation of revision 51512:
In Compare_dihedral_angle_3, add the comparison between the dihedral
  angle defined by four points (or three vectors), and a FT. The FT
  represents the cosine of the angle.
2009-08-26 11:50:41 +00:00
Laurent Rineau 4a383b3197 In Compare_dihedral_angle_3, add the comparison between the dihedral angle
defined by four points (or three vectors), and a FT. The FT represents the
cosine of the angle.

The code passes the testsuite. Documentation coming...
2009-08-26 11:31:51 +00:00
Laurent Rineau a210c87658 Let's use v.squared_length() instead v*v. 2009-08-25 15:48:33 +00:00
Laurent Rineau 09c4682e0b Typo: s/cosinus/cosine/.
(Thanks to Sylvain for his review of my patch r51491.)
2009-08-25 15:26:08 +00:00
Laurent Rineau 146aa66bca Remove commented code. 2009-08-25 14:58:19 +00:00
Laurent Rineau 22798366ad Add a new predicate in the Kernel: Compare_dihedral_angle_3. 2009-08-25 14:48:41 +00:00
Sylvain Pion 8573fe26ce Rename CGALi to internal. 2009-08-24 17:10:04 +00:00
Andreas Fabri c742f2ae50 Add operator to Compare_squared_distance_3 2009-08-24 15:07:44 +00:00
Andreas Fabri 751d140702 Add operator to Compare_squared_distance_3 2009-08-24 15:03:08 +00:00
Laurent Rineau b9fcb4ff62 Revert that change:
-----------------------------------------------------------------
   | New Revision: 51399
   | Author: lrineau
   | Date: 2009-08-21 16:01:46 +0200 (Fri, 21 Aug 2009)
   |  
   | Log message:
   |  
   | Add a CGAL_kernel_assertion_code, in
   | Construct_circle_2::operator()(Point_3, Point_2, Point_2), to avoid some
   | unneeded calculus to be performed when NDEBUG is defined.
   -----------------------------------------------------------------
2009-08-24 09:52:55 +00:00
Laurent Rineau b0b7c5b629 Add a CGAL_kernel_assertion_code, in
Construct_circle_2::operator()(Point_3, Point_2, Point_2), to avoid some
unneeded calculus to be performed when NDEBUG is defined.
2009-08-21 14:01:46 +00:00
Sylvain Pion bf3c4c99d1 Remove obsolete makefiles, or cmake-generated makefiles that should not be under SVN. 2009-08-20 13:27:34 +00:00
Sébastien Loriot 7e00f2fa49 remove warning uninitialized int (approved by RM) 2009-07-09 08:20:52 +00:00
Andreas Fabri f5105ee367 Add squared radius for a point to make kernels model of the alpha shape traits class 2009-07-07 10:34:29 +00:00
Andreas Fabri a89ffb7be3 Add squared radius for a point to make kernels model of the alpha shape traits class 2009-07-07 10:33:38 +00:00
Andreas Fabri 4a9c25a07a Add tests for squared radius for a point to make kernels model of the alpha shape traits class 2009-07-06 13:04:37 +00:00
Sébastien Loriot ed59e89ad6 correct has_on pb 2009-06-26 14:14:54 +00:00
Sébastien Loriot b65aa72c49 has_on circle for plane_3 2009-06-25 05:55:14 +00:00
Sébastien Loriot 7537bdbeab add documented has_on for point and circle on a sphere 2009-06-24 16:26:17 +00:00
Sylvain Pion da8f43f45f Mark most one-argument constructors explicit. 2009-05-09 16:08:19 +00:00
Sylvain Pion f0ed774e37 Move CGAL::array to namespace CGAL::cpp0x, like tuple. 2009-04-30 14:03:52 +00:00
Sébastien Loriot 2ccf2ba9cc fix operator pb display Circle_3 2009-02-05 12:58:39 +00:00
Sylvain Pion 872586c9bd Remove default arguments in the declarations of the classes
Ambient_dimension and Feature_dimension to fix a problem
with buggy links to "Kernel".
2009-01-29 10:21:16 +00:00
Laurent Rineau 2bf7e2ccce Merge from the CGAL-3.4 branch:
New Revision: 47768
 Author: lrineau
 Date: 2009-01-20 23:19:01 +0100 (Tue, 20 Jan 2009)
 
 Log message:
 
Fix wrong cross-linking in the manual, using new optional argument of \ccc
and \ccRefIdfierPage.
2009-01-20 22:37:16 +00:00
Sylvain Pion 7b26494d30 Reduce the noise in "grep ccTexHtml". 2009-01-05 17:24:03 +00:00
Sylvain Pion 1d5010386d Replace non-standard compliant <MATH> by <span class="math">. 2009-01-05 15:14:35 +00:00
Monique Teillaud 2818272459 add Circle_3 in design and implementation history 2009-01-04 11:07:08 +00:00
Sylvain Pion ff378d17a7 Resurrect the "Design and Implementation History" sections in Kernel_23 and
Kernel_d which somehow got dropped.
2009-01-03 15:54:11 +00:00
Sylvain Pion 80da0bff1a More obsolete \ccTexHtml removal. 2009-01-03 15:21:38 +00:00
Sylvain Pion 098fa9cf79 More removal of obsolete ccTexHtml. 2009-01-03 13:10:07 +00:00
Sylvain Pion c01504fb42 typo 2008-12-29 18:20:03 +00:00
Laurent Rineau 157eba63cf \ccPkgDemo now predend "demo/3.4/" to its argument. 2008-12-10 14:16:12 +00:00
Andreas Fabri 9b6425f55c Forward argument 'orientation' 2008-12-08 14:47:16 +00:00
Laurent Rineau c115d9c48f No _ in labels! 2008-12-02 15:33:52 +00:00
Andreas Fabri 7c90cc1d03 Add a ccRefLabel for overloaded do_intersect 2008-12-02 14:08:29 +00:00
Laurent Rineau ec9f2e29e5 Update citations (s/07/08/).
Let us hope that CGAL-3.4 will be release before 2009!
2008-11-20 22:19:28 +00:00
Andreas Fabri 16992fa683 Add CMAKE_MINIMUM_REQUIRED(VERSION 2.4.5) 2008-11-20 10:16:42 +00:00
Monique Teillaud 0a21c25e37 bug fix 2008-11-06 15:13:16 +00:00
Fernando Cacciola 547bffecd9 Put CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS in the right place for cmake 2.4 2008-11-06 13:03:41 +00:00
Fernando Cacciola 994028ec51 Prefixed CreateSingleSourceCGALProgram.cmake with CGAL_ 2008-11-04 13:09:48 +00:00
Fernando Cacciola 70fa9503fd Added CMP0003 policy 2008-11-04 12:30:29 +00:00
Andreas Fabri bde0aee592 In deep derivation hierarchies VC8 has problems when we use the same name for a template parameter at several hierarchy levels, so we rename it here 2008-10-21 12:29:38 +00:00
Monique Teillaud 87c5be67d6 radical line 2008-10-21 08:11:06 +00:00
Pedro Machado Manhaes de Castro ecbb61ca1f test for radical_line 2008-10-20 15:08:28 +00:00
Pedro Machado Manhaes de Castro a65aceddf2 radical line as well 2008-10-20 14:44:37 +00:00
Monique Teillaud 3b3d2c5b04 do_intersect(line2,circle2) does not need CK 2008-10-16 14:31:07 +00:00
Sylvain Pion 4aa1cb057a Remove my email adress from header files. 2008-10-11 20:21:08 +00:00
Pedro Machado Manhaes de Castro 5a40803e35 Fixing has_on member function of Circle_3 2008-10-06 10:31:28 +00:00
Monique Teillaud 5b0b5be086 added functions coming from the spherical kernel 2008-10-03 12:23:05 +00:00
Pedro Machado Manhaes de Castro 8960a3dd58 Some forgotten operators on functors for Circle_3 2008-10-02 16:31:35 +00:00
Pedro Machado Manhaes de Castro 759a865e5a member functions on Circle_3 2008-10-02 16:21:54 +00:00
Pedro Machado Manhaes de Castro a8647958ae member functions on Circle_3 2008-10-02 16:19:04 +00:00
Monique Teillaud db22c6ea74 bug fix in file name 2008-10-02 13:06:02 +00:00
Monique Teillaud 388c4f01b2 Line_arc_2 added in compare_y_at_x
+ file name changed
2008-10-01 15:15:00 +00:00
Monique Teillaud 4151cb3a86 added case coming from CK2 2008-10-01 14:24:43 +00:00
Monique Teillaud 94fe33c5f6 added versions coming from the circular kernel 2008-10-01 13:49:51 +00:00
Monique Teillaud 5eb7d9dddb Construct_supporting_plane_3( circle3 ) -> Construct_plane_3
Construct_diametral_sphere_3( circle3 ) -> Construct_spehe_3
corresponding constructors added in the two classes
2008-09-16 13:47:46 +00:00
Pedro Machado Manhaes de Castro 7b44979a90 Convention to allow Circle_3 c = Circle_3(p1, p2, p3); Sphere_3 s = c; Plane_3 p = c; 2008-09-16 13:04:08 +00:00
Pedro Machado Manhaes de Castro 642a419079 Is_degenerate_3 functor for Circle_3 2008-09-16 12:48:45 +00:00
Pedro Machado Manhaes de Castro 0ce9d35d32 Construct_supporting_plane => Construct_plane, Construct_diametral_sphere => Construct_sphere 2008-09-16 12:45:08 +00:00
Monique Teillaud f72028b2c2 constructor Circle_3(3 points) added 2008-09-09 11:47:49 +00:00
Fernando Cacciola 1fc6bcadc4 Removed hand-made example cmake scripts 2008-09-04 18:58:48 +00:00
Monique Teillaud 0ec24cd91a - bug fix: missing do_intersect(Circle_2,Circle_2) added in Kernel_23
- added do_intersect and intersect coming from CK2 and SK3
2008-09-01 09:14:12 +00:00
Sylvain Pion 4c79d1d5cf Rename Bool_type to Boolean. 2008-08-26 13:40:26 +00:00
Sylvain Pion 53f5c9679b Add a using directive "using std::array" in namespace CGAL to import either:
- C++0x's std:array from <array>
- TR1's std::tr1::array from <tr1/array>
- boost::array from <boost/array.hpp>
Motivation : GCC's std::array is faster than boost::array.

Move CGALi:make_array to namespace CGAL.

Document CGAL::array.
2008-08-26 13:08:16 +00:00
Sylvain Pion 3dfba083bf Mention that sqrt is required 2008-08-25 12:35:31 +00:00
Sylvain Pion 7d5dda0438 Propagate Uncertain-ty. 2008-08-22 15:22:00 +00:00
Andreas Fabri fda3f6241f Added global function squared_area 2008-08-22 13:24:50 +00:00
Sylvain Pion 5f68e3f573 Now we can refer to Uncertain<>. 2008-07-31 14:15:44 +00:00
Sylvain Pion 2f0abc4b6f Move CGAL::Object from Kernel_23 to STL_Extension. 2008-07-29 15:26:38 +00:00
Sylvain Pion c3500b603f Discourage assign() 2008-07-29 13:54:14 +00:00
Sylvain Pion e03e06f0ac Recommend object_cast instead of assign 2008-07-29 13:47:46 +00:00
Sylvain Pion aec07c1fe2 Use object_cast instead of assign in the example 2008-07-29 12:01:35 +00:00
Sylvain Pion 6e7b88e4ca Remove the CGAL_DEPRECATED_CODE notes around the Point/Vector/Linx constructors
from number types, as these have been decided to be un-deprecated quite some time ago.
2008-07-28 16:21:53 +00:00
Sylvain Pion 0a76cd42f7 Remove the deprecated linear kernel functors Construct_supporting_line_2 and
Construct_supporting_line_3.  (they were deprecated in 2004).
2008-07-28 16:07:28 +00:00
Sylvain Pion 91ded52d27 Replace Sixtuple and Fourtuple by boost::array in Bbox_[23]. 2008-07-25 09:50:56 +00:00
Sylvain Pion dc3bf72707 Remove changes.txt files. 2008-07-24 17:47:16 +00:00
Pedro Machado Manhaes de Castro 65e7bd6974 Cleaning stuffs temporarily 2008-07-24 13:13:12 +00:00
Michael Hoffmann 8dd4cd38ca Remove functional_base include. 2008-07-23 14:50:58 +00:00
Sylvain Pion 000ed7a361 Typo Equaldistant -> Equidistant. 2008-07-23 14:24:04 +00:00
Sylvain Pion d52770ff46 Add missing new typedefs 2008-07-22 14:04:17 +00:00
Sylvain Pion 79864c0c8e Remove Arity_tag. 2008-07-22 12:29:01 +00:00
Pedro Machado Manhaes de Castro e8663963f2 Constructing a Circle_3 passing through three points p, q, r 2008-07-17 14:08:50 +00:00
Pedro Machado Manhaes de Castro 66b2705068 Changing Licenses from QPL to LGPL 2008-07-17 12:02:29 +00:00
Sylvain Pion 6ee113f820 Document the kernel typedefs specifying the return types of the predicates:
Bool_type, Sign, Comparison_result, Orientation, Oriented_side, Bounded_side and Angle.
2008-07-16 13:59:26 +00:00
Sylvain Pion 1ad6e53cbd remove end-of-line blanks 2008-07-16 13:48:44 +00:00
Sylvain Pion 173ef7c590 Allow propagation of Uncertain-ty in more places, to reduce the number of exceptions.
- Use K::Bool_type, K::Orientation... instead of bool, CGAL::Orientation...
- More functions around Uncertain<> : make_certain(), extract_singleton(),
                                      possible conversions tightenning.

Many conversions still remain, e.g. for switch and if statements, &&, ||...
2008-07-16 13:45:13 +00:00
Sylvain Pion 2eb0d8f9e9 certainly() -> possibly(). 2008-07-14 11:16:41 +00:00
Sylvain Pion 32a9d86ec2 Fix header inclusion order problem by #including <CGAL/config.h> instead of <CGAL/basic.h>.
Really: <CGAL/basic.h> should go away!
2008-07-12 21:09:38 +00:00
Sylvain Pion 9d7a609ff2 Make assertions trigger an error only for *certain* conditions (using CGAL::certainly()).
This is useful for interval arithmetic code.
(replay of r44002 with the header order hopefully fixed)
2008-07-10 21:49:17 +00:00
Sylvain Pion 2b4ebf01f7 Undo r44002 as it's buggy 2008-07-06 20:47:29 +00:00
Sylvain Pion 514a17ad4f Improve the interaction of assertions and interval computations.
Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
  ((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
  (CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
2008-07-06 17:05:47 +00:00
Pedro Machado Manhaes de Castro 4527058121 Fixing Lazy for Circle_3 2008-06-26 14:26:49 +00:00
Pedro Machado Manhaes de Castro 60e14a495e Changed the typedef for Sphere_3 of Circle_3 from private to public temporarily so the stuffs of Sebastien (in Circular_kernel_3, Circular_arc_3 with reference sphere) keep working. 2008-06-09 16:16:44 +00:00
Pedro Machado Manhaes de Castro 95699dc3a6 Fixing Dimension Tags for Circle_3 2008-06-05 08:40:13 +00:00
Pedro Machado Manhaes de Castro 0061696f17 missin Circle_3 itself 2008-06-04 16:32:43 +00:00
Pedro Machado Manhaes de Castro ca7b46ee81 fix asserts 2008-06-04 12:05:42 +00:00
Pedro Machado Manhaes de Castro 9986bfec83 fix 2008-06-04 09:24:14 +00:00
Pedro Machado Manhaes de Castro 69c2b4d186 add radical_plane 2008-06-04 09:04:45 +00:00
Pedro Machado Manhaes de Castro ecc4ca877b adding a new line at EOF 2008-06-04 07:59:09 +00:00
Pedro Machado Manhaes de Castro 5cf2eb63cd fixing the 03/06/2008 red mosaic 2008-06-04 07:52:01 +00:00
Monique Teillaud 158a455f10 cosmetic: names of arguments changed to avoid spurious links 2008-06-04 06:20:52 +00:00
Monique Teillaud d8f5ac0fca forgotten Plane/Line added 2008-06-03 15:34:13 +00:00
Sylvain Pion 499815eec6 Fix the Ambient_dimension bugs, and fixed links. 2008-06-03 13:27:27 +00:00
Monique Teillaud b1ef678231 - integration in Kernel of various functionality for lines, planes, spheres
- addition of Circle_3 and related functionality
(all this comes from the spherical kernel package)

(the manual test-suite won't pass because of errors in the ambient
dimension stuff)
2008-06-03 13:13:46 +00:00
Pedro Machado Manhaes de Castro acd4fe9059 adding Circle_3 to the Kernel 2008-06-03 12:21:18 +00:00
Pedro Machado Manhaes de Castro fc45f43179 Adding Circle_3 object to the Kernel. 2008-06-03 12:17:16 +00:00
Andreas Fabri b997c33952 Added compare_squared_radius, its functor, doc, testsuite 2008-05-28 14:25:42 +00:00
Sylvain Pion 74db076d75 Remove too simplistic Intel compiler workaround, as it breaks
with the Intel compiler on Linux.  If it's still needed,
a *proper* workaround should be put in place instead.
2008-05-21 13:48:05 +00:00
Sylvain Pion 775f74a378 Separate Kernel Geometric Object Concepts from the Functors. 2008-04-21 10:53:20 +00:00
Andreas Fabri feec9c3951 changed to non-executable 2008-04-18 10:02:42 +00:00
Sylvain Pion 0ba9bfbca4 Move that preliminary stuff to internal CGAL::Access namespace. 2008-04-17 14:43:41 +00:00
Sylvain Pion 7eeb87cf71 Add a Dimension typedef to the d-dim kernels.
Swap the order of the arguments of the Point<2, K> so that there can be a default for the dimension.
2008-04-17 14:02:06 +00:00
Sylvain Pion 55d538b335 "Ambient" is not spelled "Ambiant" in English... 2008-04-17 10:13:31 +00:00
Sylvain Pion 3927a2f261 typo 2008-04-16 06:58:20 +00:00
Sylvain Pion 9ec4421219 Try to make links work (again). 2008-04-16 06:55:34 +00:00
Sylvain Pion c7ce8a0e4a barycenter : add the precondition that the sum of weights is non-zero. 2008-04-15 16:09:35 +00:00
Sylvain Pion bbd100121b Add barycenter computation. 2008-04-15 15:13:17 +00:00
Sylvain Pion 4477a9d986 Updates after the new d-dim stuff changes. 2008-04-15 13:53:58 +00:00
Sylvain Pion d60147b5c8 Add template parameter of the declaration, in the hope that html links work. 2008-04-15 09:59:23 +00:00
Sylvain Pion 00740e7402 Formatting fixes. 2008-04-15 09:57:11 +00:00
Sylvain Pion 2389cdcc1e Dimension detecting stuff rewrite.
There is now Ambiant_dimension and Feature_dimension.
The handling of the dynamic dimension case is now done by having
the di,ension tag as the first thing provided, with the integral
constant value available only when it makes sense (INT_MAX no longer needed).
2008-04-13 12:38:48 +00:00
Sylvain Pion 3df06fa8da collinear -> coplanar. 2008-04-13 11:37:36 +00:00
Sylvain Pion 4416bee3de Move all Handle* classes to STL_Extension. There's no geometry in them,
so the kernel is not the most appropriate place for them.
2008-04-12 10:38:07 +00:00
Sylvain Pion 02e543a294 Add Dimension<T, K> whose nested "value" is the dimension of the ambiant
space.  A special constant CGAL::Dynamic_dimension (equal to INT_MAX)
indicates the case where the dimension is only known at run time.
2008-04-11 21:03:22 +00:00
Sylvain Pion aad1552b8a Add Dimension_tag<int dim> to help dispatching functions depending
on the dimension.
2008-04-11 19:29:30 +00:00
Sylvain Pion ef71559164 Remove the Kernel Concept Archetypes. 2008-04-11 19:26:21 +00:00
Sylvain Pion 1ce5c4a18d Add forgotten documentation for:
orientation(Vector_2, Vector_2)
  orientation(Vector_3, Vector_3, Vector_3)
2008-04-11 14:38:32 +00:00
Sylvain Pion 4873e53de2 Move:
<CGAL/Kernel/Cartesian_coordinate_iterator_2.h>
  <CGAL/Kernel/Cartesian_coordinate_iterator_3.h>
To:
  <CGAL/Filtered_kernel/Cartesian_coordinate_iterator_2.h>
  <CGAL/Filtered_kernel/Cartesian_coordinate_iterator_3.h>
2008-04-09 18:06:00 +00:00
Sylvain Pion 11bbf3e2de Vector_2 and Vector_3 now also provide a Cartesian_const_iterator. 2008-04-09 17:58:57 +00:00
Sylvain Pion 1d8779b171 Rename the following functions:
det2x2_by_formula
  det3x3_by_formula
  det4x4_by_formula
  det5x5_by_formula
  det6x6_by_formula
to:
  determinant

How cute...  a name independent of the dimension, and even readable !
2008-04-09 13:35:34 +00:00
Sylvain Pion b740e90de0 Rename the following functions:
sign_of_determinant2x2
  sign_of_determinant3x3
  sign_of_determinant4x4
  sign_of_determinant5x5
  sign_of_determinant6x6
to:
  sign_of_determinant

So that we have less dimension-dependent namings, at least internally...
2008-04-09 12:20:25 +00:00
Sylvain Pion 54648829af Merge <CGAL/functions_on_enums.h> into <CGAL_enum.h>.
No need to have 2 separately documented headers for that.
2008-03-20 16:39:56 +00:00
Andreas Meyer 20315de571 * replaced CGAL_test_assert with ::assert, instead of CGAL_assertion
* removed include/Testsuite/assert.h
2008-03-19 13:45:36 +00:00
Fernando Cacciola b704509dcf Examples/Demos/Test CMake scripts updated 2008-03-05 21:14:02 +00:00
Fernando Cacciola a659cd852a Added project() and conditional test for CGAL_DIR 2008-02-14 15:42:36 +00:00
Fernando Cacciola 14043c43a0 Replaced CGALROOT by CGAL_DIR (the latters is used by CMake automatically) 2008-02-08 17:47:21 +00:00
Fernando Cacciola afddfc4fca CMake scripts for demos/examples/test added 2008-02-06 19:06:24 +00:00
Andreas Fabri 7f258ba048 Added functors to archetype kernel 2008-01-19 15:11:50 +00:00
Sylvain Pion 9f5bad92a1 Remove my name from maintainer files where it does not resonnably make any sense anymore. 2008-01-19 14:29:27 +00:00
Andreas Fabri 7da7324906 Testsuite for (unit)_normal functions and functors 2008-01-19 14:01:57 +00:00
Andreas Fabri 8421cc0779 Added normal and unit normal 2008-01-18 13:45:08 +00:00
Andreas Fabri a322da0f0e Added preconditions and made it more efficient 2008-01-18 13:42:39 +00:00
Andreas Fabri 5ed516225e Added normal and unit_normal function ans functors 2008-01-18 12:57:56 +00:00
Andreas Fabri e1f07a4bde Added normal and unit_normal function ans functors 2008-01-18 12:56:56 +00:00