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
additional_data.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2022 - 2023 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_additional_data_h
16#define dealii_cgal_additional_data_h
17
18#include <deal.II/base/config.h>
19
21
22#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/Mesh_facet_topology.h>
29
30# include <limits>
31
33namespace CGALWrappers
34{
35 enum class FacetTopology
36 {
41 facet_vertices_on_surface = CGAL::FACET_VERTICES_ON_SURFACE,
42
48 CGAL::FACET_VERTICES_ON_SAME_SURFACE_PATCH,
49
56 CGAL::FACET_VERTICES_ON_SAME_SURFACE_PATCH_WITH_ADJACENCY_CHECK,
57 };
58
94 template <int dim>
96 {
102 double edge_size;
103
108
118
124
132 double cell_size;
133
138 double edge_s = std::numeric_limits<double>::max(),
139 double facet_a = 0.,
140 double facet_s = 0.,
141 double facet_d = 0.,
142 FacetTopology facet_t =
144 double cell_radius_edge_r = 0.,
145 double cell_s = 0.)
146 {
148 dim == 3,
150 "These struct can be instantiated with 3d Triangulations only."));
151 edge_size = edge_s;
152 facet_angle = facet_a;
153 facet_size = facet_s;
154 facet_distance = facet_d;
155 facet_topology = facet_t;
156 cell_radius_edge_ratio = cell_radius_edge_r;
157 cell_size = cell_s;
158 }
159 };
160
174 template <>
176 {
181
187
193
197 AdditionalData(double angular_b = 0.,
198 double radius_b = 0.,
199 double distance_b = 0.)
200 {
201 angular_bound = angular_b;
202 radius_bound = radius_b;
203 distance_bound = distance_b;
204 }
205 };
206
207} // namespace CGALWrappers
209
210#else
211
213namespace CGALWrappers
214{
218 template <int dim>
219 struct AdditionalData
220 {};
221} // namespace CGALWrappers
222
224#endif
225
226#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:40
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:41
static ::ExceptionBase & ExcMessage(std::string arg1)
#define AssertThrow(cond, exc)
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.)