deal.II version GIT relicensing-2289-g1e5549a87a 2024-12-21 21:30:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
intersections.cc File Reference
#include <deal.II/base/config.h>
#include <deal.II/cgal/intersections.h>
#include <algorithm>
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/base/utilities.h>
#include <deal.II/fe/mapping.h>
#include <deal.II/grid/tria.h>
#include <CGAL/Boolean_set_operations_2.h>
#include <CGAL/Cartesian.h>
#include <CGAL/Circular_kernel_intersections.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
#include <CGAL/Delaunay_mesh_face_base_2.h>
#include <CGAL/Delaunay_mesh_size_criteria_2.h>
#include <CGAL/Delaunay_mesher_2.h>
#include <CGAL/Delaunay_triangulation_2.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel_with_sqrt.h>
#include <CGAL/Kernel_traits.h>
#include <CGAL/Polygon_2.h>
#include <CGAL/Polygon_with_holes_2.h>
#include <CGAL/Projection_traits_xy_3.h>
#include <CGAL/Segment_3.h>
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Tetrahedron_3.h>
#include <CGAL/Triangle_2.h>
#include <CGAL/Triangle_3.h>
#include <CGAL/Triangulation_2.h>
#include <CGAL/Triangulation_3.h>
#include <CGAL/Triangulation_face_base_with_id_2.h>
#include <CGAL/Triangulation_face_base_with_info_2.h>
#include <deal.II/cgal/utilities.h>
#include <optional>
#include <variant>
#include "intersections.inst"

Go to the source code of this file.

Classes

struct  CGALWrappers::FaceInfo2
 

Namespaces

namespace  CGALWrappers
 
namespace  CGALWrappers::internal
 

Typedefs

using CGALWrappers::K = CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt
 
using CGALWrappers::K_exact = CGAL::Exact_predicates_exact_constructions_kernel
 
using CGALWrappers::CGALPolygon = CGAL::Polygon_2< K >
 
using CGALWrappers::Polygon_with_holes_2 = CGAL::Polygon_with_holes_2< K >
 
using CGALWrappers::CGALTriangle2 = K::Triangle_2
 
using CGALWrappers::CGALTriangle3 = K::Triangle_3
 
using CGALWrappers::CGALTriangle3_exact = K_exact::Triangle_3
 
using CGALWrappers::CGALPoint2 = K::Point_2
 
using CGALWrappers::CGALPoint3 = K::Point_3
 
using CGALWrappers::CGALPoint3_exact = K_exact::Point_3
 
using CGALWrappers::CGALSegment2 = K::Segment_2
 
using CGALWrappers::Surface_mesh = CGAL::Surface_mesh< K_exact::Point_3 >
 
using CGALWrappers::CGALSegment3 = K::Segment_3
 
using CGALWrappers::CGALSegment3_exact = K_exact::Segment_3
 
using CGALWrappers::CGALTetra = K::Tetrahedron_3
 
using CGALWrappers::CGALTetra_exact = K_exact::Tetrahedron_3
 
using CGALWrappers::Triangulation2 = CGAL::Triangulation_2< K >
 
using CGALWrappers::Triangulation3 = CGAL::Triangulation_3< K >
 
using CGALWrappers::Triangulation3_exact = CGAL::Triangulation_3< K_exact >
 
using CGALWrappers::Vb = CGAL::Triangulation_vertex_base_2< K >
 
using CGALWrappers::Fbb = CGAL::Triangulation_face_base_with_info_2< FaceInfo2, K >
 
using CGALWrappers::CFb = CGAL::Constrained_triangulation_face_base_2< K, Fbb >
 
using CGALWrappers::Fb = CGAL::Delaunay_mesh_face_base_2< K, CFb >
 
using CGALWrappers::Tds = CGAL::Triangulation_data_structure_2< Vb, Fb >
 
using CGALWrappers::Itag = CGAL::Exact_predicates_tag
 
using CGALWrappers::CDT = CGAL::Constrained_Delaunay_triangulation_2< K, Tds, Itag >
 
using CGALWrappers::Criteria = CGAL::Delaunay_mesh_size_criteria_2< CDT >
 
using CGALWrappers::Vertex_handle = CDT::Vertex_handle
 
using CGALWrappers::Face_handle = CDT::Face_handle
 

Functions

template<class T , class... Types>
const T * CGALWrappers::get_if_ (const std::variant< Types... > *v)
 
template<class T , class... Types>
const T * CGALWrappers::get_if_ (const boost::variant< Types... > *v)
 
void CGALWrappers::internal::mark_domains (CDT &ct, Face_handle start, int index, std::list< CDT::Edge > &border)
 
void CGALWrappers::internal::mark_domains (CDT &cdt)
 
std::optional< std::variant< CGALPoint2, CGALSegment2, CGALTriangle2, std::vector< CGALPoint2 > > > CGALWrappers::internal::compute_intersection_triangle_triangle (const ArrayView< const Point< 2 > > &triangle0, const ArrayView< const Point< 2 > > &triangle1)
 
std::optional< std::variant< CGALPoint2, CGALSegment2 > > CGALWrappers::internal::compute_intersection_triangle_segment (const ArrayView< const Point< 2 > > &triangle, const ArrayView< const Point< 2 > > &segment)
 
std::vector< Polygon_with_holes_2CGALWrappers::internal::compute_intersection_rect_rect (const ArrayView< const Point< 2 > > &rectangle0, const ArrayView< const Point< 2 > > &rectangle1)
 
std::optional< std::variant< CGALPoint3, CGALSegment3 > > CGALWrappers::internal::compute_intersection_tetra_segment (const ArrayView< const Point< 3 > > &tetrahedron, const ArrayView< const Point< 3 > > &segment)
 
std::optional< std::variant< CGALPoint3, CGALSegment3, CGALTriangle3, std::vector< CGALPoint3 > > > CGALWrappers::internal::compute_intersection_tetra_triangle (const ArrayView< const Point< 3 > > &tetrahedron, const ArrayView< const Point< 3 > > &triangle)
 
std::vector< std::array< Point< 2 >, 3 > > CGALWrappers::internal::compute_intersection_quad_quad (const ArrayView< const Point< 2 > > &quad0, const ArrayView< const Point< 2 > > &quad1, const double tol)
 
std::vector< std::array< Point< 2 >, 2 > > CGALWrappers::internal::compute_intersection_quad_line (const ArrayView< const Point< 2 > > &quad, const ArrayView< const Point< 2 > > &line, const double tol)
 
std::vector< std::array< Point< 3 >, 2 > > CGALWrappers::internal::compute_intersection_hexa_line (const ArrayView< const Point< 3 > > &hexa, const ArrayView< const Point< 3 > > &line, const double tol)
 
std::vector< std::array< Point< 3 >, 3 > > CGALWrappers::internal::compute_intersection_hexa_quad (const ArrayView< const Point< 3 > > &hexa, const ArrayView< const Point< 3 > > &quad, const double tol)
 
std::vector< std::array< Point< 3 >, 4 > > CGALWrappers::internal::compute_intersection_hexa_hexa (const ArrayView< const Point< 3 > > &hexa0, const ArrayView< const Point< 3 > > &hexa1, const double tol)
 
template<int structdim0, int structdim1, int spacedim>
std::vector< std::array< Point< spacedim >, structdim1+1 > > CGALWrappers::compute_intersection_of_cells (const ArrayView< const Point< spacedim > > &vertices0, const ArrayView< const Point< spacedim > > &vertices1, const double tol=1e-9)
 
template<int structdim0, int structdim1, int spacedim>
std::vector< std::array< Point< spacedim >, structdim1+1 > > CGALWrappers::compute_intersection_of_cells (const typename Triangulation< structdim0, spacedim >::cell_iterator &cell0, const typename Triangulation< structdim1, spacedim >::cell_iterator &cell1, const Mapping< structdim0, spacedim > &mapping0, const Mapping< structdim1, spacedim > &mapping1, const double tol=1e-9)