dune-grid-glue  2.3.0
Static Public Member Functions | List of all members
Projection::EdgeIntersectionHelper< dim, dimworld, T > Class Template Reference

Helper class that provides static methods for the computation of the intersection of surface element edges projected onto each other. More...

#include <dune/grid-glue/common/projectionhelper.hh>

Static Public Member Functions

static void addEdgeIntersections (const std::vector< WorldCoords > &corners1, const std::vector< WorldCoords > &corners2, const std::vector< WorldCoords > &directions1, const Dune::GeometryType &gt1, Dune::GeometryType &gt2, std::vector< Dune::array< LocalCoords, 2 > > &polygonCorners, const std::vector< int > &hitCorners, std::bitset<(1<< dim)> &neighborIntersects1, std::bitset<(1<< dim)> &neighborIntersects2, const T overlap=1e-1)
 Compute the projection along given directions of surface element edges onto target edges. More...
 

Detailed Description

template<int dim, int dimworld, class T>
class Projection::EdgeIntersectionHelper< dim, dimworld, T >

Helper class that provides static methods for the computation of the intersection of surface element edges projected onto each other.

Member Function Documentation

template<int dim, int dimworld, class T >
static void Projection::EdgeIntersectionHelper< dim, dimworld, T >::addEdgeIntersections ( const std::vector< WorldCoords > &  corners1,
const std::vector< WorldCoords > &  corners2,
const std::vector< WorldCoords > &  directions1,
const Dune::GeometryType &  gt1,
Dune::GeometryType &  gt2,
std::vector< Dune::array< LocalCoords, 2 > > &  polygonCorners,
const std::vector< int > &  hitCorners,
std::bitset<(1<< dim)> &  neighborIntersects1,
std::bitset<(1<< dim)> &  neighborIntersects2,
const T  overlap = 1e-1 
)
inlinestatic

Compute the projection along given directions of surface element edges onto target edges.

Parameters
corners1The coordinates of the surface element corners whose edges are projected.
corners2The coordinates of the surface element corners on which is projected.
directions1The directions along which the projection is done.
gt1The geometry type of the projected surface element.
gt2The geometry type of the target surface element.
polygonCornersIf intersection points are found their local coordinates are added to this vector.
hitCornersVector containing information on which surface element corners are projected on each other.
neighborIntersects1If two edges intersect then the corresponding surface element neighbors also intersect. This information for the projected surface element is stored in the bitfield.
neighborIntersects2If two edges intersect then the corresponding surface element neighbors also intersect. This information for the surface element on which is projected is stored in the bitfield.
overlapThe amount of overlap that is allowed, i.e. projection among the opposite direction is valid if the scaling is smaller than overlap.

Referenced by Projection::addEdgeIntersections().


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