44 template<
short_t d,
class T>
48 typedef typename gsHBox<d,T>::Container Container;
49 typedef typename gsHBox<d,T>::SortedContainer SortedContainer;
50 typedef typename gsHBox<d,T>::HContainer HContainer;
51 typedef typename gsHBox<d,T>::Iterator Iterator;
52 typedef typename gsHBox<d,T>::cIterator cIterator;
53 typedef typename gsHBox<d,T>::rIterator rIterator;
54 typedef typename gsHBox<d,T>::HIterator HIterator;
55 typedef typename gsHBox<d,T>::cHIterator cHIterator;
56 typedef typename gsHBox<d,T>::rHIterator rHIterator;
59 static typename gsHBox<d, T>::SortedContainer Sort(
const Container & container);
60 static typename gsHBox<d, T>::Container Unique(
const Container & container);
61 static typename gsHBox<d, T>::HContainer Unique(
const HContainer & container);
64 static typename gsHBox<d, T>::Container Union(
const Container & container1,
const Container & container2);
65 static typename gsHBox<d, T>::HContainer Union(
const HContainer & container1,
const HContainer & container2);
68 static typename gsHBox<d, T>::Container Difference(
const Container & container1,
const Container & container2);
69 static typename gsHBox<d, T>::HContainer Difference(
const HContainer & container1,
const HContainer & container2);
82 static typename gsHBox<d, T>::Container
Intersection(
const Container & container1,
const Container & container2);
83 static typename gsHBox<d, T>::Container ContainedIntersection(
const Container & container1,
const Container & container2);
95 static typename gsHBox<d, T>::Container
ExactIntersection(
const Container & container1,
const Container & container2);
98 static Container HContainer2Container(
const HContainer & container );
99 static HContainer Container2HContainer(
const Container & container );
106 static Container
toContainer(
const HContainer & container);
115 static Container
toUnitBoxes(
const HContainer & container);
124 static HContainer
toUnitHBoxes(
const HContainer & container);
174 template<gsHNeighborhood _mode>
176 template<gsHNeighborhood _mode>
182 static bool allActive(
const Container & elements);
183 static bool allActive(
const HContainer & elements);
199 template<gsHNeighborhood _mode>
201 typename std::enable_if<_mode==gsHNeighborhood::T || _mode==gsHNeighborhood::H, HContainer>::type
204 template<gsHNeighborhood _mode>
206 typename std::enable_if<_mode!=gsHNeighborhood::T && _mode!=gsHNeighborhood::H, HContainer>::type
210 template <
short_t d,
class T>
216 template <
short_t d,
class T>
219 bool operator()(
const gsHBox<d,T> & a,
const gsHBox<d,T> & b)
const;
228 template <
short_t d,
class T>
229 struct gsHBoxContains
231 bool operator()(
const gsHBox<d,T> & a,
const gsHBox<d,T> & b)
const;
234 template <
short_t d,
class T>
235 struct gsHBoxIsContained
237 bool operator()(
const gsHBox<d,T> & a,
const gsHBox<d,T> & b)
const;
243 #ifndef GISMO_BUILD_LIB
244 #include GISMO_HPP_HEADER(gsHBoxUtils.hpp)
static std::enable_if< _mode==gsHNeighborhood::T||_mode==gsHNeighborhood::H, HContainer >::type _markRecursive(const HContainer &marked, index_t lvl, index_t m)
Marks Recursively.
static Container toUnitBoxes(const HContainer &container)
Transforms the boxes in container as unit boxes.
Definition: gsHBoxUtils.hpp:366
static Container toContainer(const HContainer &container)
Returns a container representation of the object.
Definition: gsHBoxUtils.hpp:352
This class provides a Hierarchical Box (gsHBox)
Definition: gsHBox.h:54
#define index_t
Definition: gsConfig.h:32
static HContainer markTadmissible(const HContainer &marked, index_t m)
Performs T-admissible refinement.
Definition: gsHBoxUtils.hpp:401
The Hierarchical Box Container provides a container for gsHBox objects.
Definition: gsHBoxContainer.h:39
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...
Definition: gsHBoxUtils.hpp:214
static HContainer markAdmissible(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.
Definition: gsHBoxUtils.hpp:414
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) ...
Definition: gsHBoxUtils.hpp:273
gsHNeighborhood
The gsHNeighborhood is a struct that classifies the type of admissible refinement.
Definition: gsHBoxUtils.h:25
static HContainer toUnitHBoxes(const HContainer &container)
Transforms the boxes in container as unit boxes.
Definition: gsHBoxUtils.hpp:383
The gsHBoxUtils provide basic utilities to modify HBoxes.
Definition: gsHBoxUtils.h:45