# PhasicFlow: pLine Struct Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

pLine Struct Reference
Collaboration diagram for pLine:
[legend]

## Public Member Functions

INLINE_FUNCTION_HD | pLine ()
INLINE_FUNCTION_HD | pLine (const realx3 &p1, const realx3 &p2)
INLINE_FUNCTION_HD realx3 | point (real t) const
INLINE_FUNCTION_HD realx3 | projectPoint (const realx3 &p) const
INLINE_FUNCTION_HD real | projectNormLength (realx3 p) const
INLINE_FUNCTION_HD bool | lineGrainCheck (const realx3 pos, real Rad, realx3 &nv, realx3 &cp, real &ovrlp) const

## Public Attributes

realx3 | p1_
realx3 | p2_
realx3 | v_
real | L_

## Detailed Description

Definition at line 29 of file pLine.hpp.

## Constructor & Destructor Documentation

## pLine() [1/2]

INLINE_FUNCTION_HD pLine | ( |  | ) |

inline

Definition at line 38 of file pLine.hpp.

## pLine() [2/2]

INLINE_FUNCTION_HD pLine | ( | const realx3 & | p1,
|  | const realx3 & | p2
| ) |  |

inline

Definition at line 41 of file pLine.hpp.

## Member Function Documentation

## point()

INLINE_FUNCTION_HD realx3 point | ( | real | t | ) | const

inline

Definition at line 51 of file pLine.hpp.

References pLine::p1_, and pLine::v_.

Referenced by pLine::lineGrainCheck(), and pLine::projectPoint().

Here is the caller graph for this function:

## projectPoint()

INLINE_FUNCTION_HD realx3 projectPoint | ( | const realx3 & | p | ) | const

inline

Definition at line 57 of file pLine.hpp.

References pLine::point(), and pLine::projectNormLength().

Here is the call graph for this function:

## projectNormLength()

INLINE_FUNCTION_HD real projectNormLength | ( | realx3 | p | ) | const

inline

Definition at line 64 of file pLine.hpp.

References dot(), pLine::L_, pLine::p1_, and pLine::v_.

Referenced by pLine::lineGrainCheck(), and pLine::projectPoint().

Here is the call graph for this function:
Here is the caller graph for this function:

## lineGrainCheck()

INLINE_FUNCTION_HD bool lineGrainCheck | ( | const realx3 | pos,
|  | real | Rad,
|  | realx3 & | nv,
|  | realx3 & | cp,
|  | real & | ovrlp
| ) |  | const

inline

Definition at line 71 of file pLine.hpp.

References pLine::L_, length(), pLine::point(), pLine::projectNormLength(), and pLine::v_.

Referenced by pFlow::grnTriInteraction::isGrainInContactBothSides().

Here is the call graph for this function:
Here is the caller graph for this function:

## Member Data Documentation

## p1_

realx3 p1_

Definition at line 32 of file pLine.hpp.

Referenced by pLine::point(), and pLine::projectNormLength().

## p2_

realx3 p2_

Definition at line 33 of file pLine.hpp.

## v_

realx3 v_

Definition at line 34 of file pLine.hpp.

Referenced by pLine::lineGrainCheck(), pLine::point(), and pLine::projectNormLength().

## L_

real L_

Definition at line 35 of file pLine.hpp.

Referenced by pLine::lineGrainCheck(), and pLine::projectNormLength().

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

- src/Interaction/grainInteraction/grainInteraction/pLine.hpp