deal.II version 9.7.0
\(\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
polygon.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2025 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
15#ifndef dealii_cgal_polygon_h
16#define dealii_cgal_polygon_h
17
18#include <deal.II/base/config.h>
19
20#ifdef DEAL_II_WITH_CGAL
23
24# include <CGAL/version.h>
25# if CGAL_VERSION_MAJOR >= 6
26# include <CGAL/Installation/internal/disable_deprecation_warnings_and_errors.h>
27# endif
28# include <CGAL/Polygon_2.h>
29# include <CGAL/Polygon_with_holes_2.h>
30
31
33
34namespace CGALWrappers
35{
55 template <typename KernelType>
56 CGAL::Polygon_2<KernelType>
58 const typename Triangulation<2, 2>::cell_iterator &cell,
59 const Mapping<2, 2> &mapping);
60
61
62
71 template <typename KernelType>
72 CGAL::Polygon_with_holes_2<KernelType>
74 const Mapping<2, 2> &mapping);
75
76
77
88 template <typename KernelType>
89 CGAL::Polygon_with_holes_2<KernelType>
91 const CGAL::Polygon_2<KernelType> &boundary_outside,
92 const std::vector<CGAL::Polygon_2<KernelType>> &boundary_holes = {});
93
94
95
115 template <typename KernelType>
116 std::vector<CGAL::Polygon_with_holes_2<KernelType>>
118 const CGAL::Polygon_with_holes_2<KernelType> &polygon_1,
119 const CGAL::Polygon_with_holes_2<KernelType> &polygon_2,
120 const BooleanOperation &boolean_operation);
121} // namespace CGALWrappers
122
124
125#else
126
127// Make sure the scripts that create the C++20 module input files have
128// something to latch on if the preprocessor #ifdef above would
129// otherwise lead to an empty content of the file.
132
133#endif
134#endif
Abstract base class for mapping classes.
Definition mapping.h:320
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:40
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:41
TriaIterator< CellAccessor< dim, spacedim > > cell_iterator
Definition tria.h:1557
MappingQ< dim, spacedim > StaticMappingQ1< dim, spacedim >::mapping
Definition mapping_q1.h:104
std::vector< CGAL::Polygon_with_holes_2< KernelType > > compute_boolean_operation(const CGAL::Polygon_with_holes_2< KernelType > &polygon_1, const CGAL::Polygon_with_holes_2< KernelType > &polygon_2, const BooleanOperation &boolean_operation)
CGAL::Polygon_2< KernelType > dealii_cell_to_cgal_polygon(const typename Triangulation< 2, 2 >::cell_iterator &cell, const Mapping< 2, 2 > &mapping)
CGAL::Polygon_with_holes_2< KernelType > dealii_tria_to_cgal_polygon(const Triangulation< 2, 2 > &tria, const Mapping< 2, 2 > &mapping)
CGAL::Polygon_with_holes_2< KernelType > polygon_to_polygon_with_holes(const CGAL::Polygon_2< KernelType > &boundary_outside, const std::vector< CGAL::Polygon_2< KernelType > > &boundary_holes={})