Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
LineSegmentIntersection.h
Go to the documentation of this file.
1/* This file is part of MoDELib, the Mechanics Of Defects Evolution Library.
2 *
3 *
4 * MoDELib is distributed without any warranty under the
5 * GNU General Public License (GPL) v2 <http://www.gnu.org/licenses/>.
6 */
7
8#ifndef model_LineSegmentIntersection_H_
9#define model_LineSegmentIntersection_H_
10
11#include <tuple>
12#include <map>
13#include <stdexcept>
14#include <Eigen/Dense>
15
16namespace model
17{
18
19 template <int dim>
21 {
22
23 public:
25
26
27 typedef Eigen::Matrix<double,dim,1> VectorDimD;
28 typedef std::tuple<IntersectionType,VectorDimD,VectorDimD,double,double> SolutionType;
29
30 private:
31 const SolutionType sol;
32
33 /**********************************************************************/
34 static SolutionType findIntersections(const VectorDimD& A0,
35 const VectorDimD& D0,
36 const VectorDimD& A1,
37 const VectorDimD& D1);
38
39 public:
40
42 const VectorDimD& x0;
43 const VectorDimD& x1;
44 const double& u0;
45 const double& u1;
46
47 /**********************************************************************/
49 const VectorDimD& D0,
50 const VectorDimD& P0,
51 const VectorDimD& P1);
52
53 };
54
55 /******************************************************************/
56 /******************************************************************/
57} /* namespace model */
58#endif
LineSegmentIntersection(const VectorDimD &A0, const VectorDimD &D0, const VectorDimD &P0, const VectorDimD &P1)
Eigen::Matrix< double, dim, 1 > VectorDimD
std::tuple< IntersectionType, VectorDimD, VectorDimD, double, double > SolutionType