Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
Line.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_Line_H_
9#define model_Line_H_
10
11#include <cfloat>
12#include <tuple>
13//#include <map>
14#include <Eigen/Dense>
15#include <iostream>
16
17
18namespace model
19{
20
21 template <int dim>
22 struct Line
23 {
24
25 typedef Eigen::Matrix<double,dim,1> VectorDim;
26
27 const VectorDim P;
28 const VectorDim d;
29
30 Line(const VectorDim& P_in,const VectorDim& d_in);
31 bool contains(const VectorDim& P0,const double& tol=std::numeric_limits<float>::epsilon()) const;
32 VectorDim snap(const VectorDim& P0) const;
33 double distanceToPoint(const VectorDim& P0) const;
34
35
36 };
37
38}
39#endif
const VectorDim d
Definition Line.h:28
const VectorDim P
Definition Line.h:27
double distanceToPoint(const VectorDim &P0) const
Definition Line.cpp:51
VectorDim snap(const VectorDim &P0) const
Definition Line.cpp:37
Line(const VectorDim &P_in, const VectorDim &d_in)
Definition Line.cpp:24
Eigen::Matrix< double, dim, 1 > VectorDim
Definition Line.h:25
bool contains(const VectorDim &P0, const double &tol=std::numeric_limits< float >::epsilon()) const
Definition Line.cpp:44