20#ifdef DEAL_II_WITH_CGAL
42# ifdef DEAL_II_WITH_CGAL
45 "The implicit function must have exactly one component."));
48 "The implicit function must be negative at the interior point."));
50 ExcMessage(
"The outer ball radius must be positive."));
52 ExcMessage(
"The triangulation must be empty."));
54 if constexpr (dim == 3)
57 using NumberType = K::FT;
83 CGAL::parameters::facet_distance =
85 CGAL::parameters::cell_radius_edge_ratio =
87 CGAL::parameters::cell_size = data.
cell_size);
90 CGALWrappers::cgal_triangulation_to_dealii_triangulation(
93 else if constexpr (dim == 2)
124 data.distance_bound);
130 CGALWrappers::cgal_surface_mesh_to_dealii_triangulation(
mesh,
tria);
156# ifdef DEAL_II_WITH_CGAL
160 "The input triangulation cannot be empty when calling this function."));
164 "The output triangulation must be empty when calling this function."));
190 CGAL::Polygon_mesh_processing::triangulate_faces(
mesh);
191 CGAL::Polygon_mesh_processing::stitch_borders(
mesh);
196 CGAL::parameters::facet_distance =
198 CGAL::parameters::cell_radius_edge_ratio =
200 CGAL::parameters::cell_size = data.
cell_size);
217# include "grid_generator_cgal.inst"
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcImpossibleInDim(int arg1)
static ::ExceptionBase & ExcMessage(std::string arg1)
#define AssertThrow(cond, exc)
void dealii_tria_to_cgal_surface_mesh(const ::Triangulation< dim, spacedim > &triangulation, CGAL::Surface_mesh< CGALPointType > &mesh)
CGAL::Surface_mesh< K_exact::Point_3 > Surface_mesh
CGAL::Sequential_tag ConcurrencyTag
CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt K
void surface_mesh_to_volumetric_mesh(const Triangulation< 2, 3 > &surface_tria, Triangulation< 3 > &vol_tria, const CGALWrappers::AdditionalData< 3 > &data=CGALWrappers::AdditionalData< 3 >{})
void implicit_function(Triangulation< dim, 3 > &tria, const Function< 3 > &implicit_function, const CGALWrappers::AdditionalData< dim > &data=CGALWrappers::AdditionalData< dim >{}, const Point< 3 > &interior_point=Point< 3 >(), const double &outer_ball_radius=1.0)
double cell_radius_edge_ratio
const ::Triangulation< dim, spacedim > & tria