Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::FiniteLineSegment< dim > Struct Template Reference

#include <FiniteLineSegment.h>

Inheritance diagram for model::FiniteLineSegment< dim >:
Collaboration diagram for model::FiniteLineSegment< dim >:

Public Types

typedef Eigen::Matrix< double, dim, 1 > VectorDim

Public Member Functions

 FiniteLineSegment (const VectorDim &p0, const VectorDim &p1)
VectorDim snap (const VectorDim &x) const
VectorDim snapToInfiniteLine (const VectorDim &x) const
SegmentSegmentDistance< dim > distanceTo (const FiniteLineSegment< dim > &other, const double &degeneracyValue=0.0) const
double distanceTo (const VectorDim &x) const
bool contains (const VectorDim &x) const
double length () const
bool hasZeroLength () const
VectorDim center () const

Public Attributes

VectorDim P0
VectorDim P1

Detailed Description

template<int dim>
struct model::FiniteLineSegment< dim >

Definition at line 22 of file FiniteLineSegment.h.

Member Typedef Documentation

◆ VectorDim

template<int dim>
typedef Eigen::Matrix<double,dim,1> model::FiniteLineSegment< dim >::VectorDim

Definition at line 25 of file FiniteLineSegment.h.

Constructor & Destructor Documentation

◆ FiniteLineSegment()

template<int dim>
model::FiniteLineSegment< dim >::FiniteLineSegment ( const VectorDim & p0,
const VectorDim & p1 )

Definition at line 24 of file FiniteLineSegment.cpp.

Member Function Documentation

◆ center()

template<int dim>
FiniteLineSegment< dim >::VectorDim model::FiniteLineSegment< dim >::center ( ) const

Definition at line 134 of file FiniteLineSegment.cpp.

◆ contains()

template<int dim>
bool model::FiniteLineSegment< dim >::contains ( const VectorDim & x) const

Definition at line 113 of file FiniteLineSegment.cpp.

◆ distanceTo() [1/2]

template<int dim>
SegmentSegmentDistance< dim > model::FiniteLineSegment< dim >::distanceTo ( const FiniteLineSegment< dim > & other,
const double & degeneracyValue = 0.0 ) const

Definition at line 97 of file FiniteLineSegment.cpp.

◆ distanceTo() [2/2]

template<int dim>
double model::FiniteLineSegment< dim >::distanceTo ( const VectorDim & x) const

Definition at line 106 of file FiniteLineSegment.cpp.

◆ hasZeroLength()

template<int dim>
bool model::FiniteLineSegment< dim >::hasZeroLength ( ) const

Definition at line 127 of file FiniteLineSegment.cpp.

◆ length()

template<int dim>
double model::FiniteLineSegment< dim >::length ( ) const

Definition at line 120 of file FiniteLineSegment.cpp.

◆ snap()

template<int dim>
FiniteLineSegment< dim >::VectorDim model::FiniteLineSegment< dim >::snap ( const VectorDim & x) const
Parameters
[in]xpoint to be snapped to the FiniteLineSegment
Returns
the closest point to x on the FiniteLineSegment

miminime distance to the line: u=argMin{ (P0+u*(P1-P0)-x)^2 } (P0+u*(P1-P0)-x)*(P1-P0)=0 u=(x-P0)*(P1-P0)/(P1-P0)^2

Definition at line 34 of file FiniteLineSegment.cpp.

◆ snapToInfiniteLine()

template<int dim>
FiniteLineSegment< dim >::VectorDim model::FiniteLineSegment< dim >::snapToInfiniteLine ( const VectorDim & x) const
Parameters
[in]xpoint to be snapped to the FiniteLineSegment
Returns
the closest point to x on the FiniteLineSegment

miminime distance to the line: u=argMin{ (P0+u*(P1-P0)-x)^2 } (P0+u*(P1-P0)-x)*(P1-P0)=0 u=(x-P0)*(P1-P0)/(P1-P0)^2

Definition at line 71 of file FiniteLineSegment.cpp.

Member Data Documentation

◆ P0

template<int dim>
VectorDim model::FiniteLineSegment< dim >::P0

Definition at line 27 of file FiniteLineSegment.h.

◆ P1

template<int dim>
VectorDim model::FiniteLineSegment< dim >::P1

Definition at line 28 of file FiniteLineSegment.h.


The documentation for this struct was generated from the following files: