DOLFIN
DOLFIN C++ interface
Static Public Member Functions | List of all members
dolfin::IntersectionConstruction Class Reference

#include <IntersectionConstruction.h>

Static Public Member Functions

static std::vector< Pointintersection (const MeshEntity &entity_0, const MeshEntity &entity_1)
 
static std::vector< Pointintersection (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< Pointintersection_point_point_2d (const Point &p0, const Point &q0)
 Compute intersection of points p0 and q0 (2D)
 
static std::vector< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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< Pointintersection_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: