Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::AMRPatchPositionLevelGroup Class Reference

Class allowing storage of patches by level. More...

#include <arcane/cartesianmesh/internal/AMRPatchPositionLevelGroup.h>

Collaboration diagram for Arcane::AMRPatchPositionLevelGroup:

Public Member Functions

 AMRPatchPositionLevelGroup (Int32 max_level)
Int32 maxLevel () const
ConstArrayView< AMRPatchPositionpatches (Int32 level)
void addPatch (const AMRPatchPosition &patch)
void fusionPatches (Int32 level)
 Method allowing the merging of all patches of a certain level that can be merged.

Static Public Member Functions

static void fusionPatches (UniqueArray< AMRPatchPosition > &patch_position, bool remove_null)
 Method allowing the merging of a maximum number of patches from the array passed as a parameter.

Private Attributes

Int32 m_max_level
UniqueArray< UniqueArray< AMRPatchPosition > > m_patches

Detailed Description

Class allowing storage of patches by level.

Note: this class is used during patch construction, a level 0 patch actually designates a future level 1 patch.

Definition at line 36 of file AMRPatchPositionLevelGroup.h.

Constructor & Destructor Documentation

◆ AMRPatchPositionLevelGroup()

Arcane::AMRPatchPositionLevelGroup::AMRPatchPositionLevelGroup ( Int32 max_level)
explicit

Definition at line 29 of file AMRPatchPositionLevelGroup.cc.

Member Function Documentation

◆ addPatch()

void Arcane::AMRPatchPositionLevelGroup::addPatch ( const AMRPatchPosition & patch)

Definition at line 62 of file AMRPatchPositionLevelGroup.cc.

◆ fusionPatches() [1/2]

void Arcane::AMRPatchPositionLevelGroup::fusionPatches ( Int32 level)

Method allowing the merging of all patches of a certain level that can be merged.

Parameters
levelThe level to merge.

Definition at line 71 of file AMRPatchPositionLevelGroup.cc.

References fusionPatches().

Referenced by fusionPatches().

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

◆ fusionPatches() [2/2]

void Arcane::AMRPatchPositionLevelGroup::fusionPatches ( UniqueArray< AMRPatchPosition > & patch_position,
bool remove_null )
static

Method allowing the merging of a maximum number of patches from the array passed as a parameter.

Parameters
patch_position[IN/OUT] The array of patches.
remove_nullShould null patches be removed?

Definition at line 80 of file AMRPatchPositionLevelGroup.cc.

References Arcane::Array< T >::begin(), Arcane::Array< T >::end(), Arcane::AMRPatchPosition::fusion(), Arcane::AMRPatchPosition::isNull(), Arcane::Array< T >::remove(), and Arcane::AbstractArray< T >::size().

Here is the call graph for this function:

◆ maxLevel()

Int32 Arcane::AMRPatchPositionLevelGroup::maxLevel ( ) const

Definition at line 44 of file AMRPatchPositionLevelGroup.cc.

◆ patches()

ConstArrayView< AMRPatchPosition > Arcane::AMRPatchPositionLevelGroup::patches ( Int32 level)

Definition at line 53 of file AMRPatchPositionLevelGroup.cc.

Member Data Documentation

◆ m_max_level

Int32 Arcane::AMRPatchPositionLevelGroup::m_max_level
private

Definition at line 66 of file AMRPatchPositionLevelGroup.h.

◆ m_patches

UniqueArray<UniqueArray<AMRPatchPosition> > Arcane::AMRPatchPositionLevelGroup::m_patches
private

Definition at line 67 of file AMRPatchPositionLevelGroup.h.


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