template<class Geometry1, class Geometry2, class Policy>
class Dumux::GeometryIntersection< Geometry1, Geometry2, Policy, 3, 3, 2 >
A class for polyhedron–polygon intersection in 3d space.
|
template<class P = Policy, std::enable_if_t< P::dimIntersection==2, int > = 0> |
static bool | intersection (const Geometry1 &geo1, const Geometry2 &geo2, Intersection &intersection) |
| Colliding polygon and convex polyhedron. More...
|
|
template<class P = Policy, std::enable_if_t< P::dimIntersection !=2, int > = 0> |
static bool | intersection (const Geometry1 &geo1, const Geometry2 &geo2, Intersection &intersection) |
| Colliding segment and convex polyhedron. More...
|
|
template<class Geometry1 , class Geometry2 , class Policy >
template<class P = Policy, std::enable_if_t< P::dimIntersection==2, int > = 0>
Colliding polygon and convex polyhedron.
- Note
- First we find the vertex candidates for the intersection region as follows: Add triangle vertices that are inside the tetrahedron Add tetrahedron vertices that are inside the triangle Add all intersection points of tetrahedron edges (codim 2) with the triangle (codim 0) (6*1 tests) Add all intersection points of triangle edges (codim 1) with tetrahedron faces (codim 1) (3*4 tests) Remove duplicate points from the list Compute the convex hull polygon Return a triangulation of that polygon as intersection
- Parameters
-
geo1/geo2 | The geometries to intersect |
intersection | Container to store the corner points of the polygon (as convex hull) |
- Note
- This overload is used when polygon like intersections are seeked
template<class Geometry1 , class Geometry2 , class Policy >
template<class P = Policy, std::enable_if_t< P::dimIntersection !=2, int > = 0>
Colliding segment and convex polyhedron.
- Note
- First we find the vertex candidates for the intersection region as follows: Add triangle vertices that are inside the tetrahedron Add tetrahedron vertices that are inside the triangle Add all intersection points of tetrahedron edges (codim 2) with the triangle (codim 0) (6*1 tests) Add all intersection points of triangle edges (codim 1) with tetrahedron faces (codim 1) (3*4 tests) Remove duplicate points from the list Compute the convex hull polygon Return a triangulation of that polygon as intersection
- Parameters
-
geo1/geo2 | The geometries to intersect |
intersection | Container to store the intersection result |
- Todo:
- implement overloads for segment or point-like intersections