Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cartesian_classes.h
Go to the documentation of this file.
1 // ======================================================================
2 //
3 // Copyright (c) 1997 The CGAL Consortium
4 
5 // This software and related documentation is part of the Computational
6 // Geometry Algorithms Library (CGAL).
7 // This software and documentation is provided "as-is" and without warranty
8 // of any kind. In no event shall the CGAL Consortium be liable for any
9 // damage of any kind.
10 //
11 // Every use of CGAL requires a license.
12 //
13 // Academic research and teaching license
14 // - For academic research and teaching purposes, permission to use and copy
15 // the software and its documentation is hereby granted free of charge,
16 // provided that it is not a component of a commercial product, and this
17 // notice appears in all copies of the software and related documentation.
18 //
19 // Commercial licenses
20 // - A commercial license is available through Algorithmic Solutions, who also
21 // markets LEDA (http://www.algorithmic-solutions.de).
22 // - Commercial users may apply for an evaluation license by writing to
23 // Algorithmic Solutions (contact@algorithmic-solutions.com).
24 //
25 // The CGAL Consortium consists of Utrecht University (The Netherlands),
26 // ETH Zurich (Switzerland), Free University of Berlin (Germany),
27 // INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
28 // (Germany), Max-Planck-Institute Saarbrucken (Germany), RISC Linz (Austria),
29 // and Tel-Aviv University (Israel).
30 //
31 // ----------------------------------------------------------------------
32 //
33 // release : CGAL-2.2
34 // release_date : 2000, September 30
35 // patch : 1
36 // patch_date : 2000, December 11
37 //
38 // file : include/CGAL/cartesian_classes.h
39 // package : Cartesian_basic (4.3)
40 // revision : $Revision: 1.1.1.1 $
41 // revision_date : $Date: 2001/07/05 22:17:48 $
42 // authors : Herve Bronnimann
43 // coordinator : INRIA Sophia-Antipolis
44 //
45 // email : contact@cgal.org
46 // www : http://www.cgal.org
47 //
48 // ======================================================================
49 
50 #ifndef CGAL_CARTESIAN_CLASSES_H
51 #define CGAL_CARTESIAN_CLASSES_H
52 
53 #include <CGAL/basic_classes.h>
54 
55 #ifndef CGAL_CFG_NO_ADVANCED_KERNEL
56 
58 
59 // The following scheme is proposed by Michael Hoffmann
60 // It uses partial specialization and default template parameters
61 // and a curiously recurring pattern
62 // It allows for a fully extendible kernel
63 
64 template < class R, class T = typename R::Rep_tag > class Point_2;
65 template < class R, class T = typename R::Rep_tag > class Vector_2;
66 template < class R, class T = typename R::Rep_tag > class Direction_2;
67 template < class R, class T = typename R::Rep_tag > class Line_2;
68 template < class R, class T = typename R::Rep_tag > class Ray_2;
69 template < class R, class T = typename R::Rep_tag > class Segment_2;
70 template < class R, class T = typename R::Rep_tag > class Triangle_2;
71 template < class R, class T = typename R::Rep_tag > class Circle_2;
72 template < class R, class T = typename R::Rep_tag > class Data_accessor_2;
73 template < class PT, class DA > class ConicCPA2;
74 template < class R, class T = typename R::Rep_tag > class Iso_rectangle_2;
75 template < class R, class T = typename R::Rep_tag > class Aff_transformation_2;
76 
77 template < class R, class T = typename R::Rep_tag > class Plane_3;
78 template < class R, class T = typename R::Rep_tag > class Point_3;
79 template < class R, class T = typename R::Rep_tag > class Vector_3;
80 template < class R, class T = typename R::Rep_tag > class Direction_3;
81 template < class R, class T = typename R::Rep_tag > class Line_3;
82 template < class R, class T = typename R::Rep_tag > class Ray_3;
83 template < class R, class T = typename R::Rep_tag > class Segment_3;
84 template < class R, class T = typename R::Rep_tag > class Triangle_3;
85 template < class R, class T = typename R::Rep_tag > class Tetrahedron_3;
86 template < class R, class T = typename R::Rep_tag > class Sphere_3;
87 template < class R, class T = typename R::Rep_tag > class Iso_cuboid_3;
88 template < class R, class T = typename R::Rep_tag > class Aff_transformation_3;
89 
90 template < class R > class PointCd;
91 
93 
94 #else
95 
97 
98 // The following scheme is proposed by Stefan Schirra
99 // It does not use partial specialization
100 // It is a partially extendible kernel, but you have to redefine and
101 // reinstantiate all the member classes in a new kernel
102 // even if only one differs
103 
104 template < class R > class PointC2;
105 template < class R > class VectorC2;
106 template < class R > class DirectionC2;
107 template < class R > class LineC2;
108 template < class R > class RayC2;
109 template < class R > class SegmentC2;
110 template < class R > class TriangleC2;
111 template < class R > class CircleC2;
112 template < class R > class Data_accessorC2;
113 template < class PT, class DA > class ConicCPA2;
114 template < class R > class Iso_rectangleC2;
115 template < class R > class Aff_transformationC2;
116 
117 template < class R > class PlaneC3;
118 template < class R > class PointC3;
119 template < class R > class VectorC3;
120 template < class R > class DirectionC3;
121 template < class R > class LineC3;
122 template < class R > class RayC3;
123 template < class R > class SegmentC3;
124 template < class R > class TriangleC3;
125 template < class R > class TetrahedronC3;
126 template < class R > class SphereC3;
127 template < class R > class Iso_cuboidC3;
128 template < class R > class Aff_transformationC3;
129 
130 template < class R > class PointCd;
131 
133 
134 // We also need the wrapper classes Point_2<R> etc.
135 // We include them (they are common to Cartesian and Homogeneous)
136 #include <CGAL/user_classes.h>
137 
138 #endif // CGAL_CFG_NO_ADVANCED_KERNEL
139 
140 #endif // CGAL_CARTESIAN_CLASSES_H
#define CGAL_BEGIN_NAMESPACE
Definition: kdtree_d.h:86
Some basic geometric data types.
Definition: mapbasic.h:54
#define CGAL_END_NAMESPACE
Definition: kdtree_d.h:87