3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Static Public Member Functions | List of all members
Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 > Class Template Reference

A class for polygon–segment intersection in 3d space. More...

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

Description

template<class Geometry1, class Geometry2, class Policy>
class Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 >

A class for polygon–segment intersection in 3d space.

Public Types

using ctype = typename Policy::ctype
 
using Point = typename Policy::Point
 
using Intersection = typename Policy::Intersection
 
using IntersectionType = Intersection
 Deprecated alias, will be removed after 3.1. More...
 

Static Public Member Functions

template<class P = Policy, std::enable_if_t< P::dimIntersection==1, int > = 0>
static bool intersection (const Geometry1 &geo1, const Geometry2 &geo2, Intersection &intersection)
 Colliding segment and convex polyhedron. More...
 
template<class P = Policy, std::enable_if_t< P::dimIntersection==0, int > = 0>
static bool intersection (const Geometry1 &geo1, const Geometry2 &geo2, Intersection &is)
 Colliding segment and convex polyhedron. More...
 
template<class P = Policy, std::enable_if_t< P::dimIntersection==0, int > = 0>
static bool intersection (const Point &a, const Point &b, const Point &c, const Point &p, const Point &q, Intersection &is)
 Colliding segment and convex polyhedron. More...
 

Member Typedef Documentation

◆ ctype

template<class Geometry1 , class Geometry2 , class Policy >
using Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 >::ctype = typename Policy::ctype

◆ Intersection

template<class Geometry1 , class Geometry2 , class Policy >
using Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 >::Intersection = typename Policy::Intersection

◆ IntersectionType

template<class Geometry1 , class Geometry2 , class Policy >
using Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 >::IntersectionType = Intersection

Deprecated alias, will be removed after 3.1.

◆ Point

template<class Geometry1 , class Geometry2 , class Policy >
using Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 >::Point = typename Policy::Point

Member Function Documentation

◆ intersection() [1/3]

template<class Geometry1 , class Geometry2 , class Policy >
template<class P = Policy, std::enable_if_t< P::dimIntersection==1, int > = 0>
static bool Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 >::intersection ( const Geometry1 &  geo1,
const Geometry2 &  geo2,
Intersection intersection 
)
inlinestatic

Colliding segment and convex polyhedron.

Note
Algorithm based on the one from "Real-Time Collision Detection" by Christer Ericson, published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc. (Chapter 5.3.6)
Parameters
geo1/geo2The geometries to intersect
intersectionIf the geometries collide, is holds the corner points of the intersection object in global coordinates.
Note
This overload is used when point-like intersections are seeked

◆ intersection() [2/3]

template<class Geometry1 , class Geometry2 , class Policy >
template<class P = Policy, std::enable_if_t< P::dimIntersection==0, int > = 0>
static bool Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 >::intersection ( const Geometry1 &  geo1,
const Geometry2 &  geo2,
Intersection is 
)
inlinestatic

Colliding segment and convex polyhedron.

Note
Algorithm based on the one from "Real-Time Collision Detection" by Christer Ericson, published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc. (Chapter 5.3.6)
Parameters
geo1/geo2The geometries to intersect
isIf the geometries collide, is holds the corner points of the intersection object in global coordinates.
Note
This overload is used when point-like intersections are seeked

◆ intersection() [3/3]

template<class Geometry1 , class Geometry2 , class Policy >
template<class P = Policy, std::enable_if_t< P::dimIntersection==0, int > = 0>
static bool Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 2, 1 >::intersection ( const Point a,
const Point b,
const Point c,
const Point p,
const Point q,
Intersection is 
)
inlinestatic

Colliding segment and convex polyhedron.

Note
Algorithm based on the one from "Real-Time Collision Detection" by Christer Ericson, published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc. (Chapter 5.3.6)
Parameters
isIf the geometries collide, is holds the corner points of the intersection object in global coordinates.
a/b/cPoints of triangle
p/qPoints of segment
Note
This overload is used when point-like intersections are seeked

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