|
class | Dumux::BoundingBoxTree< GeometricEntitySet > |
| An axis-aligned bounding box volume tree implementation. More...
|
|
class | Dumux::BoundingBoxTreeIntersection< EntitySet0, EntitySet1 > |
| An intersection object resulting from the intersection of two bounding box tree primitives. More...
|
|
class | Dumux::GridViewGeometricEntitySet< GridView, codim, Mapper > |
| An interface for a set of geometric entities. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, dimworld, dim1, dim2 > |
| A class for geometry collision detection and intersection calculation The class can be specialized for combinations of dimworld, dim1, dim2, where dimworld is the world dimension embedding a grid of dim1 and a grid of dim2. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 2, 1, 1 > |
| A class for segment–segment intersection in 2d space. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 2, 2, 1 > |
| A class for polygon–segment intersection in 2d space. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 2, 1, 2 > |
| A class for segment–polygon intersection in 2d space. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 2, 2, 2 > |
| A class for polygon–polygon intersection in 2d space. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 3, 1 > |
| A class for polyhedron–segment intersection in 3d space. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 1, 3 > |
| A class for segment–polyhedron intersection in 3d space. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 3, 2 > |
| A class for polyhedron–polygon intersection in 3d space. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 3 > |
| A class for polygon–polyhedron intersection in 3d space. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 > |
| A class for polygon–segment intersection in 3d space. More...
|
|
class | Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 1, 2 > |
| A class for segment–polygon intersection in 3d space. More...
|
|
|
template<class Geometry > |
Geometry::ctype | Dumux::diameter (const Geometry &geo) |
| Computes the longest distance between points of a geometry. More...
|
|
template<class ctype > |
int | Dumux::getOrientation (const Dune::FieldVector< ctype, 3 > &a, const Dune::FieldVector< ctype, 3 > &b, const Dune::FieldVector< ctype, 3 > &c, const Dune::FieldVector< ctype, 3 > &normal) |
| Returns the orientation of a sequence a-->b-->c in one plane (defined by normal vector) More...
|
|
template<int dim, class ctype , std::enable_if_t<(dim==2), int > = 0> |
std::vector< Dune::FieldVector< ctype, 3 > > | Dumux::grahamConvexHullImpl (std::vector< Dune::FieldVector< ctype, 3 > > &points) |
| Compute the points making up the convex hull around the given set of unordered points. More...
|
|
template<int dim, class ctype , std::enable_if_t<(dim==2), int > = 0> |
std::vector< Dune::FieldVector< ctype, 2 > > | Dumux::grahamConvexHullImpl (const std::vector< Dune::FieldVector< ctype, 2 > > &points) |
| Compute the points making up the convex hull around the given set of unordered points. More...
|
|
template<int dim, class ctype , int dimWorld> |
std::vector< Dune::FieldVector< ctype, dimWorld > > | Dumux::grahamConvexHull (std::vector< Dune::FieldVector< ctype, dimWorld > > &points) |
| Compute the points making up the convex hull around the given set of unordered points. More...
|
|
template<int dim, class ctype , int dimWorld> |
std::vector< Dune::FieldVector< ctype, dimWorld > > | Dumux::grahamConvexHull (const std::vector< Dune::FieldVector< ctype, dimWorld > > &points) |
| Compute the points making up the convex hull around the given set of unordered points. More...
|
|
template<class EntitySet , class ctype , int dimworld> |
std::vector< std::size_t > | Dumux::intersectingEntities (const Dune::FieldVector< ctype, dimworld > &point, const BoundingBoxTree< EntitySet > &tree, bool isCartesianGrid=false) |
| Compute all intersections between entities and a point. More...
|
|
template<class EntitySet , class ctype , int dimworld> |
void | Dumux::intersectingEntities (const Dune::FieldVector< ctype, dimworld > &point, const BoundingBoxTree< EntitySet > &tree, std::size_t node, std::vector< std::size_t > &entities, bool isCartesianGrid=false) |
| Compute intersections with point for all nodes of the bounding box tree recursively. More...
|
|
template<class EntitySet0 , class EntitySet1 > |
std::vector< BoundingBoxTreeIntersection< EntitySet0, EntitySet1 > > | Dumux::intersectingEntities (const BoundingBoxTree< EntitySet0 > &treeA, const BoundingBoxTree< EntitySet1 > &treeB) |
| Compute all intersections between two bounding box trees. More...
|
|
template<class EntitySet0 , class EntitySet1 > |
void | Dumux::intersectingEntities (const BoundingBoxTree< EntitySet0 > &treeA, const BoundingBoxTree< EntitySet1 > &treeB, std::size_t nodeA, std::size_t nodeB, std::vector< BoundingBoxTreeIntersection< EntitySet0, EntitySet1 > > &intersections) |
| Compute all intersections between two all bounding box tree nodes recursively. More...
|
|
template<class ctype , int dimworld, class Geometry , typename std::enable_if_t<(Geometry::mydimension==3), int > = 0> |
bool | Dumux::intersectsPointGeometry (const Dune::FieldVector< ctype, dimworld > &point, const Geometry &g) |
| Find out whether a point is inside a three-dimensional geometry. More...
|
|
template<class ctype , int dimworld, typename std::enable_if_t<(dimworld==3), int > = 0> |
bool | Dumux::intersectsPointSimplex (const Dune::FieldVector< ctype, dimworld > &point, const Dune::FieldVector< ctype, dimworld > &p0, const Dune::FieldVector< ctype, dimworld > &p1, const Dune::FieldVector< ctype, dimworld > &p2, const Dune::FieldVector< ctype, dimworld > &p3) |
| Find out whether a point is inside a tetrahedron (p0, p1, p2, p3) (dimworld is 3) More...
|
|
template<class ctype , int dimworld, typename std::enable_if_t<(dimworld==3), int > = 0> |
bool | Dumux::intersectsPointSimplex (const Dune::FieldVector< ctype, dimworld > &point, const Dune::FieldVector< ctype, dimworld > &p0, const Dune::FieldVector< ctype, dimworld > &p1, const Dune::FieldVector< ctype, dimworld > &p2) |
| Find out whether a point is inside a triangle (p0, p1, p2, p3) (dimworld is 3) More...
|
|
template<class ctype , int dimworld, typename std::enable_if_t<(dimworld==3||dimworld==2), int > = 0> |
bool | Dumux::intersectsPointSimplex (const Dune::FieldVector< ctype, dimworld > &point, const Dune::FieldVector< ctype, dimworld > &p0, const Dune::FieldVector< ctype, dimworld > &p1) |
| Find out whether a point is inside a interval (p0, p1, p2, p3) (dimworld is 3) More...
|
|
template<class CoordScalar > |
bool | Dumux::pointsAreCoplanar (const std::vector< Dune::FieldVector< CoordScalar, 3 > > &points, const CoordScalar scale) |
| Checks if four points lie within the same plane. More...
|
|
template<class CoordScalar > |
bool | Dumux::pointsAreCoplanar (const std::vector< Dune::FieldVector< CoordScalar, 3 > > &points) |
| Checks if four points lie within the same plane. More...
|
|
template<class CoordScalar > |
std::vector< Dune::FieldVector< CoordScalar, 3 > > | Dumux::getReorderedPoints (const std::vector< Dune::FieldVector< CoordScalar, 3 > > &points) |
| Returns a vector of points following the dune ordering. Convenience method that creates a temporary object in case no array of orientations is desired. More...
|
|
template<class CoordScalar > |
std::vector< Dune::FieldVector< CoordScalar, 3 > > | Dumux::getReorderedPoints (const std::vector< Dune::FieldVector< CoordScalar, 3 > > &points, std::array< int, 4 > &orientations) |
| Returns a vector of points following the dune ordering. More...
|
|
template<class CoordScalar , bool enableSanityCheck = true> |
auto | Dumux::makeDuneQuadrilaterial (const std::vector< Dune::FieldVector< CoordScalar, 3 > > &points) |
| Creates a dune quadrilateral geometry given 4 corner points. More...
|
|
template<int dim, int dimWorld, class Policy = TriangulationPolicy::DefaultPolicy<dim, dimWorld>, class RandomAccessContainer , std::enable_if_t< std::is_same< Policy, TriangulationPolicy::MidPointPolicy >::value &&dim==2, int > = 0> |
Triangulation< dim, dimWorld, typename RandomAccessContainer::value_type::value_type > | Dumux::triangulate (const RandomAccessContainer &convexHull) |
| Triangulate area given points of a convex hull. More...
|
|