Loading [MathJax]/extensions/tex2jax.js

dune-mmesh (unstable)

defaults.hh
Go to the documentation of this file.
1// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2// vi: set et ts=4 sw=2 sts=2:
3#ifndef DUNE_MMESH_CGAL_DEFAULTS_HH
4#define DUNE_MMESH_CGAL_DEFAULTS_HH
5
6// MMesh includes
7#include "../grid/declaration.hh"
8
9// CGAL includes
10#include "includes.hh"
11
12#define CGAL_NO_POSTCONDITIONS
13
18namespace Dune {
19namespace MMeshDefaults {
20
25template <int dim>
27 std::size_t insertionIndex;
28 std::size_t index;
29 std::array<std::size_t, dim + 1> cgalIndex;
30 size_t domainMarker = 0;
31 int mark = 0;
32 bool isNew = false;
33 bool mightVanish = false;
34 std::size_t componentNumber = 0;
35 int rank = 0;
36 int partition = 0;
37 std::unordered_set<int> connectivity;
38};
39
40struct VertexInfo {
41 std::size_t id;
42 bool idWasSet = false;
43 std::size_t index;
44 std::size_t insertionLevel = 0;
45 bool isInterface = false;
46 int boundaryFlag = -1;
47 int partition = 0;
48};
49
53template <>
54class Triangulation<2> {
55 private:
56 typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
57
58 typedef CGAL::Triangulation_vertex_base_2<K> Vbbb;
59 typedef CGAL::Triangulation_vertex_base_with_info_2<VertexInfo, K, Vbbb> Vbb;
60 typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vbb> Vb;
61
62 typedef CGAL::Triangulation_face_base_2<K> Fbbb;
63 typedef CGAL::Triangulation_face_base_with_info_2<ElementInfo<2>, K, Fbbb>
64 Fbb;
65 typedef CGAL::Triangulation_face_base_2<K, Fbb> Fb;
66
67 typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
68
69 public:
70 typedef CGAL::Triangulation_2<K, Tds> type;
71};
72
76template <>
77class Triangulation<3> {
78 private:
79 typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
80
81 typedef CGAL::Triangulation_vertex_base_with_info_3<VertexInfo, K> Vb;
82
83 typedef CGAL::Triangulation_cell_base_3<K> Fbb;
84 typedef CGAL::Triangulation_cell_base_with_info_3<ElementInfo<3>, K, Fbb> Fb;
85
86 typedef CGAL::Triangulation_data_structure_3<Vb, Fb> Tds;
87
88 public:
89 typedef CGAL::Triangulation_3<K, Tds> type;
90};
91
95template <>
96class Delaunay<2> {
97 private:
98 typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
99
100 typedef CGAL::Delaunay_mesh_vertex_base_2<K> Vbbb;
101 typedef CGAL::Triangulation_vertex_base_with_info_2<VertexInfo, K, Vbbb> Vbb;
102 typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vbb> Vb;
103
104 typedef CGAL::Delaunay_mesh_face_base_2<K> Fbbb;
105 typedef CGAL::Triangulation_face_base_with_info_2<ElementInfo<2>, K, Fbbb>
106 Fbb;
107 typedef CGAL::Triangulation_face_base_2<K, Fbb> Fb;
108
109 typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
110
111 public:
112 typedef CGAL::Delaunay_triangulation_2<K, Tds> type;
113};
114
118template <>
119class Delaunay<3> {
120 private:
121 typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
122
123 typedef CGAL::Triangulation_vertex_base_with_info_3<VertexInfo, K> Vb;
124
125 typedef CGAL::Delaunay_triangulation_cell_base_3<K> Fbb;
126 typedef CGAL::Triangulation_cell_base_with_info_3<ElementInfo<3>, K, Fbb> Fb;
127
128 typedef CGAL::Triangulation_data_structure_3<Vb, Fb> Tds;
129
130 public:
131 typedef CGAL::Delaunay_triangulation_3<K, Tds> type;
132};
133
134} // end namespace MMeshDefaults
135
136} // end namespace Dune
137
138#endif
The element and vertex infos used by the dune-mmesh implementation.
Definition: defaults.hh:26
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Mar 17, 23:30, 2025)