template<int d, class T>
class gismo::gsHBox< d, T >
This class provides a Hierarchical Box (gsHBox)
A gsHBox is a 'smart' object that represents an element or multiple elements in a mesh. It closely relates to the element definition used in gsHTensorBasis::asElements. Using the gsHBox as an element, it can provide its parent and its children on other levels, its support extensions and its refinement neighborhoods. Furthermore, the gsHBox has functions to check if it is equal to or contained in other gsHBoxes.
The gsHBoxContainer is a container of gsHBoxes, that can be used to perform operations on multiple gsHBoxes. Furthermore, it is an object that can be used to store neighborhoods. Other containers are the gsHBox::Container or the gsHBoxSortedContainer.
Operations such as domain intersections, unions, or the sorting of gsHBoxContainers are provided in gsHBoxUtils.
- Template Parameters
-
d | Domain dimension |
T | Real type |
|
void | clean (Container &container) const |
| Cleans the container from bad elements (see good()) More...
|
|
void | computeCenter () const |
| Computes the center of this.
|
|
void | computeCoordinates () const |
| Computes the parametric coordinates of this.
|
|
bool | contains (const gsHBox< d, T > &other) const |
| Checks if the other cell is contains in this cell. More...
|
|
T | error () const |
| Gets the error stored in the object. More...
|
|
gsHBox< d, T > | getAncestor (index_t k) const |
| Gets the ancestor of the object on level k. More...
|
|
T | getCellSize () const |
| Return the diagonal of the element.
|
|
const gsMatrix< T > & | getCenter () const |
| Gets the center of the box. More...
|
|
Container | getCextension (index_t m) |
| Gets the Coarsening extension, which is the coarsening neighborhood before checking for active elements. More...
|
|
Container | getChildren () const |
| Gets the children of the object. More...
|
|
Container | getCneighborhood (index_t m) |
| Gets the Coarsening neighborhood. More...
|
|
const gsMatrix< T > & | getCoordinates () const |
| Gets the coordinates of the box (first column lower corner, second column higher corner). More...
|
|
Container | getDescendants (index_t k) const |
| Gets the descendants of the object on level k. More...
|
|
Container | getHneighborhood (index_t m) |
| Gets the H-neighborhood. More...
|
|
T | getMaxCellLength () const |
| Return the length of the largest edge of the element.
|
|
T | getMinCellLength () const |
| Return the length of the smallest edge of the element.
|
|
Container | getMultiLevelSupportExtension (index_t k) |
| Gets the multi-level support extension. More...
|
|
template<gsHNeighborhood _mode> |
gsHBox< d, T >::Container | getNeighborhood (index_t m) |
| Gets the neighborhood. More...
|
|
Container | getNeighborhood (index_t m) |
| Gets the refinement neighborhood. Returns either the H- or T-neighborhood, depending on the underlying basis. More...
|
|
gsHBox< d, T > | getParent () const |
| Gets the parent of the object. More...
|
|
Container | getSupportExtension () |
| Gets the support extension. More...
|
|
Container | getTneighborhood (index_t m) |
| Gets the T-neighborhood. More...
|
|
bool | good () const |
| Checks if the box has positive indices. More...
|
|
| gsHBox () |
| Default constructor.
|
|
| gsHBox (const gsHDomainIterator< T, d > *domHIt) |
| Constructs a gsHBox from a domain iterator. More...
|
|
| gsHBox (const gsHDomainIterator< T, d > *domHIt, const index_t pid) |
| Constructs a gsHBox from a domain iterator. More...
|
|
| gsHBox (const typename gsHBox< d, T >::point &low, const typename gsHBox< d, T >::point &upp, index_t level, const gsHTensorBasis< d, T > *basis, const index_t pid=-1) |
| Constructs a gsHBox from an element. More...
|
|
| gsHBox (const gsAABB< d, index_t > &box, const gsHTensorBasis< d, T > *basis, const index_t pid=-1) |
| Constructs a gsHBox from an element. More...
|
|
| gsHBox (const std::vector< index_t > &indices, const gsHTensorBasis< d, T > *basis, const index_t pid=-1) |
| Constructs a gsHBox from an element. More...
|
|
| gsHBox (const gsHBox< d, T > &other) |
| Copy constructor (makes deep copy)
|
|
| gsHBox (gsHBox< d, T > &&other) |
| Move constructor.
|
|
index_t | index () const |
| Gets the index stored in the object. More...
|
|
bool | isActive () const |
| Determines if the box is active on its current level. More...
|
|
bool | isActiveOrContained () const |
| Determines if active or contained in the active elemebt. In other words; checks if the level of this box is higher or equal to the level of the mesh here. More...
|
|
bool | isContained (const gsHBox< d, T > &other) const |
| Checks if the other cell is contained in this cell. More...
|
|
bool | isSame (const gsHBox< d, T > &other) const |
| Determines whether the this box is the same as the other box. More...
|
|
index_t | level () const |
| Gets the level of the object. More...
|
|
index_t | levelInCenter () const |
| Gets the level in the center of the object. More...
|
|
gsVector< T, d > | lowerCorner () const |
| Gets the lower corner of the box. More...
|
|
const point & | lowerIndex () const |
| Gets the lower index of the box. More...
|
|
void | mark () |
| Marks this element for refinement.
|
|
bool | marked () const |
| Returns whether the element is marked or not. More...
|
|
gsHBox< d, T > & | operator= (const gsHBox< d, T > &other) |
| Assignment operator.
|
|
gsHBox< d, T > & | operator= (gsHBox< d, T > &&other) |
| Move assignment operator.
|
|
index_t | patch () const |
| Gets the patch ID of the object. More...
|
|
std::ostream & | print (std::ostream &os) const |
| Prints the object.
|
|
T | projectedErrorCrs () const |
| The error contribution of *this when it is coarsened. More...
|
|
T | projectedErrorRef () const |
| The error contribution of *this when it is refined. More...
|
|
T | projectedImprovement () const |
| Gives the projected improvement that can be expected for this. More...
|
|
T | projectedSetBack () const |
| Gives the projected set-back that can be expected for this. More...
|
|
void | setAndProjectError (T error, index_t alpha=2, index_t beta=0) |
| Sets the error of the object and compute the projection of the error on a finer mesh. The projection is performed based on a theoretical rate of convergence of alpha*p+beta.
|
|
void | setError (T error) |
| Sets the error of the object.
|
|
void | setIndex (index_t index) |
| Assigns an index to the object.
|
|
void | setMark (bool mark) |
| Sets the mark. More...
|
|
RefBox | toBox () const |
| Returns a box representation of the object. More...
|
|
Container | toContainer () |
| Returns a container representation of the object. More...
|
|
RefBox | toCrsBox (index_t targetLevel) const |
| Returns a box representation of the object on the higher level (needed for coarsening). More...
|
|
HContainer | toHContainer () |
| Returns a hierarchical container representation of the object. More...
|
|
RefBox | toRefBox (index_t targetLevel) const |
| Returns a box representation of the object on the lower level (needed for refinement). More...
|
|
Container | toUnitBoxes () const |
| Returns unit boxes representation of the object. More...
|
|
void | unmark () |
| Unmarks this element for refinement.
|
|
gsVector< T, d > | upperCorner () const |
| Gets the upper corner of the box. More...
|
|
const point & | upperIndex () const |
| Gets the upper index of the box. More...
|
|