Go to the documentation of this file.
20 #ifndef __pointFlag_hpp__
21 #define __pointFlag_hpp__
31 template<
typename ExecutionSpace>
54 using rPolicy = Kokkos::RangePolicy<
56 Kokkos::IndexType<uint32>>;
290 template<
typename ExeSpace>
294 newViewType newFlags(
395 #endif // __pointFlag_hpp__
INLINE_FUNCTION_HD bool isRight(uint8 flg) const
INLINE_FUNCTION_HD bool isBottom(uint8 flg) const
INLINE_FUNCTION_HD uint32 capacity() const
INLINE_FUNCTION_H void reallocFill(ViewType1D< Type, Properties... > &view, uint32 len, Type val)
void fill(Vector< T, Allocator > &vec, const T &val)
INLINE_FUNCTION_HD bool isBoundary(uint8 flg) const
INLINE_FUNCTION_HD bool isFront(uint8 flg) const
INLINE_FUNCTION_HD bool isLeft(uint8 flg) const
bool changeFlags(ViewType1D< uint32, memory_space > changePoints, uint32 boundaryIndex)
ViewType1D< uint32, memory_space > getActivePoints()
uint32 markOutOfBoxDelete(const box &validBox, ViewType1D< realx3, memory_space > points)
Loop over the active points and mark those out of the box and return number of deleted points.
INLINE_FUNCTION_H void copy(const ViewType1D< dType, dProperties... > &dst, const ViewType1D< sType, sProperties... > &src)
INLINE_FUNCTION_HD auto frontSize() const
DefaultHostExecutionSpace execution_space
INLINE_FUNCTION_HD auto numActive() const
INLINE_FUNCTION_HD auto rightSize() const
pointFlag< ExeSpace > clone() const
pointFlag(viewType flags, uint32 numActive, rangeU32 activeRange, bool isAllActive)
ViewType1D< uint8, memory_space > viewType
typename execution_space::memory_space memory_space
Kokkos::RangePolicy< execution_space, Kokkos::IndexType< uint32 > > rPolicy
INLINE_FUNCTION_HD bool isActive(uint32 i) const
uint32 markDelete(const plane &pln, ViewType1D< realx3, memory_space > points, ViewType1D< uint32, memory_space > indices, ViewType1D< uint32, memory_space > onOff)
uint32 markPointRegions(domain dm, ViewType1D< realx3, memory_space > points, real leftLength, real rightLength, real bottomLength, real topLength, real rearLength, real frontLength)
mark points based on their position in the domain.
uint32 addInternalPoints(const ViewType1D< uint32, memory_space > &points)
INLINE_FUNCTION_HD T numElements()
INLINE_FUNCTION_HD bool isAllActive() const
void fillNeighborsLists(ViewType1D< uint32, memory_space > leftList, ViewType1D< uint32, memory_space > rightList, ViewType1D< uint32, memory_space > bottomList, ViewType1D< uint32, memory_space > topList, ViewType1D< uint32, memory_space > rearList, ViewType1D< uint32, memory_space > frontList)
fill the lists for boundary faces.
INLINE_FUNCTION_HD bool isRear(uint8 flg) const
INLINE_FUNCTION_HD bool isTop(uint8 flg) const
pointFlag & operator=(const pointFlag &)=default
uint8 getBoundaryFlag(uint32 index) const
const INLINE_FUNCTION_HD auto & activeRange() const
INLINE_FUNCTION_HD auto topSize() const
INLINE_FUNCTION_HD bool operator()(uint32 i) const
Kokkos::View< T *, properties... > ViewType1D
1D veiw as a vector
void resetFlags(uint32 cap, uint32 start, uint32 end)
ViewType1D< uint32, memory_space > getEmptyPoints(uint32 numToGet) const
uint32 changeCapacity(uint32 reqEmptySpots)
INLINE_FUNCTION_HD auto bottomSize() const
INLINE_FUNCTION_HD auto rearSize() const
typename viewType::device_type device_type
#define INLINE_FUNCTION_HD
pointFlag(uint32 capacity, uint32 start, uint32 end)
bool deletePoints(scatteredFieldAccess< uint32, memory_space > points)
INLINE_FUNCTION_HD auto leftSize() const