3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Member Functions | List of all members
Dumux::BoundingBoxTreeIntersection< EntitySet0, EntitySet1 > Class Template Reference

An intersection object resulting from the intersection of two bounding box tree primitives. More...

#include <dumux/common/geometry/boundingboxtreeintersection.hh>

Description

template<class EntitySet0, class EntitySet1>
class Dumux::BoundingBoxTreeIntersection< EntitySet0, EntitySet1 >

An intersection object resulting from the intersection of two bounding box tree primitives.

After is has been found that two leaf bounding boxes intersect a primitive test has to be performed to see if the actual entities inside the bounding box intersect too. The result if such an intersection is found as an object of this class containing the indices of the intersecting entities and the corners of the intersection object.

Public Member Functions

template<class Corners >
 BoundingBoxTreeIntersection (std::size_t a, std::size_t b, Corners &&c)
 
std::size_t first () const
 Get the index of the intersecting entity belonging to this grid. More...
 
std::size_t second () const
 Get the index of the intersecting entity belonging to the other grid. More...
 
std::vector< GlobalPosition > corners () const
 Get the corners of the intersection geometry. More...
 
bool cornersMatch (const std::vector< GlobalPosition > &otherCorners) const
 Check if the corners of this intersection match with the given corners. More...
 

Constructor & Destructor Documentation

◆ BoundingBoxTreeIntersection()

template<class EntitySet0 , class EntitySet1 >
template<class Corners >
Dumux::BoundingBoxTreeIntersection< EntitySet0, EntitySet1 >::BoundingBoxTreeIntersection ( std::size_t  a,
std::size_t  b,
Corners &&  c 
)
inlineexplicit

Member Function Documentation

◆ corners()

template<class EntitySet0 , class EntitySet1 >
std::vector< GlobalPosition > Dumux::BoundingBoxTreeIntersection< EntitySet0, EntitySet1 >::corners ( ) const
inline

Get the corners of the intersection geometry.

◆ cornersMatch()

template<class EntitySet0 , class EntitySet1 >
bool Dumux::BoundingBoxTreeIntersection< EntitySet0, EntitySet1 >::cornersMatch ( const std::vector< GlobalPosition > &  otherCorners) const
inline

Check if the corners of this intersection match with the given corners.

Note
This is useful to check if the intersection geometry of two intersections coincide.

◆ first()

template<class EntitySet0 , class EntitySet1 >
std::size_t Dumux::BoundingBoxTreeIntersection< EntitySet0, EntitySet1 >::first ( ) const
inline

Get the index of the intersecting entity belonging to this grid.

◆ second()

template<class EntitySet0 , class EntitySet1 >
std::size_t Dumux::BoundingBoxTreeIntersection< EntitySet0, EntitySet1 >::second ( ) const
inline

Get the index of the intersecting entity belonging to the other grid.


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