deal.II version GIT relicensing-6839-g338455934c 2026-10-02 12:10:01+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
additional_data.h
Go to the documentation of this file.
1// -----------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception OR LGPL-2.1-or-later
4// Copyright (C) 2022 - 2026 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Detailed license information governing the source code and contributions
9// can be found in LICENSE.md and CONTRIBUTING.md at the top level directory.
10//
11// -----------------------------------------------------------------------------
12
13#ifndef dealii_cgal_additional_data_h
14#define dealii_cgal_additional_data_h
15
16#include <deal.II/base/config.h>
17
19
20#ifdef DEAL_II_WITH_CGAL
21# include <CGAL/version.h>
22# if CGAL_VERSION_MAJOR >= 6
23# include <CGAL/Installation/internal/disable_deprecation_warnings_and_errors.h>
24# endif
25# include <CGAL/Mesh_facet_topology.h>
26
27# include <limits>
28#endif
29
30
32
33#ifdef DEAL_II_WITH_CGAL
34
35namespace CGALWrappers
36{
37 enum class FacetTopology
38 {
43 facet_vertices_on_surface = CGAL::FACET_VERTICES_ON_SURFACE,
44
50 CGAL::FACET_VERTICES_ON_SAME_SURFACE_PATCH,
51
58 CGAL::FACET_VERTICES_ON_SAME_SURFACE_PATCH_WITH_ADJACENCY_CHECK,
59 };
60
96 template <int dim>
98 {
104 double edge_size;
105
110
120
126
134 double cell_size;
135
140 double edge_s = std::numeric_limits<double>::max(),
141 double facet_a = 0.,
142 double facet_s = 0.,
143 double facet_d = 0.,
144 FacetTopology facet_t =
146 double cell_radius_edge_r = 0.,
147 double cell_s = 0.)
148 {
150 dim == 3,
152 "These struct can be instantiated with 3d Triangulations only."));
153 edge_size = edge_s;
154 facet_angle = facet_a;
155 facet_size = facet_s;
156 facet_distance = facet_d;
157 facet_topology = facet_t;
158 cell_radius_edge_ratio = cell_radius_edge_r;
159 cell_size = cell_s;
160 }
161 };
162
176 template <>
178 {
183
189
195
199 AdditionalData(double angular_b = 0.,
200 double radius_b = 0.,
201 double distance_b = 0.)
202 {
203 angular_bound = angular_b;
204 radius_bound = radius_b;
205 distance_bound = distance_b;
206 }
207 };
208
209} // namespace CGALWrappers
210
211#else
212
213namespace CGALWrappers
214{
218 template <int dim>
219 struct AdditionalData
220 {};
221} // namespace CGALWrappers
222
223#endif
224
226
227
228#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39
static ::ExceptionBase & ExcMessage(std::string arg1)
#define AssertThrow(cond, exc)
@ facet_vertices_on_same_surface_patch_with_adjacency_check
AdditionalData(double angular_b=0., double radius_b=0., double distance_b=0.)
AdditionalData(double edge_s=std::numeric_limits< double >::max(), double facet_a=0., double facet_s=0., double facet_d=0., FacetTopology facet_t=::CGALWrappers::FacetTopology::facet_vertices_on_surface, double cell_radius_edge_r=0., double cell_s=0.)