Flow123d  release_2.2.0-914-gf1a3a4f
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 namespace ngh {
30 
31 typedef enum Intersections{
38 
39 typedef enum Positions{
45 } TPosition;
46 
47 void GetIntersection(const TBisector &, const TBisector &, TPosition &,
48  double &, double &);
49 void GetIntersection(const TAbscissa &, const TAbscissa &, TPosition &,
50  double &, double &);
51 void GetIntersection(const TAbscissa &, const TAbscissa &, IntersectionLocal * & insec);
52 
53 void GetIntersection(const TBisector &, const TAbscissa &, TPosition &,
54  double &, double &);
55 void GetIntersection(const TBisector &, const TAbscissa &, IntersectionLocal * & insec);
56 
57 void GetIntersection(const TAbscissa &, const TBisector &, TPosition &,
58  double &, double &);
59 void GetIntersection(const TAbscissa &, const TBisector &, IntersectionLocal * & insec);
60 
61 void GetIntersection(const TPlain &, const TPlain &,
62  TPosition &, TBisector *);
63 void GetIntersection(const TPlain &, const TBisector &,
64  TPosition &, TPoint *);
65 void GetIntersection(const TBisector &, const TPlain &,
66  TPosition &, double &);
67 void GetIntersection(const TBisector &, const TPlain &,
68  TPosition &, TPoint *);
69 void GetIntersection(const TTriangle &, const TTriangle &,
70  TIntersectionType &, double &);
71 void GetIntersection(const TBisector &, const TTriangle &, IntersectionLocal * & insec);
72 
73 void GetIntersection(const TAbscissa &, const TTriangle &, IntersectionLocal * & insec);
74 
75 void GetIntersection(const TAbscissa &, const TTetrahedron &,
76  TIntersectionType &, double &);
77 void GetIntersection(const TTriangle &, const TTetrahedron &,
78  TIntersectionType &, double &);
79 
80 template<class A, class B> bool QuickIntersectionTest(const A &a, const B &b);
81 
82 double Distance(const TBisector &, const TPoint &);
83 double Distance(const TPlain &, const TPoint &);
84 double Distance(const TPoint &, const TPoint &);
85 
86 } // namespace ngh
87 
88 #endif
void GetIntersection(const TBisector &, const TBisector &, TPosition &, double &, double &)
Intersections
Definition: intersection.h:31
enum ngh::Positions TPosition
bool QuickIntersectionTest(const A &a, const B &b)
Definition: abscissa.h:25
double Distance(const TBisector &, const TPoint &)
enum ngh::Intersections TIntersectionType
Positions
Definition: intersection.h:39