Flow123d  release_2.2.0-33-g759111d
intersection.h
Go to the documentation of this file.
1 /*!
2  *
3  * Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU General Public License version 3 as published by the
7  * Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12  *
13  *
14  * @file intersection.h
15  * @brief
16  */
17 
18 #ifndef intersectionH
19 #define intersectionH
20 
21 #include "bisector.h"
22 #include "abscissa.h"
23 #include "point.h"
24 #include "plain.h"
25 #include "triangle.h"
26 #include "tetrahedron.h"
27 #include "intersectionLocal.h"
28 
29 typedef enum Intersections{
36 
37 typedef enum Positions{
43 } TPosition;
44 
45 void GetIntersection(const TBisector &, const TBisector &, TPosition &,
46  double &, double &);
47 void GetIntersection(const TAbscissa &, const TAbscissa &, TPosition &,
48  double &, double &);
49 void GetIntersection(const TAbscissa &, const TAbscissa &, IntersectionLocal * & insec);
50 
51 void GetIntersection(const TBisector &, const TAbscissa &, TPosition &,
52  double &, double &);
53 void GetIntersection(const TBisector &, const TAbscissa &, IntersectionLocal * & insec);
54 
55 void GetIntersection(const TAbscissa &, const TBisector &, TPosition &,
56  double &, double &);
57 void GetIntersection(const TAbscissa &, const TBisector &, IntersectionLocal * & insec);
58 
59 void GetIntersection(const TPlain &, const TPlain &,
60  TPosition &, TBisector *);
61 void GetIntersection(const TPlain &, const TBisector &,
62  TPosition &, TPoint *);
63 void GetIntersection(const TBisector &, const TPlain &,
64  TPosition &, double &);
65 void GetIntersection(const TBisector &, const TPlain &,
66  TPosition &, TPoint *);
67 void GetIntersection(const TTriangle &, const TTriangle &,
68  TIntersectionType &, double &);
69 void GetIntersection(const TBisector &, const TTriangle &, IntersectionLocal * & insec);
70 
71 void GetIntersection(const TAbscissa &, const TTriangle &, IntersectionLocal * & insec);
72 
73 void GetIntersection(const TAbscissa &, const TTetrahedron &,
74  TIntersectionType &, double &);
75 void GetIntersection(const TTriangle &, const TTetrahedron &,
76  TIntersectionType &, double &);
77 
78 template<class A, class B> bool QuickIntersectionTest(const A &a, const B &b);
79 
80 double Distance(const TBisector &, const TPoint &);
81 double Distance(const TPlain &, const TPoint &);
82 double Distance(const TPoint &, const TPoint &);
83 #endif
double Distance(const TBisector &, const TPoint &)
Positions
Definition: intersection.h:37
bool QuickIntersectionTest(const A &a, const B &b)
Definition: plain.h:24
Definition: point.h:27
Intersections
Definition: intersection.h:29
enum Intersections TIntersectionType
enum Positions TPosition
void GetIntersection(const TBisector &, const TBisector &, TPosition &, double &, double &)