dune-grid-glue  2.3.0
Classes | Namespaces | Functions
projectionhelper.hh File Reference
#include <bitset>
#include <dune/common/array.hh>
#include <dune/common/fvector.hh>
#include <dune/common/fmatrix.hh>

Go to the source code of this file.

Classes

class  Projection::ProjectionHelper< dim, dimworld, T >
 Helper class that provides static methods to compute the projection and inverse projection of a point along some given directions. More...
 
class  Projection::ProjectionHelper< 2, 3, T >
 
class  Projection::ProjectionHelper< 1, 2, 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. More...
 
class  Projection::EdgeIntersectionHelper< 1, 2, T >
 
class  Projection::EdgeIntersectionHelper< 2, 3, T >
 

Namespaces

 Projection
 This namespace contains helper functions for the projection of two triangular surface on each other.
 

Functions

template<class T , int dim>
static Dune::FieldVector< T, dim > Projection::crossProduct (const Dune::FieldVector< T, dim > &a, const Dune::FieldVector< T, dim > &b)
 Compute the cross product of two vectors. More...
 
template<int dim, int dimworld, class T >
static bool Projection::projection (const Dune::FieldVector< T, dimworld > &corner, const Dune::FieldVector< T, dimworld > &direction, const std::vector< Dune::FieldVector< T, dimworld > > &targetCorners, Dune::FieldVector< T, dim > &image, const T overlap=1e-1)
 Compute the projection of a point along a given direction into the convex hull of some target points. More...
 
template<int dim, int dimworld, class T >
static bool Projection::inverseProjection (const std::vector< Dune::FieldVector< T, dimworld > > &corners, const std::vector< Dune::FieldVector< T, dimworld > > &directions, const Dune::FieldVector< T, dimworld > &target, Dune::FieldVector< T, dim > &preImage, const T overlap=1e-1)
 Compute the inverse projection of a point onto some surface element where the projection is done across directions which are associated to corners of an surface element. More...
 
template<int dim, int dimworld, class T = double>
static void Projection::addEdgeIntersections (const std::vector< Dune::FieldVector< T, dimworld > > &corners1, const std::vector< Dune::FieldVector< T, dimworld > > &corners2, const std::vector< Dune::FieldVector< T, dimworld > > &directions1, const Dune::GeometryType &gt1, const Dune::GeometryType &gt2, std::vector< Dune::array< Dune::FieldVector< T, dim >, 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...