# PhasicFlow: infinitePlane Class 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.

infinitePlane Class Reference
Inheritance diagram for infinitePlane:
[legend]
Collaboration diagram for infinitePlane:
[legend]

## Public Member Functions

| TypeInfoNV ("infinitePlane")
INLINE_FUNCTION_HD | infinitePlane ()
| Default. More...
INLINE_FUNCTION_HD | infinitePlane (const realx3 &normal, const real &d)
| From components. More...
INLINE_FUNCTION_HD | infinitePlane (const realx3 &normal, const realx3 &p)
| infinitePlane (const realx3 &p1, const realx3 &p2, const realx3 &p3)
| From 3 points. More...
FUNCTION_HD | infinitePlane (const infinitePlane &)=default
FUNCTION_HD | infinitePlane (infinitePlane &&)=default
FUNCTION_HD infinitePlane & | operator= (const infinitePlane &)=default
FUNCTION_HD infinitePlane & | operator= (infinitePlane &&)=default
| ~infinitePlane ()=default
INLINE_FUNCTION_HD real | pointFromPlane (const realx3 &p) const
INLINE_FUNCTION_HD bool | pointInPositiveSide (const realx3 &p) const
INLINE_FUNCTION_HD bool | pointInNegativeSide (const realx3 &p) const
INLINE_FUNCTION_HD bool | inPositiveDistance (const realx3 &p, real dist) const
INLINE_FUNCTION_HD bool | inNegativeDistance (const realx3 &p, real dist) const
INLINE_FUNCTION_HD bool | pointOnPlane (const realx3 &p) const
INLINE_FUNCTION_HD realx3 | projectPoint (const realx3 &p) const
INLINE_FUNCTION_HD bool | parallel (const infinitePlane &pln) const
INLINE_FUNCTION_HD bool | parallelTouch (const infinitePlane &pln) const
const INLINE_FUNCTION_HD auto & | normal () const
const INLINE_FUNCTION_HD auto & | d () const
FUNCTION_H bool | write (iOstream &os) const
bool | read (iIstream &is)

## Static Public Member Functions

static bool | validPlane3 (const realx3 &p1, const realx3 &p2, const realx3 &p3)

## Protected Attributes

realx3 | normal_ {1,0,0}
| normal vector More...
real | d_ = 0
| distance value More...

## Detailed Description

Definition at line 32 of file infinitePlane.hpp.

## Constructor & Destructor Documentation

## infinitePlane() [1/6]

INLINE_FUNCTION_HD infinitePlane | ( |  | ) |

inline

Default.

Definition at line 51 of file infinitePlane.hpp.

Referenced by plane::infPlane().

Here is the caller graph for this function:

## infinitePlane() [2/6]

INLINE_FUNCTION_HD infinitePlane | ( | const realx3 & | normal,
|  | const real & | d
| ) |  |

inline

From components.

Definition at line 55 of file infinitePlane.hpp.

## infinitePlane() [3/6]

INLINE_FUNCTION_HD infinitePlane | ( | const realx3 & | normal,
|  | const realx3 & | p
| ) |  |

inline

Definition at line 62 of file infinitePlane.hpp.

## infinitePlane() [4/6]

infinitePlane | ( | const realx3 & | p1,
|  | const realx3 & | p2,
|  | const realx3 & | p3
| ) |  |

From 3 points.

Definition at line 24 of file infinitePlane.cpp.

References cross(), dot(), pFlow::endl(), pFlow::equal(), fatalErrorInFunction, fatalExit, and normalize().

Here is the call graph for this function:

## infinitePlane() [5/6]

FUNCTION_HD infinitePlane | ( | const infinitePlane & |  | ) |

default

## infinitePlane() [6/6]

FUNCTION_HD infinitePlane | ( | infinitePlane && |  | ) |

default

## ~infinitePlane()

~infinitePlane | ( |  | ) |

default

## Member Function Documentation

## TypeInfoNV()

TypeInfoNV | ( | "infinitePlane" |  | ) |

## operator=() [1/2]

FUNCTION_HD infinitePlane& operator= | ( | const infinitePlane & |  | ) |

default

## operator=() [2/2]

FUNCTION_HD infinitePlane& operator= | ( | infinitePlane && |  | ) |

default

## pointFromPlane()

INLINE_FUNCTION_HD real pointFromPlane | ( | const realx3 & | p | ) | const

inline

Definition at line 95 of file infinitePlane.hpp.

References infinitePlane::d_, dot(), and infinitePlane::normal_.

Referenced by infinitePlane::inNegativeDistance(), infinitePlane::inPositiveDistance(), infinitePlane::pointInNegativeSide(), infinitePlane::pointInPositiveSide(), and infinitePlane::pointOnPlane().

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

## pointInPositiveSide()

INLINE_FUNCTION_HD bool pointInPositiveSide | ( | const realx3 & | p | ) | const

inline

Definition at line 101 of file infinitePlane.hpp.

References infinitePlane::pointFromPlane().

Here is the call graph for this function:

## pointInNegativeSide()

INLINE_FUNCTION_HD bool pointInNegativeSide | ( | const realx3 & | p | ) | const

inline

Definition at line 107 of file infinitePlane.hpp.

References infinitePlane::pointFromPlane().

Referenced by pointFlag< DefaultHostExecutionSpace >::markDelete(), and boundaryBase::markInNegativeSide().

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

## inPositiveDistance()

INLINE_FUNCTION_HD bool inPositiveDistance | ( | const realx3 & | p,
|  | real | dist
| ) |  | const

inline

Definition at line 113 of file infinitePlane.hpp.

References infinitePlane::d(), and infinitePlane::pointFromPlane().

Here is the call graph for this function:

## inNegativeDistance()

INLINE_FUNCTION_HD bool inNegativeDistance | ( | const realx3 & | p,
|  | real | dist
| ) |  | const

inline

Definition at line 120 of file infinitePlane.hpp.

References infinitePlane::d(), and infinitePlane::pointFromPlane().

Here is the call graph for this function:

## pointOnPlane()

INLINE_FUNCTION_HD bool pointOnPlane | ( | const realx3 & | p | ) | const

inline

Definition at line 127 of file infinitePlane.hpp.

References pFlow::equal(), and infinitePlane::pointFromPlane().

Here is the call graph for this function:

## projectPoint()

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

inline

Definition at line 133 of file infinitePlane.hpp.

References infinitePlane::d_, dot(), and infinitePlane::normal_.

Here is the call graph for this function:

## parallel()

INLINE_FUNCTION_HD bool parallel | ( | const infinitePlane & | pln | ) | const

inline

Definition at line 140 of file infinitePlane.hpp.

References pFlow::equal(), and infinitePlane::normal_.

Here is the call graph for this function:

## parallelTouch()

INLINE_FUNCTION_HD bool parallelTouch | ( | const infinitePlane & | pln | ) | const

inline

Definition at line 147 of file infinitePlane.hpp.

References infinitePlane::d_, pFlow::equal(), and infinitePlane::normal_.

Here is the call graph for this function:

## normal()

const INLINE_FUNCTION_HD auto& normal | ( |  | ) | const

inline

Definition at line 155 of file infinitePlane.hpp.

References infinitePlane::normal_.

Referenced by boundaryPeriodic::boundaryExtensionLength(), boundaryBase::boundaryExtensionLength(), boundaryBase::displacementVectroToMirror(), plane::infPlane(), and periodicBoundaryContactSearch::setSearchBox().

Here is the caller graph for this function:

## d()

const INLINE_FUNCTION_HD auto& d | ( |  | ) | const

inline

Definition at line 161 of file infinitePlane.hpp.

References infinitePlane::d_.

Referenced by boundaryBase::displacementVectroToMirror(), plane::infPlane(), infinitePlane::inNegativeDistance(), and infinitePlane::inPositiveDistance().

Here is the caller graph for this function:

## write()

bool write | ( | iOstream & | os | ) | const

Definition at line 42 of file infinitePlane.cpp.

References IOstream::check(), infinitePlane::d_, FUNCTION_NAME, infinitePlane::normal_, and iOstream::writeWordEntry().

Here is the call graph for this function:

## read()

bool read | ( | iIstream & | is | ) |

Definition at line 49 of file infinitePlane.cpp.

References iIstream::nextData().

Here is the call graph for this function:

## validPlane3()

bool validPlane3 | ( | const realx3 & | p1,
|  | const realx3 & | p2,
|  | const realx3 & | p3
| ) |  |

static

Definition at line 57 of file infinitePlane.cpp.

References cross(), pFlow::equal(), and length().

Here is the call graph for this function:

## Member Data Documentation

## normal_

realx3 normal_ {1,0,0}

protected

normal vector

Definition at line 37 of file infinitePlane.hpp.

Referenced by infinitePlane::normal(), infinitePlane::parallel(), plane::parallelPlane(), infinitePlane::parallelTouch(), infinitePlane::pointFromPlane(), infinitePlane::projectPoint(), and infinitePlane::write().

## d_

real d_ = 0

protected

distance value

Definition at line 40 of file infinitePlane.hpp.

Referenced by infinitePlane::d(), infinitePlane::parallelTouch(), infinitePlane::pointFromPlane(), infinitePlane::projectPoint(), and infinitePlane::write().

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

- src/phasicFlow/structuredData/infinitePlane/infinitePlane.hpp
- src/phasicFlow/structuredData/infinitePlane/infinitePlane.cpp