Loading...
Searching...
No Matches
dolfin::IntersectionConstruction Class Reference

`#include <IntersectionConstruction.h>`

## Static Public Member Functions

static std::vector< Point > | intersection (const MeshEntity &entity_0, const MeshEntity &entity_1)
static std::vector< Point > | intersection (const std::vector< Point > &points_0, const std::vector< Point > &points_1, std::size_t gdim)
static std::vector< double > | intersection_point_point_1d (double p0, double q0)
| Compute intersection of points p0 and q0 (1D).
static std::vector< Point > | intersection_point_point_2d (const Point &p0, const Point &q0)
| Compute intersection of points p0 and q0 (2D).
static std::vector< Point > | intersection_point_point_3d (const Point &p0, const Point &q0)
| Compute intersection of points p0 and q0 (3D).
static std::vector< double > | intersection_segment_point_1d (double p0, double p1, double q0)
| Compute intersection of segment p0-p1 with point q0 (1D).
static std::vector< Point > | intersection_segment_point_2d (const Point &p0, const Point &p1, const Point &q0)
| Compute intersection of segment p0-p1 with point q0 (2D).
static std::vector< Point > | intersection_segment_point_3d (const Point &p0, const Point &p1, const Point &q0)
| Compute intersection of segment p0-p1 with point q0 (3D).
static std::vector< Point > | intersection_triangle_point_2d (const Point &p0, const Point &p1, const Point &p2, const Point &q0)
| Compute intersection of triangle p0-p1-p2 with point q0 (2D).
static std::vector< Point > | intersection_triangle_point_3d (const Point &p0, const Point &p1, const Point &p2, const Point &q0)
| Compute intersection of triangle p0-p1-p2 with point q0 (3D).
static std::vector< Point > | intersection_tetrahedron_point_3d (const Point &p0, const Point &p1, const Point &p2, const Point &p3, const Point &q0)
| Compute intersection of tetrahedron p0-p1-p2-p3 with point q0 (3D).
static std::vector< double > | intersection_segment_segment_1d (double p0, double p1, double q0, double q1)
| Compute intersection of segment p0-p1 with segment q0-q1 (1D).
static std::vector< Point > | intersection_segment_segment_2d (const Point &p0, const Point &p1, const Point &q0, const Point &q1)
| Compute intersection of segment p0-p1 with segment q0-q1 (2D).
static std::vector< Point > | intersection_segment_segment_3d (const Point &p0, const Point &p1, const Point &q0, const Point &q1)
| Compute intersection of segment p0-p1 with segment q0-q1 (3D).
static std::vector< Point > | intersection_triangle_segment_2d (const Point &p0, const Point &p1, const Point &p2, const Point &q0, const Point &q1)
| Compute intersection of triangle p0-p1-p2 with segment q0-q1 (2D).
static std::vector< Point > | intersection_triangle_segment_3d (const Point &p0, const Point &p1, const Point &p2, const Point &q0, const Point &q1)
| Compute intersection of triangle p0-p1-p2 with segment q0-q1 (3D).
static std::vector< Point > | intersection_tetrahedron_segment_3d (const Point &p0, const Point &p1, const Point &p2, const Point &p3, const Point &q0, const Point &q1)
| Compute intersection of tetrahedron p0-p1-p2-p3 with segment q0-q1 (3D).
static std::vector< Point > | intersection_triangle_triangle_2d (const Point &p0, const Point &p1, const Point &p2, const Point &q0, const Point &q1, const Point &q2)
| Compute intersection of triangle p0-p1-p2 with triangle q0-q1-q2 (2D).
static std::vector< Point > | intersection_triangle_triangle_3d (const Point &p0, const Point &p1, const Point &p2, const Point &q0, const Point &q1, const Point &q2)
| Compute intersection of triangle p0-p1-p2 with triangle q0-q1-q2 (3D).
static std::vector< Point > | intersection_tetrahedron_triangle_3d (const Point &p0, const Point &p1, const Point &p2, const Point &p3, const Point &q0, const Point &q1, const Point &q2)
| Compute intersection of tetrahedron p0-p1-p2-p3 with triangle q0-q1-q2 (3D).
static std::vector< Point > | intersection_tetrahedron_tetrahedron_3d (const Point &p0, const Point &p1, const Point &p2, const Point &p3, const Point &q0, const Point &q1, const Point &q2, const Point &q3)
| Compute intersection of tetrahedron p0-p1-p2-p3 with tetrahedron q0-q1-q2-q3 (3D).

## Detailed Description

This class implements algorithms for computing pairwise intersections of simplices. The computed intersection is always convex and represented as a set of points s.t. the intersection is the convex hull of these points.

## Member Function Documentation

## intersection() [1/2]

std::vector< Point > IntersectionConstruction::intersection | ( | const MeshEntity & | entity_0,
|  | const MeshEntity & | entity_1 )

static

Compute intersection of two entities.

Arguments entity_0 (MeshEntity) The first entity. entity_1 (MeshEntity) The second entity.

Returns std::vector<Pointdouble> A vector of points s.t. the intersection is the convex hull of these points.

## intersection() [2/2]

std::vector< Point > IntersectionConstruction::intersection | ( | const std::vector< Point > & | points_0,
|  | const std::vector< Point > & | points_1,
|  | std::size_t | gdim )

static

Compute intersection of two entities. This version takes two vectors of points representing the entities.

Arguments points_0 (std::vector<Point>) The vertex coordinates of the first entity. points_1 (std::vector<Point>) The vertex coordinates of the second entity. gdim (std::size_t) The geometric dimension.

Returns std::vector<Point> A vector of points s.t. the intersection is the convex hull of these points.

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

- /build/dolfin-wwk1CC/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/geometry/IntersectionConstruction.h
- /build/dolfin-wwk1CC/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/geometry/IntersectionConstruction.cpp