G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsHBoxUtils< d, T > Struct Template Reference

Detailed Description

template<short_t d, class T>
struct gismo::gsHBoxUtils< d, T >

The gsHBoxUtils provide basic utilities to modify HBoxes.

The gsHBoxUtils work on gsHBox objects and gsHBoxContainer objects. Other containers such as the gsHBox::Container (a vector of gsHBox) or gsHBox::SortedContainer can also be used. The gsHBox::HContainer is a container that stores gsHBox per level.

Template Parameters
dDomain dimension
TReal type

Static Public Member Functions

static gsHBox< d, T >::Container ExactIntersection (const Container &container1, const Container &container2)
 Performs an intersection; only keeps the boxes that are EXACTLY the same (also level is the same)
 
static gsHBox< d, T >::Container Intersection (const Container &container1, const Container &container2)
 Performs an intersection. Keeps the smallest boxes in overlapping regions, can also intersect partial boxes.
 
template<gsHNeighborhood _mode>
static HContainer markAdmissible (const gsHBox< d, T > &marked, index_t m)
 Performs H-admissible refinement.
 
static HContainer markHadmissible (const gsHBox< d, T > &marked, index_t m)
 Performs H-admissible refinement.
 
static HContainer markHadmissible (const HContainer &marked, index_t m)
 Performs H-admissible refinement.
 
static HContainer markTadmissible (const gsHBox< d, T > &marked, index_t m)
 Performs T-admissible refinement.
 
static HContainer markTadmissible (const HContainer &marked, index_t m)
 Performs T-admissible refinement.
 
static Container toContainer (const HContainer &container)
 Returns a container representation of the object.
 
static Container toUnitBoxes (const HContainer &container)
 Transforms the boxes in container as unit boxes.
 
static HContainer toUnitHBoxes (const HContainer &container)
 Transforms the boxes in container as unit boxes.
 

Static Protected Member Functions

template<gsHNeighborhood _mode>
static std::enable_if< _mode==gsHNeighborhood::T||_mode==gsHNeighborhood::H, HContainer >::type _markRecursive (const HContainer &marked, index_t lvl, index_t m)
 Marks Recursively.
 

Member Function Documentation

◆ _markRecursive()

template<short_t d, class T >
template<gsHNeighborhood _mode>
std::enable_if< _mode!=gsHNeighborhood::T &&_mode!=gsHNeighborhood::H, typenamegsHBoxUtils< d, T >::HContainer >::type _markRecursive ( const HContainer &  marked,
index_t  lvl,
index_t  m 
)
staticprotected

Marks Recursively.

Parameters
markedThe marked boxes
[in]lvlThe level
[in]mThe jump parameter
Template Parameters
_modesee gsHNeighborhood for T or H
Returns
The resulting hierarchical container.

◆ ExactIntersection()

template<short_t d, class T >
gsHBox< d, T >::Container ExactIntersection ( const Container &  container1,
const Container &  container2 
)
static

Performs an intersection; only keeps the boxes that are EXACTLY the same (also level is the same)

Parameters
[in]container1The first container
[in]container2The second container
Template Parameters
dDomain dimension
TReal type
Returns
{ description_of_the_return_value }
Parameters
[in]container1The container 1
[in]container2The container 2
Template Parameters
d{ description }
T{ description }
Returns
{ description_of_the_return_value }

◆ Intersection()

template<short_t d, class T >
gsHBox< d, T >::Container Intersection ( const Container &  container1,
const Container &  container2 
)
static

Performs an intersection. Keeps the smallest boxes in overlapping regions, can also intersect partial boxes.

Parameters
[in]container1The first container
[in]container2The second container
Template Parameters
dDomain dimension
TReal type
Returns
The intersection of two containers
Parameters
[in]container1The container 1
[in]container2The container 2
Template Parameters
d{ description }
T{ description }
Returns
{ description_of_the_return_value }

◆ markAdmissible()

template<short_t d, class T >
template<gsHNeighborhood _mode>
gsHBoxUtils< d, T >::HContainer markAdmissible ( const gsHBox< d, T > &  marked,
index_t  m 
)
static

Performs H-admissible refinement.

Parameters
markedThe marked boxes
[in]mThe jump parameter
Returns
The resulting hierarchical container.

◆ markHadmissible() [1/2]

template<short_t d, class T >
gsHBoxUtils< d, T >::HContainer markHadmissible ( const gsHBox< d, T > &  marked,
index_t  m 
)
static

Performs H-admissible refinement.

Parameters
markedThe marked boxes
[in]mThe jump parameter
Returns
The resulting hierarchical container.

◆ markHadmissible() [2/2]

template<short_t d, class T >
gsHBoxUtils< d, T >::HContainer markHadmissible ( const HContainer &  marked,
index_t  m 
)
static

Performs H-admissible refinement.

Parameters
markedThe marked boxes
[in]mThe jump parameter
Returns
The resulting hierarchical container.

◆ markTadmissible() [1/2]

template<short_t d, class T >
gsHBoxUtils< d, T >::HContainer markTadmissible ( const gsHBox< d, T > &  marked,
index_t  m 
)
static

Performs T-admissible refinement.

Parameters
markedThe marked boxes
[in]mThe jump parameter
Returns
The resulting hierarchical container.

◆ markTadmissible() [2/2]

template<short_t d, class T >
gsHBoxUtils< d, T >::HContainer markTadmissible ( const HContainer &  marked,
index_t  m 
)
static

Performs T-admissible refinement.

Parameters
markedThe marked boxes
[in]mThe jump parameter
Returns
The resulting hierarchical container.

◆ toContainer()

template<short_t d, class T >
gsHBox< d, T >::Container toContainer ( const HContainer &  container)
static

Returns a container representation of the object.

Returns
Container representation of the object.

◆ toUnitBoxes()

template<short_t d, class T >
gsHBox< d, T >::Container toUnitBoxes ( const HContainer &  container)
static

Transforms the boxes in container as unit boxes.

Parameters
[in]containerA hierarchical container of boxes
Returns
A hierarchical container containing the unit boxes.

◆ toUnitHBoxes()

template<short_t d, class T >
gsHBox< d, T >::HContainer toUnitHBoxes ( const HContainer &  container)
static

Transforms the boxes in container as unit boxes.

Parameters
[in]containerA hierarchical container of boxes
Returns
A hierarchical container containing the unit boxes.