Peano
Loading...
Searching...
No Matches
LinkedGrid< _Geo, SPLIT_FACTOR, Derived > Class Template Reference

#include <linked_grid.h>

Inheritance diagram for LinkedGrid< _Geo, SPLIT_FACTOR, Derived >:

Public Types

using Geo = _Geo

Public Member Functions

 LinkedGrid ()=default
 LinkedGrid (Geo::Region range, Derived *parent=nullptr, Geo::RowMajorIdx idx=typename Geo::RowMajorIdx(0), int level=0)
 LinkedGrid (LinkedGrid &&other) noexcept
LinkedGridoperator= (LinkedGrid &&other) noexcept
void split (u32 splitLevel=1)
Derived * getRoot ()
Derived * getChild (const Geo::Point &p)
u32 getSiblingIdx () const
Derived * getNextSibling ()

Static Public Member Functions

static constexpr u32 getMaxChildren ()

Data Fields

Derived * parent = nullptr
Derived * subtrees = nullptr
Geo::Region range = typename Geo::Region()
Geo::RowMajorIdx idx = typename Geo::RowMajorIdx(0)
unsigned int level = 0

Static Public Attributes

static constexpr u32 SplitFactor = SPLIT_FACTOR

Private Member Functions

_Geo::RowMajorIdx getChildIdx (int linearSpaceChildIdx) const
void moveOp (LinkedGrid &&other)

Static Private Member Functions

static _Geo::RowMajorIdx getIdxForLinearSpaceIdx (u32 linearSpaceIdx)

Detailed Description

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
requires (SPLIT_FACTOR > 1)
class LinkedGrid< _Geo, SPLIT_FACTOR, Derived >

Definition at line 8 of file linked_grid.h.

Member Typedef Documentation

◆ Geo

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
using LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::Geo = _Geo

Definition at line 44 of file linked_grid.h.

Constructor & Destructor Documentation

◆ LinkedGrid() [1/3]

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::LinkedGrid ( )
default

◆ LinkedGrid() [2/3]

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::LinkedGrid ( Geo::Region range,
Derived * parent = nullptr,
Geo::RowMajorIdx idx = typename Geo::RowMajorIdx(0),
int level = 0 )
explicit

Definition at line 58 of file linked_grid.h.

◆ LinkedGrid() [3/3]

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::LinkedGrid ( LinkedGrid< _Geo, SPLIT_FACTOR, Derived > && other)
noexcept

Definition at line 67 of file linked_grid.h.

Member Function Documentation

◆ getChild()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
Derived * LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::getChild ( const Geo::Point & p)

Definition at line 102 of file linked_grid.h.

◆ getChildIdx()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
_Geo::RowMajorIdx LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::getChildIdx ( int linearSpaceChildIdx) const
private

Definition at line 19 of file linked_grid.h.

◆ getIdxForLinearSpaceIdx()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
_Geo::RowMajorIdx LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::getIdxForLinearSpaceIdx ( u32 linearSpaceIdx)
staticprivate

Definition at line 9 of file linked_grid.h.

◆ getMaxChildren()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
constexpr u32 LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::getMaxChildren ( )
staticconstexpr

Definition at line 63 of file linked_grid.h.

Referenced by LinkedGrid< Geo, 2, Grid >::moveOp().

Here is the caller graph for this function:

◆ getNextSibling()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
Derived * LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::getNextSibling ( )

Definition at line 113 of file linked_grid.h.

◆ getRoot()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
Derived * LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::getRoot ( )

Definition at line 96 of file linked_grid.h.

◆ getSiblingIdx()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
u32 LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::getSiblingIdx ( ) const

Definition at line 108 of file linked_grid.h.

◆ moveOp()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
void LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::moveOp ( LinkedGrid< _Geo, SPLIT_FACTOR, Derived > && other)
private

Definition at line 25 of file linked_grid.h.

◆ operator=()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
LinkedGrid & LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::operator= ( LinkedGrid< _Geo, SPLIT_FACTOR, Derived > && other)
noexcept

Definition at line 71 of file linked_grid.h.

◆ split()

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
void LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::split ( u32 splitLevel = 1)

Definition at line 76 of file linked_grid.h.

Referenced by DomainDecomposition< Geo >::DomainDecomposition().

Here is the caller graph for this function:

Field Documentation

◆ idx

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
Geo::RowMajorIdx LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::idx = typename Geo::RowMajorIdx(0)

◆ level

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
unsigned int LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::level = 0

◆ parent

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
Derived* LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::parent = nullptr

◆ range

◆ SplitFactor

template<typename _Geo, u32 SPLIT_FACTOR, typename Derived>
u32 LinkedGrid< _Geo, SPLIT_FACTOR, Derived >::SplitFactor = SPLIT_FACTOR
staticconstexpr

Definition at line 46 of file linked_grid.h.

◆ subtrees


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