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

pStructSelector Class Referenceabstract
Inheritance diagram for pStructSelector:
[legend]
Collaboration diagram for pStructSelector:
[legend]

## Public Member Functions

| TypeInfo ("pStructSelector")
| pStructSelector (const pointStructure &pStruct, const dictionary &UNUSED(dict))
| the dictionary contains the selector keyword and another dictionary which is used for creating selector More...
| pStructSelector (const word &type, const pointStructure &pStruct, const dictionary &UNUSED(dict))
| construct using selector type and a dictionary that contains info of selector More...
| create_vCtor (pStructSelector, dictionary,(const pointStructure &pStruct, const dictionary &dict),(pStruct, dict))
| create_vCtor (pStructSelector, word,(const word &type, const pointStructure &pStruct, const dictionary &dict),(type, pStruct, dict))
virtual | ~pStructSelector ()=default
const pointStructure & | pStruct () const
virtual const uint32Vector & | selectedPoints () const =0
virtual uint32Vector & | selectedPoints ()=0
realx3Vector | selectedPointPositions () const

## Static Public Member Functions

static uniquePtr< pStructSelector > | create (const pointStructure &pStruct, const dictionary &dict)
static uniquePtr< pStructSelector > | create (const word &type, const pointStructure &pStruct, const dictionary &dict)

## Protected Attributes

const pointStructure & | pStruct_

## Detailed Description

Definition at line 36 of file pStructSelector.hpp.

## Constructor & Destructor Documentation

## pStructSelector() [1/2]

pStructSelector | ( | const pointStructure & | pStruct,
|  | const dictionary & | UNUSEDdict
| ) |  |

the dictionary contains the selector keyword and another dictionary which is used for creating selector

Definition at line 27 of file pStructSelector.cpp.

## pStructSelector() [2/2]

pStructSelector | ( | const word & | type,
|  | const pointStructure & | pStruct,
|  | const dictionary & | UNUSEDdict
| ) |  |

construct using selector type and a dictionary that contains info of selector

## ~pStructSelector()

virtual ~pStructSelector | ( |  | ) |

virtualdefault

## Member Function Documentation

## TypeInfo()

TypeInfo | ( | "pStructSelector" |  | ) |

## create_vCtor() [1/2]

create_vCtor | ( | pStructSelector | ,
|  | dictionary | ,
|  | (const pointStructure &pStruct, const dictionary &dict) | ,
|  | (pStruct, dict) |
| ) |  |

## create_vCtor() [2/2]

create_vCtor | ( | pStructSelector | ,
|  | word | ,
|  | (const word &type, const pointStructure &pStruct, const dictionary &dict) | ,
|  | (type, pStruct, dict) |
| ) |  |

## pStruct()

const pFlow::pointStructure & pStruct | ( |  | ) | const

Definition at line 45 of file pStructSelector.cpp.

Referenced by selectBox::selectAllPointsInBox(), pFlow::selectedFieldVals(), and selectorStridedRange::selectorStridedRange().

Here is the caller graph for this function:

## selectedPoints() [1/2]

virtual const uint32Vector& selectedPoints | ( |  | ) | const

pure virtual

Implemented in selectorGeometric< GeomType >, selectBox, selectorStridedRange, and selectorRandomPoints.

Referenced by pFlow::selectedFieldVals().

Here is the caller graph for this function:

## selectedPoints() [2/2]

virtual uint32Vector& selectedPoints | ( |  | ) |

pure virtual

Implemented in selectorGeometric< GeomType >, selectBox, selectorStridedRange, and selectorRandomPoints.

## selectedPointPositions()

pFlow::realx3Vector selectedPointPositions | ( |  | ) | const

Definition at line 51 of file pStructSelector.cpp.

References pStruct.

## create() [1/2]

pFlow::uniquePtr< pFlow::pStructSelector > create | ( | const pointStructure & | pStruct,
|  | const dictionary & | dict
| ) |  |

static

Definition at line 71 of file pStructSelector.cpp.

References pFlow::angleBracketsNames(), fatalError, fatalExit, dictionary::getVal(), pFlow::printKeys(), and pStruct.

Referenced by pFlow::applySelector().

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

## create() [2/2]

pFlow::uniquePtr< pFlow::pStructSelector > create | ( | const word & | type,
|  | const pointStructure & | pStruct,
|  | const dictionary & | dict
| ) |  |

static

Definition at line 97 of file pStructSelector.cpp.

References pFlow::angleBracketsNames(), fatalError, fatalExit, pFlow::printKeys(), and pStruct.

Here is the call graph for this function:

## Member Data Documentation

## pStruct_

const pointStructure& pStruct_

protected

Definition at line 40 of file pStructSelector.hpp.

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

- src/phasicFlow/structuredData/pointStructure/selectors/pStructSelector/pStructSelector.hpp
- src/phasicFlow/structuredData/pointStructure/selectors/pStructSelector/pStructSelector.cpp