version 3.9-dev
Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB > Class Template Reference

An intersection object resulting from the intersection of two primitives in an entity set. More...

#include <dumux/geometry/intersectingentities.hh>

Description

template<int dimworld, class CoordTypeA, class CoordTypeB = CoordTypeA>
class Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB >
Note
this is used as return type for some of the intersectingEntities overloads below

Public Types

using ctype = typename Dune::PromotionTraits< CoordTypeA, CoordTypeB >::PromotedType
 
using GlobalPosition = Dune::FieldVector< ctype, dimworld >
 

Public Member Functions

template<class Corners >
 IntersectionInfo (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...
 
const 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...
 

Static Public Attributes

static constexpr int dimensionworld = dimworld
 

Member Typedef Documentation

◆ ctype

template<int dimworld, class CoordTypeA , class CoordTypeB = CoordTypeA>
using Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB >::ctype = typename Dune::PromotionTraits<CoordTypeA, CoordTypeB>::PromotedType

◆ GlobalPosition

template<int dimworld, class CoordTypeA , class CoordTypeB = CoordTypeA>
using Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB >::GlobalPosition = Dune::FieldVector<ctype, dimworld>

Constructor & Destructor Documentation

◆ IntersectionInfo()

template<int dimworld, class CoordTypeA , class CoordTypeB = CoordTypeA>
template<class Corners >
Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB >::IntersectionInfo ( std::size_t  a,
std::size_t  b,
Corners &&  c 
)
inlineexplicit

Member Function Documentation

◆ corners()

template<int dimworld, class CoordTypeA , class CoordTypeB = CoordTypeA>
const std::vector< GlobalPosition > & Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB >::corners ( ) const
inline

◆ cornersMatch()

template<int dimworld, class CoordTypeA , class CoordTypeB = CoordTypeA>
bool Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB >::cornersMatch ( const std::vector< GlobalPosition > &  otherCorners) const
inline
Note
This is useful to check if the intersection geometry of two intersections coincide.

◆ first()

template<int dimworld, class CoordTypeA , class CoordTypeB = CoordTypeA>
std::size_t Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB >::first ( ) const
inline

◆ second()

template<int dimworld, class CoordTypeA , class CoordTypeB = CoordTypeA>
std::size_t Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB >::second ( ) const
inline

Member Data Documentation

◆ dimensionworld

template<int dimworld, class CoordTypeA , class CoordTypeB = CoordTypeA>
constexpr int Dumux::IntersectionInfo< dimworld, CoordTypeA, CoordTypeB >::dimensionworld = dimworld
staticconstexpr

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