G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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) More...
 
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. More...
 
template<gsHNeighborhood _mode>
static HContainer markAdmissible (const gsHBox< d, T > &marked, index_t m)
 Performs H-admissible refinement. More...
 
static HContainer markHadmissible (const HContainer &marked, index_t m)
 Performs H-admissible refinement. More...
 
static HContainer markHadmissible (const gsHBox< d, T > &marked, index_t m)
 Performs H-admissible refinement. More...
 
static HContainer markTadmissible (const HContainer &marked, index_t m)
 Performs T-admissible refinement. More...
 
static HContainer markTadmissible (const gsHBox< d, T > &marked, index_t m)
 Performs T-admissible refinement. More...
 
static Container toContainer (const HContainer &container)
 Returns a container representation of the object. More...
 
static Container toUnitBoxes (const HContainer &container)
 Transforms the boxes in container as unit boxes. More...
 
static HContainer toUnitHBoxes (const HContainer &container)
 Transforms the boxes in container as unit boxes. More...
 

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. More...
 

Member Function Documentation

static std::enable_if<_mode==gsHNeighborhood::T || _mode==gsHNeighborhood::H, 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.
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 }
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 }
static 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.
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.
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.
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.
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.
gsHBox< d, T >::Container toContainer ( const HContainer &  container)
static

Returns a container representation of the object.

Returns
Container representation of the object.
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.
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.