Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
PlanePlaneIntersection.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_PlanePlaneIntersection_H_
9#define model_PlanePlaneIntersection_H_
10
11#include <cfloat>
12#include <tuple>
13#include <map>
14#include <Eigen/Dense>
15#include <Eigen/Cholesky>
16#include <Plane.h>
17
18namespace model
19{
20
21 template <int dim>
23 {
25 typedef Eigen::Matrix<double,dim,1> VectorDimD;
26 typedef std::tuple<IntersectionType,VectorDimD,VectorDimD> SolutionType;
27
28
29 /**********************************************************************/
30 static bool checkIntersection(const VectorDimD& C,
31 const VectorDimD& p1,
32 const VectorDimD& n1,
33 const VectorDimD& p2,
34 const VectorDimD& n2,
35 const double& tol);
36
37 /**********************************************************************/
39 const VectorDimD& N1,
40 const VectorDimD& p2,
41 const VectorDimD& N2,
42 const double& tol);
43
44
45 public:
46
47
50 const VectorDimD& P;
51 const VectorDimD& d;
52
53 /**********************************************************************/
55 const VectorDimD& n1,
56 const VectorDimD& p2,
57 const VectorDimD& n2,
58 const double& tolerance=FLT_EPSILON);
59
60 /**********************************************************************/
62 const Plane<dim>& plane1,
63 const double& tolerance=FLT_EPSILON);
64
65 };
66
67}
68#endif
static SolutionType findIntersection(const VectorDimD &p1, const VectorDimD &N1, const VectorDimD &p2, const VectorDimD &N2, const double &tol)
PlanePlaneIntersection(const VectorDimD &p1, const VectorDimD &n1, const VectorDimD &p2, const VectorDimD &n2, const double &tolerance=FLT_EPSILON)
std::tuple< IntersectionType, VectorDimD, VectorDimD > SolutionType
Eigen::Matrix< double, dim, 1 > VectorDimD
static bool checkIntersection(const VectorDimD &C, const VectorDimD &p1, const VectorDimD &n1, const VectorDimD &p2, const VectorDimD &n2, const double &tol)
vertex p2
vertex p1