From 47a33dcbaf62467deeecc0abbf28b409495ef030 Mon Sep 17 00:00:00 2001 From: "Adam Getchell (via Travis CI)" Date: Tue, 10 Oct 2023 04:49:51 +0000 Subject: [PATCH] Deploy acgetchell/CDT-plusplus to github.com/acgetchell/CDT-plusplus.git:gh-pages --- _apply__move_8hpp.html | 2 +- _apply__move_8hpp_source.html | 2 +- _apply__move__test_8cpp.html | 2 +- _apply__move__test_8cpp_source.html | 2 +- _ergodic__moves__3_8hpp.html | 2 +- _ergodic__moves__3_8hpp_source.html | 2 +- _ergodic__moves__3__test_8cpp.html | 2 +- _ergodic__moves__3__test_8cpp_source.html | 2 +- _foliated__triangulation_8hpp.html | 16 +- _foliated__triangulation_8hpp_source.html | 1253 +++++++++-------- _foliated__triangulation__test_8cpp.html | 2 +- ...ated__triangulation__test_8cpp_source.html | 154 +- _function__ref__test_8cpp.html | 2 +- _function__ref__test_8cpp_source.html | 2 +- _geometry_8hpp.html | 2 +- _geometry_8hpp_source.html | 4 +- _geometry__test_8cpp.html | 2 +- _geometry__test_8cpp_source.html | 148 +- _manifold_8hpp.html | 2 +- _manifold_8hpp_source.html | 58 +- _manifold__test_8cpp.html | 2 +- _manifold__test_8cpp_source.html | 4 +- _metropolis_8hpp.html | 2 +- _metropolis_8hpp_source.html | 2 +- _metropolis__test_8cpp.html | 2 +- _metropolis__test_8cpp_source.html | 2 +- _move__always_8hpp.html | 2 +- _move__always_8hpp_source.html | 2 +- _move__always__test_8cpp.html | 2 +- _move__always__test_8cpp_source.html | 2 +- _move__command_8hpp.html | 2 +- _move__command_8hpp_source.html | 2 +- _move__command__test_8cpp.html | 2 +- _move__command__test_8cpp_source.html | 2 +- _move__strategy_8hpp.html | 2 +- _move__strategy_8hpp_source.html | 2 +- _move__tracker_8hpp.html | 2 +- _move__tracker_8hpp_source.html | 2 +- _move__tracker__test_8cpp.html | 2 +- _move__tracker__test_8cpp_source.html | 2 +- _periodic__3__complex_8hpp.html | 2 +- _periodic__3__complex_8hpp_source.html | 2 +- _periodic__3__triangulations_8hpp.html | 2 +- _periodic__3__triangulations_8hpp_source.html | 2 +- _s3_action_8hpp.html | 2 +- _s3_action_8hpp_source.html | 2 +- _s3_action__test_8cpp.html | 2 +- _s3_action__test_8cpp_source.html | 2 +- _settings_8hpp.html | 2 +- _settings_8hpp_source.html | 2 +- _settings__test_8cpp.html | 2 +- _settings__test_8cpp_source.html | 2 +- _tetrahedron__test_8cpp.html | 2 +- _tetrahedron__test_8cpp_source.html | 6 +- _torus__d_8hpp.html | 2 +- _torus__d_8hpp_source.html | 2 +- _torus__test_8cpp.html | 2 +- _torus__test_8cpp_source.html | 2 +- _triangulation__traits_8hpp.html | 2 +- _triangulation__traits_8hpp_source.html | 2 +- _utilities_8hpp.html | 2 +- _utilities_8hpp_source.html | 2 +- _utilities__test_8cpp.html | 2 +- _utilities__test_8cpp_source.html | 4 +- _vertex__test_8cpp.html | 2 +- _vertex__test_8cpp_source.html | 2 +- annotated.html | 2 +- bistellar-flip_8cpp.html | 2 +- bistellar-flip_8cpp_source.html | 4 +- bug.html | 2 +- cdt-opt_8cpp.html | 2 +- cdt-opt_8cpp_source.html | 2 +- cdt-viewer_8cpp.html | 2 +- cdt-viewer_8cpp_source.html | 2 +- cdt_8cpp.html | 2 +- cdt_8cpp_source.html | 2 +- class_move_command-members.html | 2 +- class_move_command.html | 2 +- class_move_strategy.html | 2 +- ..._i_s_00_01_manifold_type_01_4-members.html | 2 +- ..._o_p_o_l_i_s_00_01_manifold_type_01_4.html | 2 +- ..._y_s_00_01_manifold_type_01_4-members.html | 2 +- ..._a_l_w_a_y_s_00_01_manifold_type_01_4.html | 2 +- classes.html | 2 +- ...ngulations_1_1_foliated_triangulation.html | 4 +- ...ated_triangulation_3_013_01_4-members.html | 4 +- ...1_1_foliated_triangulation_3_013_01_4.html | 122 +- ..._triangulation_3_013_01_4__coll__graph.md5 | 2 +- ..._triangulation_3_013_01_4__coll__graph.svg | 8 +- ...angulation_3_013_01_4__coll__graph_org.svg | 8 +- ...1_1_foliated_triangulation_3_014_01_4.html | 4 +- classmanifolds_1_1_manifold.html | 2 +- ...folds_1_1_manifold_3_013_01_4-members.html | 2 +- classmanifolds_1_1_manifold_3_013_01_4.html | 40 +- ...s_1_1_manifold_3_013_01_4__coll__graph.md5 | 2 +- ...s_1_1_manifold_3_013_01_4__coll__graph.svg | 8 +- ...1_manifold_3_013_01_4__coll__graph_org.svg | 8 +- ...folds_1_1_manifold_3_014_01_4-members.html | 2 +- classmanifolds_1_1_manifold_3_014_01_4.html | 2 +- ...ove__tracker_1_1_move_tracker-members.html | 2 +- classmove__tracker_1_1_move_tracker.html | 2 +- dir_000001_000000.html | 2 +- dir_000002_000000.html | 2 +- dir_59425e443f801f1f2fd8bbe4959a3ccf.html | 2 +- dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- dir_d44c64559bbebec7f509842c48db8b23.html | 2 +- files.html | 2 +- functions.html | 2 +- functions_c.html | 4 +- functions_d.html | 2 +- functions_e.html | 2 +- functions_f.html | 2 +- functions_func.html | 4 +- functions_g.html | 2 +- functions_i.html | 2 +- functions_k.html | 2 +- functions_l.html | 2 +- functions_m.html | 2 +- functions_n.html | 2 +- functions_o.html | 2 +- functions_p.html | 2 +- functions_r.html | 2 +- functions_rela.html | 2 +- functions_s.html | 2 +- functions_t.html | 2 +- functions_type.html | 2 +- functions_u.html | 2 +- functions_v.html | 2 +- functions_vars.html | 2 +- functions_~.html | 2 +- globals.html | 2 +- globals_enum.html | 2 +- globals_func.html | 2 +- globals_type.html | 2 +- globals_vars.html | 2 +- graph_legend.html | 2 +- index.html | 2 +- initialize_8cpp.html | 2 +- initialize_8cpp_source.html | 2 +- main_8cpp.html | 2 +- main_8cpp_source.html | 2 +- md__l_i_c_e_n_s_e.html | 2 +- optimize-initialize_8py_source.html | 2 +- pages.html | 2 +- search/all_2.js | 2 +- search/functions_2.js | 2 +- struct_geometry.html | 2 +- struct_geometry_3_013_01_4-members.html | 2 +- struct_geometry_3_013_01_4.html | 2 +- struct_geometry_3_014_01_4-members.html | 2 +- struct_geometry_3_014_01_4.html | 2 +- struct_triangulation_traits.html | 2 +- ...iangulation_traits_3_013_01_4-members.html | 2 +- struct_triangulation_traits_3_013_01_4.html | 2 +- test_8py_source.html | 2 +- todo.html | 2 +- 156 files changed, 1070 insertions(+), 1065 deletions(-) diff --git a/_apply__move_8hpp.html b/_apply__move_8hpp.html index 12f830ba9..439a4731b 100644 --- a/_apply__move_8hpp.html +++ b/_apply__move_8hpp.html @@ -184,7 +184,7 @@

diff --git a/_apply__move_8hpp_source.html b/_apply__move_8hpp_source.html index bdcce8314..5d11d5de1 100644 --- a/_apply__move_8hpp_source.html +++ b/_apply__move_8hpp_source.html @@ -119,7 +119,7 @@ diff --git a/_apply__move__test_8cpp.html b/_apply__move__test_8cpp.html index 58eae86f3..8d9a97733 100644 --- a/_apply__move__test_8cpp.html +++ b/_apply__move__test_8cpp.html @@ -111,7 +111,7 @@ diff --git a/_apply__move__test_8cpp_source.html b/_apply__move__test_8cpp_source.html index 4eaf67d0e..96772878a 100644 --- a/_apply__move__test_8cpp_source.html +++ b/_apply__move__test_8cpp_source.html @@ -270,7 +270,7 @@ diff --git a/_ergodic__moves__3_8hpp.html b/_ergodic__moves__3_8hpp.html index f6b7c7131..6d8d869e1 100644 --- a/_ergodic__moves__3_8hpp.html +++ b/_ergodic__moves__3_8hpp.html @@ -1038,7 +1038,7 @@

diff --git a/_ergodic__moves__3_8hpp_source.html b/_ergodic__moves__3_8hpp_source.html index e64338ba6..6c3705e04 100644 --- a/_ergodic__moves__3_8hpp_source.html +++ b/_ergodic__moves__3_8hpp_source.html @@ -876,7 +876,7 @@ diff --git a/_ergodic__moves__3__test_8cpp.html b/_ergodic__moves__3__test_8cpp.html index 6705784cd..a08c980c0 100644 --- a/_ergodic__moves__3__test_8cpp.html +++ b/_ergodic__moves__3__test_8cpp.html @@ -213,7 +213,7 @@

diff --git a/_ergodic__moves__3__test_8cpp_source.html b/_ergodic__moves__3__test_8cpp_source.html index 84e285cdc..9012d4e59 100644 --- a/_ergodic__moves__3__test_8cpp_source.html +++ b/_ergodic__moves__3__test_8cpp_source.html @@ -646,7 +646,7 @@ diff --git a/_foliated__triangulation_8hpp.html b/_foliated__triangulation_8hpp.html index e39d77439..2d456c8bc 100644 --- a/_foliated__triangulation_8hpp.html +++ b/_foliated__triangulation_8hpp.html @@ -790,7 +790,7 @@

References foliated_triangulations::expected_timevalue().

-

Referenced by foliated_triangulations::expected_timevalue(), and foliated_triangulations::FoliatedTriangulation< 3 >::print_vertices().

+

Referenced by foliated_triangulations::expected_timevalue(), and foliated_triangulations::FoliatedTriangulation< 3 >::print_vertices().

@@ -1767,11 +1767,11 @@

Returns
A container of (vertex, timevalue) pairs
-

Definition at line 860 of file Foliated_triangulation.hpp.

+

Definition at line 863 of file Foliated_triangulation.hpp.

-

References foliated_triangulations::make_foliated_ball().

+

References foliated_triangulations::make_foliated_ball().

-

Referenced by foliated_triangulations::make_foliated_ball().

+

Referenced by foliated_triangulations::make_foliated_ball().

@@ -1834,11 +1834,11 @@

Returns
A Delaunay triangulation with a timevalue for each vertex
-

Definition at line 894 of file Foliated_triangulation.hpp.

+

Definition at line 897 of file Foliated_triangulation.hpp.

-

References foliated_triangulations::make_triangulation().

+

References foliated_triangulations::make_triangulation().

-

Referenced by foliated_triangulations::make_triangulation().

+

Referenced by foliated_triangulations::make_triangulation().

@@ -2073,7 +2073,7 @@

diff --git a/_foliated__triangulation_8hpp_source.html b/_foliated__triangulation_8hpp_source.html index 6507d8b3f..1e32bf06c 100644 --- a/_foliated__triangulation_8hpp_source.html +++ b/_foliated__triangulation_8hpp_source.html @@ -713,576 +713,579 @@
836  std::inserter(vertices_to_remove, vertices_to_remove.begin()),
837  find_bad_vertex<dimension>);
838  // Remove the vertices
-
839  fmt::print("There are {} invalid vertices.\n", vertices_to_remove.size());
-
840  t_triangulation.remove(vertices_to_remove.begin(),
-
841  vertices_to_remove.end());
-
842  assert(t_triangulation.tds().is_valid());
-
843  assert(t_triangulation.is_valid());
-
844  return true;
-
845  }
-
846  return false;
-
847  } // fix_timevalues
-
848 
-
859  template <int dimension>
-
860  [[nodiscard]] auto make_foliated_ball(
-
861  Int_precision t_simplices, Int_precision t_timeslices,
-
862  double initial_radius = INITIAL_RADIUS,
-
863  double foliation_spacing = FOLIATION_SPACING)
-
864  {
-
865  Causal_vertices_t<dimension> causal_vertices;
-
866  causal_vertices.reserve(static_cast<std::size_t>(t_simplices));
-
867  auto const points_per_timeslice = utilities::expected_points_per_timeslice(
-
868  dimension, t_simplices, t_timeslices);
-
869  assert(points_per_timeslice >= 2);
-
870 
-
871  for (gsl::index i = 0; i < t_timeslices; ++i)
-
872  {
-
873  auto const radius =
-
874  initial_radius + static_cast<double>(i) * foliation_spacing;
-
875  Spherical_points_generator_t<dimension> gen{radius};
-
876  // Generate random points at the radius
-
877  for (gsl::index j = 0;
-
878  j < static_cast<Int_precision>(points_per_timeslice * radius); ++j)
-
879  {
-
880  causal_vertices.emplace_back(*gen++, i + 1);
-
881  } // j
-
882  } // i
-
883  return causal_vertices;
-
884  } // make_foliated_ball
-
885 
-
893  template <int dimension>
-
894  [[nodiscard]] auto make_triangulation(
-
895  Int_precision t_simplices, Int_precision t_timeslices,
-
896  double initial_radius = INITIAL_RADIUS,
-
897  double foliation_spacing = FOLIATION_SPACING) -> Delaunay_t<dimension>
-
898  {
-
899 #ifndef NDEBUG
-
900  spdlog::debug("{} called.\n", __PRETTY_FUNCTION__);
-
901 #endif
-
902  fmt::print("\nGenerating universe ...\n");
-
903 #ifdef CGAL_LINKED_WITH_TBB
-
904  // Construct the locking data-structure
-
905  // using the bounding-box of the points
-
906  auto bounding_box_size = static_cast<double>(t_timeslices + 1);
-
907  typename Delaunay_t<dimension>::Lock_data_structure locking_ds{
-
908  CGAL::Bbox_3{-bounding_box_size, -bounding_box_size, -bounding_box_size,
-
909  bounding_box_size, bounding_box_size, bounding_box_size},
-
910  50
-
911  };
-
912  Delaunay_t<dimension> triangulation =
-
913  Delaunay_t<dimension>{TriangulationTraits<3>::Kernel{}, &locking_ds};
-
914 #else
-
915  Delaunay_t<dimension> triangulation = Delaunay_t<dimension>{};
-
916 #endif
-
917 
-
918  // Make initial triangulation
-
919  auto causal_vertices = make_foliated_ball<dimension>(
-
920  t_simplices, t_timeslices, initial_radius, foliation_spacing);
-
921  triangulation.insert(causal_vertices.begin(), causal_vertices.end());
-
922 
-
923  // Fix vertices
-
924  for (auto passes = 1; passes < MAX_FIX_PASSES + 1; ++passes)
-
925  {
-
926  if (!fix_vertices<dimension>(triangulation, initial_radius,
-
927  foliation_spacing))
-
928  {
-
929  break;
-
930  }
-
931 #ifndef NDEBUG
-
932  spdlog::warn("Deleting incorrect vertices pass #{}\n", passes);
-
933 #endif
-
934  }
-
935 
-
936  // Fix timeslices
-
937  for (auto passes = 1; passes < MAX_FIX_PASSES + 1; ++passes)
-
938  {
-
939  if (!fix_timevalues<dimension>(triangulation)) { break; }
-
940 #ifndef NDEBUG
-
941  spdlog::warn("Fixing timeslices pass #{}\n", passes);
-
942 #endif
-
943  }
-
944 
-
945  // Fix cells
-
946  for (auto i = 1; i < MAX_FIX_PASSES + 1; ++i)
-
947  {
-
948  if (!fix_cells<dimension>(triangulation)) { break; }
-
949 #ifndef NDEBUG
-
950  spdlog::warn("Fixing incorrect cells pass #{}\n", i);
-
951 #endif
-
952  }
-
953 
-
954  utilities::print_delaunay(triangulation);
-
955  assert(!check_timevalues<dimension>(triangulation));
-
956  return triangulation;
-
957  } // make_triangulation
-
958 
-
961  template <int dimension>
- -
963 
-
971  template <>
-
972  class [[nodiscard("This contains data!")]] FoliatedTriangulation<3> // NOLINT
-
973  {
-
974  using Delaunay = Delaunay_t<3>;
-
975  using Cell_handle = Cell_handle_t<3>;
-
976  using Cell_container = std::vector<Cell_handle>;
-
977  using Face_container = std::vector<Face_handle_t<3>>;
-
978  using Edge_container = std::vector<Edge_handle_t<3>>;
-
979  using Vertex_handle = Vertex_handle_t<3>;
-
980  using Vertex_container = std::vector<Vertex_handle>;
-
981  using Volume_by_timeslice = std::multimap<Int_precision, Facet_t<3>>;
-
982 
-
985  Delaunay m_triangulation{Delaunay{}};
-
986  double m_initial_radius{INITIAL_RADIUS};
-
987  double m_foliation_spacing{FOLIATION_SPACING};
-
988  Vertex_container m_vertices;
-
989  Cell_container m_cells;
-
990  Cell_container m_three_one;
-
991  Cell_container m_two_two;
-
992  Cell_container m_one_three;
-
993  Face_container m_faces;
-
994  Volume_by_timeslice m_spacelike_facets;
-
995  Edge_container m_edges;
-
996  Edge_container m_timelike_edges;
-
997  Edge_container m_spacelike_edges;
-
998  Int_precision m_max_timevalue{0};
-
999  Int_precision m_min_timevalue{0};
-
1000 
-
1001  public:
- -
1004 
- +
839 #ifndef NDEBUG
+
840  spdlog::warn("There are {} invalid vertices.\n",
+
841  vertices_to_remove.size());
+
842 #endif
+
843  t_triangulation.remove(vertices_to_remove.begin(),
+
844  vertices_to_remove.end());
+
845  assert(t_triangulation.tds().is_valid());
+
846  assert(t_triangulation.is_valid());
+
847  return true;
+
848  }
+
849  return false;
+
850  } // fix_timevalues
+
851 
+
862  template <int dimension>
+
863  [[nodiscard]] auto make_foliated_ball(
+
864  Int_precision t_simplices, Int_precision t_timeslices,
+
865  double initial_radius = INITIAL_RADIUS,
+
866  double foliation_spacing = FOLIATION_SPACING)
+
867  {
+
868  Causal_vertices_t<dimension> causal_vertices;
+
869  causal_vertices.reserve(static_cast<std::size_t>(t_simplices));
+
870  auto const points_per_timeslice = utilities::expected_points_per_timeslice(
+
871  dimension, t_simplices, t_timeslices);
+
872  assert(points_per_timeslice >= 2);
+
873 
+
874  for (gsl::index i = 0; i < t_timeslices; ++i)
+
875  {
+
876  auto const radius =
+
877  initial_radius + static_cast<double>(i) * foliation_spacing;
+
878  Spherical_points_generator_t<dimension> gen{radius};
+
879  // Generate random points at the radius
+
880  for (gsl::index j = 0;
+
881  j < static_cast<Int_precision>(points_per_timeslice * radius); ++j)
+
882  {
+
883  causal_vertices.emplace_back(*gen++, i + 1);
+
884  } // j
+
885  } // i
+
886  return causal_vertices;
+
887  } // make_foliated_ball
+
888 
+
896  template <int dimension>
+
897  [[nodiscard]] auto make_triangulation(
+
898  Int_precision t_simplices, Int_precision t_timeslices,
+
899  double initial_radius = INITIAL_RADIUS,
+
900  double foliation_spacing = FOLIATION_SPACING) -> Delaunay_t<dimension>
+
901  {
+
902 #ifndef NDEBUG
+
903  spdlog::debug("{} called.\n", __PRETTY_FUNCTION__);
+
904 #endif
+
905  fmt::print("\nGenerating universe ...\n");
+
906 #ifdef CGAL_LINKED_WITH_TBB
+
907  // Construct the locking data-structure
+
908  // using the bounding-box of the points
+
909  auto bounding_box_size = static_cast<double>(t_timeslices + 1);
+
910  typename Delaunay_t<dimension>::Lock_data_structure locking_ds{
+
911  CGAL::Bbox_3{-bounding_box_size, -bounding_box_size, -bounding_box_size,
+
912  bounding_box_size, bounding_box_size, bounding_box_size},
+
913  50
+
914  };
+
915  Delaunay_t<dimension> triangulation =
+
916  Delaunay_t<dimension>{TriangulationTraits<3>::Kernel{}, &locking_ds};
+
917 #else
+
918  Delaunay_t<dimension> triangulation = Delaunay_t<dimension>{};
+
919 #endif
+
920 
+
921  // Make initial triangulation
+
922  auto causal_vertices = make_foliated_ball<dimension>(
+
923  t_simplices, t_timeslices, initial_radius, foliation_spacing);
+
924  triangulation.insert(causal_vertices.begin(), causal_vertices.end());
+
925 
+
926  // Fix vertices
+
927  for (auto passes = 1; passes < MAX_FIX_PASSES + 1; ++passes)
+
928  {
+
929  if (!fix_vertices<dimension>(triangulation, initial_radius,
+
930  foliation_spacing))
+
931  {
+
932  break;
+
933  }
+
934 #ifndef NDEBUG
+
935  spdlog::warn("Deleting incorrect vertices pass #{}\n", passes);
+
936 #endif
+
937  }
+
938 
+
939  // Fix timeslices
+
940  for (auto passes = 1; passes < MAX_FIX_PASSES + 1; ++passes)
+
941  {
+
942  if (!fix_timevalues<dimension>(triangulation)) { break; }
+
943 #ifndef NDEBUG
+
944  spdlog::warn("Fixing timeslices pass #{}\n", passes);
+
945 #endif
+
946  }
+
947 
+
948  // Fix cells
+
949  for (auto i = 1; i < MAX_FIX_PASSES + 1; ++i)
+
950  {
+
951  if (!fix_cells<dimension>(triangulation)) { break; }
+
952 #ifndef NDEBUG
+
953  spdlog::warn("Fixing incorrect cells pass #{}\n", i);
+
954 #endif
+
955  }
+
956 
+
957  utilities::print_delaunay(triangulation);
+
958  assert(!check_timevalues<dimension>(triangulation));
+
959  return triangulation;
+
960  } // make_triangulation
+
961 
+
964  template <int dimension>
+ +
966 
+
974  template <>
+
975  class [[nodiscard("This contains data!")]] FoliatedTriangulation<3> // NOLINT
+
976  {
+
977  using Delaunay = Delaunay_t<3>;
+
978  using Cell_handle = Cell_handle_t<3>;
+
979  using Cell_container = std::vector<Cell_handle>;
+
980  using Face_container = std::vector<Face_handle_t<3>>;
+
981  using Edge_container = std::vector<Edge_handle_t<3>>;
+
982  using Vertex_handle = Vertex_handle_t<3>;
+
983  using Vertex_container = std::vector<Vertex_handle>;
+
984  using Volume_by_timeslice = std::multimap<Int_precision, Facet_t<3>>;
+
985 
+
988  Delaunay m_triangulation{Delaunay{}};
+
989  double m_initial_radius{INITIAL_RADIUS};
+
990  double m_foliation_spacing{FOLIATION_SPACING};
+
991  Vertex_container m_vertices;
+
992  Cell_container m_cells;
+
993  Cell_container m_three_one;
+
994  Cell_container m_two_two;
+
995  Cell_container m_one_three;
+
996  Face_container m_faces;
+
997  Volume_by_timeslice m_spacelike_facets;
+
998  Edge_container m_edges;
+
999  Edge_container m_timelike_edges;
+
1000  Edge_container m_spacelike_edges;
+
1001  Int_precision m_max_timevalue{0};
+
1002  Int_precision m_min_timevalue{0};
+
1003 
+
1004  public:
+
1007 
- - -
1011  static_cast<Delaunay const&>(other.get_delaunay()),
-
1012  other.m_initial_radius, other.m_foliation_spacing)
-
1013  {}
-
1014 
-
1016  auto operator=(FoliatedTriangulation other) noexcept
- -
1018  {
-
1019  swap(other, *this);
-
1020  return *this;
-
1021  }
-
1022 
- - -
1026  {
-
1027  swap(other, *this);
-
1028  }
-
1029 
-
1036  friend void swap(FoliatedTriangulation<3>& swap_from,
-
1037  FoliatedTriangulation<3>& swap_into) noexcept
-
1038  {
-
1039 #ifndef NDEBUG
-
1040  spdlog::debug("{} called.\n", __PRETTY_FUNCTION__);
-
1041 #endif
-
1042  // Uses the triangulation swap method in CGAL
-
1043  // This assumes that the first triangulation is not used afterward!
-
1044  // See
-
1045  // https://doc.cgal.org/latest/Triangulation_3/classCGAL_1_1Triangulation__3.html#a767066a964b4d7b14376e5f5d1a04b34
-
1046  swap_into.m_triangulation.swap(swap_from.m_triangulation);
-
1047  using std::swap;
-
1048  swap(swap_from.m_initial_radius, swap_into.m_initial_radius);
-
1049  swap(swap_from.m_foliation_spacing, swap_into.m_foliation_spacing);
-
1050  swap(swap_from.m_vertices, swap_into.m_vertices);
-
1051  swap(swap_from.m_cells, swap_into.m_cells);
-
1052  swap(swap_from.m_three_one, swap_into.m_three_one);
-
1053  swap(swap_from.m_two_two, swap_into.m_two_two);
-
1054  swap(swap_from.m_one_three, swap_into.m_one_three);
-
1055  swap(swap_from.m_faces, swap_into.m_faces);
-
1056  swap(swap_from.m_spacelike_facets, swap_into.m_spacelike_facets);
-
1057  swap(swap_from.m_edges, swap_into.m_edges);
-
1058  swap(swap_from.m_timelike_edges, swap_into.m_timelike_edges);
-
1059  swap(swap_from.m_spacelike_edges, swap_into.m_spacelike_edges);
-
1060  swap(swap_from.m_max_timevalue, swap_into.m_max_timevalue);
-
1061  swap(swap_from.m_min_timevalue, swap_into.m_min_timevalue);
-
1062 
-
1063  } // swap
-
1064 
-
1069  explicit FoliatedTriangulation(Delaunay triangulation,
-
1070  double initial_radius = INITIAL_RADIUS,
-
1071  double foliation_spacing = FOLIATION_SPACING)
-
1072  : m_triangulation{std::move(triangulation)}
-
1073  , m_initial_radius{initial_radius}
-
1074  , m_foliation_spacing{foliation_spacing}
-
1075  , m_vertices{classify_vertices(collect_vertices<3>(m_triangulation))}
-
1076  , m_cells{classify_cells(collect_cells<3>(m_triangulation))}
-
1077  , m_three_one{filter_cells<3>(m_cells, Cell_type::THREE_ONE)}
-
1078  , m_two_two{filter_cells<3>(m_cells, Cell_type::TWO_TWO)}
-
1079  , m_one_three{filter_cells<3>(m_cells, Cell_type::ONE_THREE)}
-
1080  , m_faces{collect_faces()}
-
1081  , m_spacelike_facets{volume_per_timeslice<3>(std::span{m_faces})}
-
1082  , m_edges{collect_edges()}
-
1083  , m_timelike_edges{filter_edges<3>(m_edges, true)}
-
1084  , m_spacelike_edges{filter_edges<3>(m_edges, false)}
-
1085  , m_max_timevalue{find_max_timevalue<3>(std::span{m_vertices})}
-
1086  , m_min_timevalue{find_min_timevalue<3>(std::span{m_vertices})}
-
1087  {}
-
1088 
- -
1095  double t_initial_radius = INITIAL_RADIUS,
-
1096  double t_foliation_spacing = FOLIATION_SPACING)
- -
1098  make_triangulation<3>(t_simplices, t_timeslices, t_initial_radius,
-
1099  t_foliation_spacing),
-
1100  t_initial_radius, t_foliation_spacing}
-
1101  {}
-
1102 
- -
1107  Causal_vertices_t<3> const& causal_vertices,
-
1108  double t_initial_radius = INITIAL_RADIUS,
-
1109  double t_foliation_spacing = FOLIATION_SPACING)
- -
1111  Delaunay{causal_vertices.begin(), causal_vertices.end()},
-
1112  t_initial_radius, t_foliation_spacing
-
1113  }
-
1114  {}
-
1115 
-
1122  [[nodiscard]] auto is_foliated() const -> bool
-
1123  {
-
1124  return !static_cast<bool>(check_timevalues<3>(this->get_delaunay()));
-
1125  } // is_foliated
-
1126 
-
1128  [[nodiscard]] auto is_delaunay() const -> bool
-
1129  {
-
1130  return get_delaunay().is_valid();
-
1131  } // is_delaunay
-
1132 
-
1134  [[nodiscard]] auto is_tds_valid() const -> bool
-
1135  {
-
1136  return get_delaunay().tds().is_valid();
-
1137  } // is_tds_valid
-
1138 
-
1140  [[nodiscard]] auto is_correct() const -> bool
-
1141  {
-
1142  return is_foliated() && is_tds_valid() && check_all_cells();
-
1143  } // is_correct
-
1144 
-
1147  [[nodiscard]] auto is_initialized() const -> bool
-
1148  {
-
1149  return is_correct() && is_delaunay();
-
1150  } // is_initialized
-
1151 
-
1153  [[nodiscard]] auto is_fixed() -> bool
-
1154  {
-
1155  auto fixed_vertices = foliated_triangulations::fix_vertices<3>(
-
1156  m_triangulation, m_initial_radius, m_foliation_spacing);
-
1157  auto fixed_cells = foliated_triangulations::fix_cells<3>(m_triangulation);
-
1158  auto fixed_timeslices =
-
1159  foliated_triangulations::fix_timevalues<3>(m_triangulation);
-
1160  return fixed_vertices || fixed_cells || fixed_timeslices;
-
1161  } // is_fixed
-
1162 
-
1164  [[nodiscard]] auto delaunay() -> Delaunay& { return m_triangulation; }
+ +
1010 
+ + +
1014  static_cast<Delaunay const&>(other.get_delaunay()),
+
1015  other.m_initial_radius, other.m_foliation_spacing)
+
1016  {}
+
1017 
+
1019  auto operator=(FoliatedTriangulation other) noexcept
+ +
1021  {
+
1022  swap(other, *this);
+
1023  return *this;
+
1024  }
+
1025 
+ + +
1029  {
+
1030  swap(other, *this);
+
1031  }
+
1032 
+
1039  friend void swap(FoliatedTriangulation<3>& swap_from,
+
1040  FoliatedTriangulation<3>& swap_into) noexcept
+
1041  {
+
1042 #ifndef NDEBUG
+
1043  spdlog::debug("{} called.\n", __PRETTY_FUNCTION__);
+
1044 #endif
+
1045  // Uses the triangulation swap method in CGAL
+
1046  // This assumes that the first triangulation is not used afterward!
+
1047  // See
+
1048  // https://doc.cgal.org/latest/Triangulation_3/classCGAL_1_1Triangulation__3.html#a767066a964b4d7b14376e5f5d1a04b34
+
1049  swap_into.m_triangulation.swap(swap_from.m_triangulation);
+
1050  using std::swap;
+
1051  swap(swap_from.m_initial_radius, swap_into.m_initial_radius);
+
1052  swap(swap_from.m_foliation_spacing, swap_into.m_foliation_spacing);
+
1053  swap(swap_from.m_vertices, swap_into.m_vertices);
+
1054  swap(swap_from.m_cells, swap_into.m_cells);
+
1055  swap(swap_from.m_three_one, swap_into.m_three_one);
+
1056  swap(swap_from.m_two_two, swap_into.m_two_two);
+
1057  swap(swap_from.m_one_three, swap_into.m_one_three);
+
1058  swap(swap_from.m_faces, swap_into.m_faces);
+
1059  swap(swap_from.m_spacelike_facets, swap_into.m_spacelike_facets);
+
1060  swap(swap_from.m_edges, swap_into.m_edges);
+
1061  swap(swap_from.m_timelike_edges, swap_into.m_timelike_edges);
+
1062  swap(swap_from.m_spacelike_edges, swap_into.m_spacelike_edges);
+
1063  swap(swap_from.m_max_timevalue, swap_into.m_max_timevalue);
+
1064  swap(swap_from.m_min_timevalue, swap_into.m_min_timevalue);
+
1065 
+
1066  } // swap
+
1067 
+
1072  explicit FoliatedTriangulation(Delaunay triangulation,
+
1073  double initial_radius = INITIAL_RADIUS,
+
1074  double foliation_spacing = FOLIATION_SPACING)
+
1075  : m_triangulation{std::move(triangulation)}
+
1076  , m_initial_radius{initial_radius}
+
1077  , m_foliation_spacing{foliation_spacing}
+
1078  , m_vertices{classify_vertices(collect_vertices<3>(m_triangulation))}
+
1079  , m_cells{classify_cells(collect_cells<3>(m_triangulation))}
+
1080  , m_three_one{filter_cells<3>(m_cells, Cell_type::THREE_ONE)}
+
1081  , m_two_two{filter_cells<3>(m_cells, Cell_type::TWO_TWO)}
+
1082  , m_one_three{filter_cells<3>(m_cells, Cell_type::ONE_THREE)}
+
1083  , m_faces{collect_faces()}
+
1084  , m_spacelike_facets{volume_per_timeslice<3>(std::span{m_faces})}
+
1085  , m_edges{collect_edges()}
+
1086  , m_timelike_edges{filter_edges<3>(m_edges, true)}
+
1087  , m_spacelike_edges{filter_edges<3>(m_edges, false)}
+
1088  , m_max_timevalue{find_max_timevalue<3>(std::span{m_vertices})}
+
1089  , m_min_timevalue{find_min_timevalue<3>(std::span{m_vertices})}
+
1090  {}
+
1091 
+ +
1098  double t_initial_radius = INITIAL_RADIUS,
+
1099  double t_foliation_spacing = FOLIATION_SPACING)
+ +
1101  make_triangulation<3>(t_simplices, t_timeslices, t_initial_radius,
+
1102  t_foliation_spacing),
+
1103  t_initial_radius, t_foliation_spacing}
+
1104  {}
+
1105 
+ +
1110  Causal_vertices_t<3> const& causal_vertices,
+
1111  double t_initial_radius = INITIAL_RADIUS,
+
1112  double t_foliation_spacing = FOLIATION_SPACING)
+ +
1114  Delaunay{causal_vertices.begin(), causal_vertices.end()},
+
1115  t_initial_radius, t_foliation_spacing
+
1116  }
+
1117  {}
+
1118 
+
1125  [[nodiscard]] auto is_foliated() const -> bool
+
1126  {
+
1127  return !static_cast<bool>(check_timevalues<3>(this->get_delaunay()));
+
1128  } // is_foliated
+
1129 
+
1131  [[nodiscard]] auto is_delaunay() const -> bool
+
1132  {
+
1133  return get_delaunay().is_valid();
+
1134  } // is_delaunay
+
1135 
+
1137  [[nodiscard]] auto is_tds_valid() const -> bool
+
1138  {
+
1139  return get_delaunay().tds().is_valid();
+
1140  } // is_tds_valid
+
1141 
+
1143  [[nodiscard]] auto is_correct() const -> bool
+
1144  {
+
1145  return is_foliated() && is_tds_valid() && check_all_cells();
+
1146  } // is_correct
+
1147 
+
1150  [[nodiscard]] auto is_initialized() const -> bool
+
1151  {
+
1152  return is_correct() && is_delaunay();
+
1153  } // is_initialized
+
1154 
+
1156  [[nodiscard]] auto is_fixed() -> bool
+
1157  {
+
1158  auto fixed_vertices = foliated_triangulations::fix_vertices<3>(
+
1159  m_triangulation, m_initial_radius, m_foliation_spacing);
+
1160  auto fixed_cells = foliated_triangulations::fix_cells<3>(m_triangulation);
+
1161  auto fixed_timeslices =
+
1162  foliated_triangulations::fix_timevalues<3>(m_triangulation);
+
1163  return fixed_vertices || fixed_cells || fixed_timeslices;
+
1164  } // is_fixed
1165 
-
1167  [[nodiscard]] auto get_delaunay() const -> Delaunay const&
-
1168  {
-
1169  return std::cref(m_triangulation);
-
1170  } // get_delaunay
-
1171 
-
1173  [[nodiscard]] auto number_of_finite_cells() const
-
1174  {
-
1175  return m_triangulation.number_of_finite_cells();
-
1176  } // number_of_finite_cells
-
1177 
-
1179  [[nodiscard]] auto number_of_finite_facets() const
-
1180  {
-
1181  return m_triangulation.number_of_finite_facets();
-
1182  } // number_of_finite_facets
-
1183 
-
1185  [[nodiscard]] auto number_of_finite_edges() const
-
1186  {
-
1187  return m_triangulation.number_of_finite_edges();
-
1188  } // number_of_finite_edges
-
1189 
-
1191  [[nodiscard]] auto number_of_vertices() const
-
1192  {
-
1193  return m_triangulation.number_of_vertices();
-
1194  } // number_of_vertices
-
1195 
-
1198  template <typename VertexHandle>
-
1199  [[nodiscard]] auto is_infinite(VertexHandle&& t_vertex) const
-
1200  {
-
1201  return m_triangulation.is_infinite(std::forward<VertexHandle>(t_vertex));
-
1202  } // is_infinite
-
1203 
-
1212  template <typename... Ts>
-
1213  [[nodiscard]] auto flip(Ts&&... args)
-
1214  {
-
1215  return m_triangulation.flip(std::forward<Ts>(args)...);
-
1216  } // flip
-
1217 
-
1219  [[maybe_unused]] [[nodiscard]] auto infinite_vertex() const
-
1220  {
-
1221  return m_triangulation.infinite_vertex();
-
1222  } // infinite_vertex
-
1223 
-
1225  [[nodiscard]] auto dimension() const { return m_triangulation.dimension(); }
+
1167  [[nodiscard]] auto delaunay() -> Delaunay& { return m_triangulation; }
+
1168 
+
1170  [[nodiscard]] auto get_delaunay() const -> Delaunay const&
+
1171  {
+
1172  return std::cref(m_triangulation);
+
1173  } // get_delaunay
+
1174 
+
1176  [[nodiscard]] auto number_of_finite_cells() const
+
1177  {
+
1178  return m_triangulation.number_of_finite_cells();
+
1179  } // number_of_finite_cells
+
1180 
+
1182  [[nodiscard]] auto number_of_finite_facets() const
+
1183  {
+
1184  return m_triangulation.number_of_finite_facets();
+
1185  } // number_of_finite_facets
+
1186 
+
1188  [[nodiscard]] auto number_of_finite_edges() const
+
1189  {
+
1190  return m_triangulation.number_of_finite_edges();
+
1191  } // number_of_finite_edges
+
1192 
+
1194  [[nodiscard]] auto number_of_vertices() const
+
1195  {
+
1196  return m_triangulation.number_of_vertices();
+
1197  } // number_of_vertices
+
1198 
+
1201  template <typename VertexHandle>
+
1202  [[nodiscard]] auto is_infinite(VertexHandle&& t_vertex) const
+
1203  {
+
1204  return m_triangulation.is_infinite(std::forward<VertexHandle>(t_vertex));
+
1205  } // is_infinite
+
1206 
+
1215  template <typename... Ts>
+
1216  [[nodiscard]] auto flip(Ts&&... args)
+
1217  {
+
1218  return m_triangulation.flip(std::forward<Ts>(args)...);
+
1219  } // flip
+
1220 
+
1222  [[maybe_unused]] [[nodiscard]] auto infinite_vertex() const
+
1223  {
+
1224  return m_triangulation.infinite_vertex();
+
1225  } // infinite_vertex
1226 
-
1228  [[nodiscard]] auto N2_SL() const
-
1229  -> std::multimap<Int_precision,
-
1230  typename TriangulationTraits<3>::Facet> const&
-
1231  {
-
1232  return m_spacelike_facets;
-
1233  } // N2_SL
-
1234 
-
1236  [[nodiscard]] auto N1_TL() const
-
1237  {
-
1238  return static_cast<Int_precision>(m_timelike_edges.size());
-
1239  } // N1_TL
-
1240 
-
1242  [[nodiscard]] auto N1_SL() const
-
1243  {
-
1244  return static_cast<Int_precision>(m_spacelike_edges.size());
-
1245  } // N1_SL
-
1246 
-
1248  [[nodiscard]] auto get_timelike_edges() const noexcept
-
1249  -> Edge_container const&
-
1250  {
-
1251  return m_timelike_edges;
-
1252  } // get_timelike_edges
-
1253 
-
1255  [[nodiscard]] auto get_spacelike_edges() const -> Edge_container const&
-
1256  {
-
1257  return m_spacelike_edges;
-
1258  } // get_spacelike_edges
-
1259 
-
1261  [[nodiscard]] auto get_vertices() const noexcept -> Vertex_container const&
-
1262  {
-
1263  return m_vertices;
-
1264  } // get_vertices
-
1265 
-
1267  [[nodiscard]] auto get_vertices_span() const noexcept
-
1268  -> std::span<Vertex_handle const>
-
1269  {
-
1270  return std::span{m_vertices};
-
1271  } // get_vertices_span
-
1272 
-
1274  [[nodiscard]] auto max_time() const { return m_max_timevalue; }
+
1228  [[nodiscard]] auto dimension() const { return m_triangulation.dimension(); }
+
1229 
+
1231  [[nodiscard]] auto N2_SL() const
+
1232  -> std::multimap<Int_precision,
+
1233  typename TriangulationTraits<3>::Facet> const&
+
1234  {
+
1235  return m_spacelike_facets;
+
1236  } // N2_SL
+
1237 
+
1239  [[nodiscard]] auto N1_TL() const
+
1240  {
+
1241  return static_cast<Int_precision>(m_timelike_edges.size());
+
1242  } // N1_TL
+
1243 
+
1245  [[nodiscard]] auto N1_SL() const
+
1246  {
+
1247  return static_cast<Int_precision>(m_spacelike_edges.size());
+
1248  } // N1_SL
+
1249 
+
1251  [[nodiscard]] auto get_timelike_edges() const noexcept
+
1252  -> Edge_container const&
+
1253  {
+
1254  return m_timelike_edges;
+
1255  } // get_timelike_edges
+
1256 
+
1258  [[nodiscard]] auto get_spacelike_edges() const -> Edge_container const&
+
1259  {
+
1260  return m_spacelike_edges;
+
1261  } // get_spacelike_edges
+
1262 
+
1264  [[nodiscard]] auto get_vertices() const noexcept -> Vertex_container const&
+
1265  {
+
1266  return m_vertices;
+
1267  } // get_vertices
+
1268 
+
1270  [[nodiscard]] auto get_vertices_span() const noexcept
+
1271  -> std::span<Vertex_handle const>
+
1272  {
+
1273  return std::span{m_vertices};
+
1274  } // get_vertices_span
1275 
-
1277  [[nodiscard]] auto min_time() const { return m_min_timevalue; }
+
1277  [[nodiscard]] auto max_time() const { return m_max_timevalue; }
1278 
-
1280  [[nodiscard]] auto initial_radius() const { return m_initial_radius; }
+
1280  [[nodiscard]] auto min_time() const { return m_min_timevalue; }
1281 
-
1283  [[nodiscard]] auto foliation_spacing() const { return m_foliation_spacing; }
+
1283  [[nodiscard]] auto initial_radius() const { return m_initial_radius; }
1284 
-
1289  template <typename VertexHandle>
-
1290  [[nodiscard]] auto degree(VertexHandle&& t_vertex) const
-
1291  {
-
1292  return m_triangulation.degree(std::forward<VertexHandle>(t_vertex));
-
1293  } // degree
-
1294 
-
1303  template <typename VertexHandle>
-
1304  [[nodiscard]] auto incident_cells(VertexHandle&& t_vh) const noexcept
-
1305  -> decltype(auto)
-
1306  {
-
1307  Cell_container inc_cells;
-
1308  get_delaunay().tds().incident_cells(std::forward<VertexHandle>(t_vh),
-
1309  std::back_inserter(inc_cells));
-
1310  return inc_cells;
-
1311  } // incident_cells
-
1312 
-
1320  template <typename... Ts>
-
1321  [[nodiscard]] auto incident_cells(Ts&&... args) const noexcept
-
1322  -> decltype(auto)
-
1323  {
-
1324  return get_delaunay().tds().incident_cells(std::forward<Ts>(args)...);
-
1325  } // incident_cells
-
1326 
- -
1332  Vertex_handle_t<3> const t_vertex) const -> bool
-
1333  {
-
1334  auto const actual_radius_squared = squared_radius<3>(t_vertex);
-
1335  auto const radius = expected_radius(t_vertex);
-
1336  auto const expected_radius_squared = std::pow(radius, 2);
-
1337  return (
-
1338  actual_radius_squared > expected_radius_squared * (1 - TOLERANCE) &&
-
1339  actual_radius_squared < expected_radius_squared * (1 + TOLERANCE));
-
1340  } // does_vertex_radius_match_timevalue
-
1341 
-
1351  [[nodiscard]] auto expected_radius(Vertex_handle_t<3> const& t_vertex) const
-
1352  -> double
-
1353  {
-
1354  auto const timevalue = t_vertex->info();
-
1355  return m_initial_radius + m_foliation_spacing * (timevalue - 1);
-
1356  } // expected_radial_distance
-
1357 
-
1361  [[nodiscard]] auto expected_timevalue(
-
1362  Vertex_handle_t<3> const& t_vertex) const -> int
-
1363  {
-
1364  return foliated_triangulations::expected_timevalue<3>(
-
1365  t_vertex, m_initial_radius, m_foliation_spacing);
-
1366  } // expected_timevalue
-
1367 
-
1369  [[nodiscard]] auto check_all_vertices() const -> bool
-
1370  {
-
1371  return foliated_triangulations::check_vertices<3>(
-
1372  m_triangulation, m_initial_radius, m_foliation_spacing);
-
1373  } // check_all_vertices
-
1374 
-
1376  [[nodiscard]] auto find_incorrect_vertices() const
-
1377  {
-
1378  return foliated_triangulations::find_incorrect_vertices<3>(
-
1379  m_triangulation, m_initial_radius, m_foliation_spacing);
-
1380  } // find_incorrect_vertices
-
1381 
-
1384  [[nodiscard]] auto fix_vertices() const -> bool
-
1385  {
-
1386  return foliated_triangulations::fix_vertices<3>(
-
1387  m_triangulation, m_initial_radius, m_foliation_spacing);
-
1388  } // fix_vertices
-
1389 
-
1391  void print_vertices() const
-
1392  {
-
1393  for (auto const& vertex : m_vertices)
-
1394  {
-
1395  fmt::print("Vertex Point: ({}) Timevalue: {} Expected Timevalue: {}\n",
-
1396  utilities::point_to_str(vertex->point()), vertex->info(),
-
1397  expected_timevalue(vertex));
-
1398  }
-
1399  } // print_vertices
-
1400 
-
1403  void print_edges() const
-
1404  {
-
1405  for (auto const& edge : m_edges)
-
1406  {
-
1407  if (classify_edge<3>(edge)) { fmt::print("==> timelike\n"); }
-
1408  else { fmt::print("==> spacelike\n"); }
-
1409  }
-
1410  } // print_edges
-
1411 
- -
1414  {
-
1415  for (auto j = min_time(); j <= max_time(); ++j)
-
1416  {
-
1417  fmt::print("Timeslice {} has {} spacelike faces.\n", j,
-
1418  m_spacelike_facets.count(j));
-
1419  }
-
1420  } // print_volume_per_timeslice
-
1421 
-
1423  [[nodiscard]] auto get_cells() const -> Cell_container const&
-
1424  {
-
1425  assert(m_cells.size() == number_of_finite_cells());
-
1426  return m_cells;
-
1427  } // get_cells
-
1428 
-
1430  [[nodiscard]] auto get_three_one() const noexcept
-
1431  -> std::span<Cell_handle const>
-
1432  {
-
1433  return std::span{m_three_one};
-
1434  } // get_three_one
-
1435 
-
1437  [[nodiscard]] auto get_two_two() const noexcept -> Cell_container const&
-
1438  {
-
1439  return m_two_two;
-
1440  } // get_two_two
-
1441 
-
1443  [[nodiscard]] auto get_one_three() const noexcept -> Cell_container const&
-
1444  {
-
1445  return m_one_three;
-
1446  } // get_one_three
-
1447 
-
1453  [[nodiscard]] auto check_all_cells() const -> bool
-
1454  {
-
1455  return foliated_triangulations::check_cells<3>(get_delaunay());
-
1456  } // check_all_cells
-
1457 
-
1459  auto fix_cells() const -> bool
-
1460  {
-
1461  return foliated_triangulations::fix_cells<3>(get_delaunay());
-
1462  } // fix_cells
-
1463 
-
1466  void print_cells() const
-
1467  {
-
1468  foliated_triangulations::print_cells<3>(m_cells);
-
1469  }
-
1470 
-
1472  void print() const
-
1473  {
-
1474  fmt::print(
-
1475  "Triangulation has {} vertices and {} edges and {} faces and {} "
-
1476  "simplices.\n",
-
1477  this->number_of_vertices(), this->number_of_finite_edges(),
-
1478  this->number_of_finite_facets(), this->number_of_finite_cells());
-
1479  }
-
1480 
-
1481  private:
-
1482  [[nodiscard]] auto classify_vertices(Vertex_container const& vertices) const
-
1483  -> Vertex_container
-
1484  {
-
1485  assert(vertices.size() == number_of_vertices());
-
1486  for (auto const& vertex : vertices)
-
1487  {
-
1488  vertex->info() = expected_timevalue(vertex);
-
1489  }
-
1490  return vertices;
-
1491  } // classify_vertices
-
1492 
-
1496  [[nodiscard]] static auto classify_cells(Cell_container const& cells)
-
1497  -> Cell_container
-
1498  {
-
1499  assert(cells.size() == number_of_finite_cells());
-
1500  for (auto const& cell : cells)
-
1501  {
-
1502  cell->info() = static_cast<int>(expected_cell_type<3>(cell));
-
1503  }
-
1504  return cells;
-
1505  } // classify_cells
-
1506 
-
1508  [[nodiscard]] auto collect_faces() const -> Face_container
-
1509  {
-
1510  // Somewhere in bistellar_flip_really a vertex is rendered invalid
-
1511  assert(is_tds_valid());
-
1512  Face_container init_faces;
-
1513  init_faces.reserve(get_delaunay().number_of_finite_facets());
-
1514  for (auto fit = get_delaunay().finite_facets_begin();
-
1515  fit != get_delaunay().finite_facets_end(); ++fit)
-
1516  {
-
1517  Cell_handle_t<3> const cell = fit->first;
-
1518  // Each face is valid in the triangulation
-
1519  assert(get_delaunay().tds().is_facet(cell, fit->second));
-
1520  Face_handle_t<3> const thisFacet{std::make_pair(cell, fit->second)};
-
1521  init_faces.emplace_back(thisFacet);
-
1522  }
-
1523  assert(init_faces.size() == get_delaunay().number_of_finite_facets());
-
1524  return init_faces;
-
1525  } // collect_faces
-
1526 
-
1528  [[nodiscard]] auto collect_edges() const -> Edge_container
-
1529  {
-
1530  assert(is_tds_valid());
-
1531  Edge_container init_edges;
-
1532  init_edges.reserve(number_of_finite_edges());
-
1533  for (auto eit = get_delaunay().finite_edges_begin();
-
1534  eit != get_delaunay().finite_edges_end(); ++eit)
-
1535  {
-
1536  Cell_handle_t<3> const cell = eit->first;
-
1537  Edge_handle_t<3> const thisEdge{cell,
-
1538  cell->index(cell->vertex(eit->second)),
-
1539  cell->index(cell->vertex(eit->third))};
-
1540  // Each edge is valid in the triangulation
-
1541  assert(get_delaunay().tds().is_valid(thisEdge.first, thisEdge.second,
-
1542  thisEdge.third));
-
1543  init_edges.emplace_back(thisEdge);
-
1544  }
-
1545  assert(init_edges.size() == number_of_finite_edges());
-
1546  return init_edges;
-
1547  } // collect_edges
-
1548  };
-
1549 
-
1550  using FoliatedTriangulation_3 = FoliatedTriangulation<3>;
-
1551 
-
1553  template <>
-
1554  class [[nodiscard("This contains data!")]] FoliatedTriangulation<4>
-
1555  {};
-
1556 
- -
1558 
-
1559 } // namespace foliated_triangulations
-
1560 
-
1561 #endif // CDT_PLUSPLUS_FOLIATEDTRIANGULATION_HPP
-
auto make_foliated_ball(Int_precision t_simplices, Int_precision t_timeslices, double initial_radius=INITIAL_RADIUS, double foliation_spacing=FOLIATION_SPACING)
Make foliated ball.
+
1286  [[nodiscard]] auto foliation_spacing() const { return m_foliation_spacing; }
+
1287 
+
1292  template <typename VertexHandle>
+
1293  [[nodiscard]] auto degree(VertexHandle&& t_vertex) const
+
1294  {
+
1295  return m_triangulation.degree(std::forward<VertexHandle>(t_vertex));
+
1296  } // degree
+
1297 
+
1306  template <typename VertexHandle>
+
1307  [[nodiscard]] auto incident_cells(VertexHandle&& t_vh) const noexcept
+
1308  -> decltype(auto)
+
1309  {
+
1310  Cell_container inc_cells;
+
1311  get_delaunay().tds().incident_cells(std::forward<VertexHandle>(t_vh),
+
1312  std::back_inserter(inc_cells));
+
1313  return inc_cells;
+
1314  } // incident_cells
+
1315 
+
1323  template <typename... Ts>
+
1324  [[nodiscard]] auto incident_cells(Ts&&... args) const noexcept
+
1325  -> decltype(auto)
+
1326  {
+
1327  return get_delaunay().tds().incident_cells(std::forward<Ts>(args)...);
+
1328  } // incident_cells
+
1329 
+ +
1335  Vertex_handle_t<3> const t_vertex) const -> bool
+
1336  {
+
1337  auto const actual_radius_squared = squared_radius<3>(t_vertex);
+
1338  auto const radius = expected_radius(t_vertex);
+
1339  auto const expected_radius_squared = std::pow(radius, 2);
+
1340  return (
+
1341  actual_radius_squared > expected_radius_squared * (1 - TOLERANCE) &&
+
1342  actual_radius_squared < expected_radius_squared * (1 + TOLERANCE));
+
1343  } // does_vertex_radius_match_timevalue
+
1344 
+
1354  [[nodiscard]] auto expected_radius(Vertex_handle_t<3> const& t_vertex) const
+
1355  -> double
+
1356  {
+
1357  auto const timevalue = t_vertex->info();
+
1358  return m_initial_radius + m_foliation_spacing * (timevalue - 1);
+
1359  } // expected_radial_distance
+
1360 
+
1364  [[nodiscard]] auto expected_timevalue(
+
1365  Vertex_handle_t<3> const& t_vertex) const -> int
+
1366  {
+
1367  return foliated_triangulations::expected_timevalue<3>(
+
1368  t_vertex, m_initial_radius, m_foliation_spacing);
+
1369  } // expected_timevalue
+
1370 
+
1372  [[nodiscard]] auto check_all_vertices() const -> bool
+
1373  {
+
1374  return foliated_triangulations::check_vertices<3>(
+
1375  m_triangulation, m_initial_radius, m_foliation_spacing);
+
1376  } // check_all_vertices
+
1377 
+
1379  [[nodiscard]] auto find_incorrect_vertices() const
+
1380  {
+
1381  return foliated_triangulations::find_incorrect_vertices<3>(
+
1382  m_triangulation, m_initial_radius, m_foliation_spacing);
+
1383  } // find_incorrect_vertices
+
1384 
+
1387  [[nodiscard]] auto fix_vertices() const -> bool
+
1388  {
+
1389  return foliated_triangulations::fix_vertices<3>(
+
1390  m_triangulation, m_initial_radius, m_foliation_spacing);
+
1391  } // fix_vertices
+
1392 
+
1394  void print_vertices() const
+
1395  {
+
1396  for (auto const& vertex : m_vertices)
+
1397  {
+
1398  fmt::print("Vertex Point: ({}) Timevalue: {} Expected Timevalue: {}\n",
+
1399  utilities::point_to_str(vertex->point()), vertex->info(),
+
1400  expected_timevalue(vertex));
+
1401  }
+
1402  } // print_vertices
+
1403 
+
1406  void print_edges() const
+
1407  {
+
1408  for (auto const& edge : m_edges)
+
1409  {
+
1410  if (classify_edge<3>(edge)) { fmt::print("==> timelike\n"); }
+
1411  else { fmt::print("==> spacelike\n"); }
+
1412  }
+
1413  } // print_edges
+
1414 
+ +
1417  {
+
1418  for (auto j = min_time(); j <= max_time(); ++j)
+
1419  {
+
1420  fmt::print("Timeslice {} has {} spacelike faces.\n", j,
+
1421  m_spacelike_facets.count(j));
+
1422  }
+
1423  } // print_volume_per_timeslice
+
1424 
+
1426  [[nodiscard]] auto get_cells() const -> Cell_container const&
+
1427  {
+
1428  assert(m_cells.size() == number_of_finite_cells());
+
1429  return m_cells;
+
1430  } // get_cells
+
1431 
+
1433  [[nodiscard]] auto get_three_one() const noexcept
+
1434  -> std::span<Cell_handle const>
+
1435  {
+
1436  return std::span{m_three_one};
+
1437  } // get_three_one
+
1438 
+
1440  [[nodiscard]] auto get_two_two() const noexcept -> Cell_container const&
+
1441  {
+
1442  return m_two_two;
+
1443  } // get_two_two
+
1444 
+
1446  [[nodiscard]] auto get_one_three() const noexcept -> Cell_container const&
+
1447  {
+
1448  return m_one_three;
+
1449  } // get_one_three
+
1450 
+
1456  [[nodiscard]] auto check_all_cells() const -> bool
+
1457  {
+
1458  return foliated_triangulations::check_cells<3>(get_delaunay());
+
1459  } // check_all_cells
+
1460 
+
1462  auto fix_cells() const -> bool
+
1463  {
+
1464  return foliated_triangulations::fix_cells<3>(get_delaunay());
+
1465  } // fix_cells
+
1466 
+
1469  void print_cells() const
+
1470  {
+
1471  foliated_triangulations::print_cells<3>(m_cells);
+
1472  }
+
1473 
+
1475  void print() const
+
1476  {
+
1477  fmt::print(
+
1478  "Triangulation has {} vertices and {} edges and {} faces and {} "
+
1479  "simplices.\n",
+
1480  this->number_of_vertices(), this->number_of_finite_edges(),
+
1481  this->number_of_finite_facets(), this->number_of_finite_cells());
+
1482  }
+
1483 
+
1484  private:
+
1485  [[nodiscard]] auto classify_vertices(Vertex_container const& vertices) const
+
1486  -> Vertex_container
+
1487  {
+
1488  assert(vertices.size() == number_of_vertices());
+
1489  for (auto const& vertex : vertices)
+
1490  {
+
1491  vertex->info() = expected_timevalue(vertex);
+
1492  }
+
1493  return vertices;
+
1494  } // classify_vertices
+
1495 
+
1499  [[nodiscard]] auto classify_cells(Cell_container const& cells) const
+
1500  -> Cell_container
+
1501  {
+
1502  assert(cells.size() == number_of_finite_cells());
+
1503  for (auto const& cell : cells)
+
1504  {
+
1505  cell->info() = static_cast<int>(expected_cell_type<3>(cell));
+
1506  }
+
1507  return cells;
+
1508  } // classify_cells
+
1509 
+
1511  [[nodiscard]] auto collect_faces() const -> Face_container
+
1512  {
+
1513  // Somewhere in bistellar_flip_really a vertex is rendered invalid
+
1514  assert(is_tds_valid());
+
1515  Face_container init_faces;
+
1516  init_faces.reserve(get_delaunay().number_of_finite_facets());
+
1517  for (auto fit = get_delaunay().finite_facets_begin();
+
1518  fit != get_delaunay().finite_facets_end(); ++fit)
+
1519  {
+
1520  Cell_handle_t<3> const cell = fit->first;
+
1521  // Each face is valid in the triangulation
+
1522  assert(get_delaunay().tds().is_facet(cell, fit->second));
+
1523  Face_handle_t<3> const thisFacet{std::make_pair(cell, fit->second)};
+
1524  init_faces.emplace_back(thisFacet);
+
1525  }
+
1526  assert(init_faces.size() == get_delaunay().number_of_finite_facets());
+
1527  return init_faces;
+
1528  } // collect_faces
+
1529 
+
1531  [[nodiscard]] auto collect_edges() const -> Edge_container
+
1532  {
+
1533  assert(is_tds_valid());
+
1534  Edge_container init_edges;
+
1535  init_edges.reserve(number_of_finite_edges());
+
1536  for (auto eit = get_delaunay().finite_edges_begin();
+
1537  eit != get_delaunay().finite_edges_end(); ++eit)
+
1538  {
+
1539  Cell_handle_t<3> const cell = eit->first;
+
1540  Edge_handle_t<3> const thisEdge{cell,
+
1541  cell->index(cell->vertex(eit->second)),
+
1542  cell->index(cell->vertex(eit->third))};
+
1543  // Each edge is valid in the triangulation
+
1544  assert(get_delaunay().tds().is_valid(thisEdge.first, thisEdge.second,
+
1545  thisEdge.third));
+
1546  init_edges.emplace_back(thisEdge);
+
1547  }
+
1548  assert(init_edges.size() == number_of_finite_edges());
+
1549  return init_edges;
+
1550  } // collect_edges
+
1551  };
+
1552 
+
1553  using FoliatedTriangulation_3 = FoliatedTriangulation<3>;
+
1554 
+
1556  template <>
+
1557  class [[nodiscard("This contains data!")]] FoliatedTriangulation<4>
+
1558  {};
+
1559 
+ +
1561 
+
1562 } // namespace foliated_triangulations
+
1563 
+
1564 #endif // CDT_PLUSPLUS_FOLIATEDTRIANGULATION_HPP
+
auto make_foliated_ball(Int_precision t_simplices, Int_precision t_timeslices, double initial_radius=INITIAL_RADIUS, double foliation_spacing=FOLIATION_SPACING)
Make foliated ball.
void print_edge(Edge_handle_t< dimension > const &t_edge)
Print edge.
auto find_min_timevalue(Container &&t_vertices) -> Int_precision
auto is_vertex_timevalue_correct(Vertex_handle_t< dimension > const &t_vertex, double t_initial_radius, double t_foliation_spacing) -> bool
Checks if vertex timevalue is correct.
@@ -1292,7 +1295,7 @@
auto fix_vertices(std::vector< Cell_handle_t< dimension >> const &t_cells, double t_initial_radius, double t_foliation_spacing)
Fix vertices with incorrect timevalues.
auto fix_timevalues(Delaunay_t< dimension > &t_triangulation) -> bool
Fix the vertices of a cell to be consistent with the foliation.
auto check_cells(Delaunay_t< dimension > const &t_triangulation) -> bool
Check all finite cells in the Delaunay triangulation.
-
auto make_triangulation(Int_precision t_simplices, Int_precision t_timeslices, double initial_radius=INITIAL_RADIUS, double foliation_spacing=FOLIATION_SPACING) -> Delaunay_t< dimension >
Make a Delaunay triangulation.
+
auto make_triangulation(Int_precision t_simplices, Int_precision t_timeslices, double initial_radius=INITIAL_RADIUS, double foliation_spacing=FOLIATION_SPACING) -> Delaunay_t< dimension >
Make a Delaunay triangulation.
auto collect_vertices(Delaunay_t< dimension > const &t_triangulation)
Obtain all finite vertices in the Delaunay triangulation.
auto is_cell_type_correct(Cell_handle_t< dimension > const &t_cell) -> bool
Checks if a cell is classified correctly.
auto expected_timevalue(Vertex_handle_t< dimension > const &t_vertex, double t_initial_radius, double t_foliation_spacing) -> Int_precision
Find the expected timevalue for a vertex.
@@ -1322,73 +1325,73 @@
static double constinit const INITIAL_RADIUS
Default foliated triangulation spacings.
Definition: Settings.hpp:47
Traits class for particular uses of CGAL.
Utility functions.
- -
auto incident_cells(Ts &&... args) const noexcept -> decltype(auto)
Perfect forwarding to TriangulationDataStructure_3::incident_cells.
- - - - -
FoliatedTriangulation(FoliatedTriangulation &&other) noexcept
Move ctor.
-
auto is_foliated() const -> bool
Verifies the triangulation is properly foliated.
-
void print_edges() const
Print timevalues of each vertex in the edge and classify as timelike or spacelike.
- -
auto get_vertices_span() const noexcept -> std::span< Vertex_handle const >
- - -
auto degree(VertexHandle &&t_vertex) const
Perfect forwarding to TriangulationDataStructure_3::degree.
-
FoliatedTriangulation(Causal_vertices_t< 3 > const &causal_vertices, double t_initial_radius=INITIAL_RADIUS, double t_foliation_spacing=FOLIATION_SPACING)
Constructor from Causal_vertices.
- -
auto get_spacelike_edges() const -> Edge_container const &
-
auto N2_SL() const -> std::multimap< Int_precision, typename TriangulationTraits< 3 >::Facet > const &
-
auto get_one_three() const noexcept -> Cell_container const &
- - - -
void print_volume_per_timeslice() const
Print the number of spacelike faces per timeslice.
+ +
auto incident_cells(Ts &&... args) const noexcept -> decltype(auto)
Perfect forwarding to TriangulationDataStructure_3::incident_cells.
+ + + + +
FoliatedTriangulation(FoliatedTriangulation &&other) noexcept
Move ctor.
+
auto is_foliated() const -> bool
Verifies the triangulation is properly foliated.
+
void print_edges() const
Print timevalues of each vertex in the edge and classify as timelike or spacelike.
+ +
auto get_vertices_span() const noexcept -> std::span< Vertex_handle const >
+ + +
auto degree(VertexHandle &&t_vertex) const
Perfect forwarding to TriangulationDataStructure_3::degree.
+
FoliatedTriangulation(Causal_vertices_t< 3 > const &causal_vertices, double t_initial_radius=INITIAL_RADIUS, double t_foliation_spacing=FOLIATION_SPACING)
Constructor from Causal_vertices.
+ +
auto get_spacelike_edges() const -> Edge_container const &
+
auto N2_SL() const -> std::multimap< Int_precision, typename TriangulationTraits< 3 >::Facet > const &
+
auto get_one_three() const noexcept -> Cell_container const &
+ + + +
void print_volume_per_timeslice() const
Print the number of spacelike faces per timeslice.
- -
auto get_three_one() const noexcept -> std::span< Cell_handle const >
- -
auto does_vertex_radius_match_timevalue(Vertex_handle_t< 3 > const t_vertex) const -> bool
Check the radius of a vertex from the origin with its timevalue.
-
FoliatedTriangulation(Int_precision t_simplices, Int_precision t_timeslices, double t_initial_radius=INITIAL_RADIUS, double t_foliation_spacing=FOLIATION_SPACING)
Constructor with parameters.
-
FoliatedTriangulation(FoliatedTriangulation const &other) noexcept
Copy Constructor.
- -
auto flip(Ts &&... args)
Call one of the TSD3.flip functions.
-
auto get_timelike_edges() const noexcept -> Edge_container const &
-
static auto classify_cells(Cell_container const &cells) -> Cell_container
Classify cells.
- -
auto fix_vertices() const -> bool
Fix vertices with wrong timevalues after foliation.
-
auto fix_cells() const -> bool
Fix all cells in the triangulation.
-
void print() const
Print triangulation statistics.
-
auto get_vertices() const noexcept -> Vertex_container const &
-
auto operator=(FoliatedTriangulation other) noexcept -> FoliatedTriangulation &
Copy/Move Assignment operator.
- - -
auto incident_cells(VertexHandle &&t_vh) const noexcept -> decltype(auto)
Perfect forwarding to TriangulationDataStructure_3::incident_cells.
-
auto expected_timevalue(Vertex_handle_t< 3 > const &t_vertex) const -> int
Calculate the expected timevalue for a vertex.
-
auto get_two_two() const noexcept -> Cell_container const &
-
FoliatedTriangulation(Delaunay triangulation, double initial_radius=INITIAL_RADIUS, double foliation_spacing=FOLIATION_SPACING)
Constructor using delaunay triangulation Pass-by-value-then-move. Delaunay is the ctor for the Delaun...
- -
auto expected_radius(Vertex_handle_t< 3 > const &t_vertex) const -> double
Calculates the expected radial distance of a vertex.
- + +
auto get_three_one() const noexcept -> std::span< Cell_handle const >
+ +
auto does_vertex_radius_match_timevalue(Vertex_handle_t< 3 > const t_vertex) const -> bool
Check the radius of a vertex from the origin with its timevalue.
+
FoliatedTriangulation(Int_precision t_simplices, Int_precision t_timeslices, double t_initial_radius=INITIAL_RADIUS, double t_foliation_spacing=FOLIATION_SPACING)
Constructor with parameters.
+
FoliatedTriangulation(FoliatedTriangulation const &other) noexcept
Copy Constructor.
+ +
auto flip(Ts &&... args)
Call one of the TSD3.flip functions.
+
auto get_timelike_edges() const noexcept -> Edge_container const &
+ +
auto fix_vertices() const -> bool
Fix vertices with wrong timevalues after foliation.
+
auto fix_cells() const -> bool
Fix all cells in the triangulation.
+
void print() const
Print triangulation statistics.
+
auto get_vertices() const noexcept -> Vertex_container const &
+
auto operator=(FoliatedTriangulation other) noexcept -> FoliatedTriangulation &
Copy/Move Assignment operator.
+ + +
auto incident_cells(VertexHandle &&t_vh) const noexcept -> decltype(auto)
Perfect forwarding to TriangulationDataStructure_3::incident_cells.
+
auto expected_timevalue(Vertex_handle_t< 3 > const &t_vertex) const -> int
Calculate the expected timevalue for a vertex.
+
auto get_two_two() const noexcept -> Cell_container const &
+
FoliatedTriangulation(Delaunay triangulation, double initial_radius=INITIAL_RADIUS, double foliation_spacing=FOLIATION_SPACING)
Constructor using delaunay triangulation Pass-by-value-then-move. Delaunay is the ctor for the Delaun...
+ +
auto expected_radius(Vertex_handle_t< 3 > const &t_vertex) const -> double
Calculates the expected radial distance of a vertex.
+ - -
auto check_all_cells() const -> bool
Check that all cells are correctly classified.
-
void print_cells() const
Print timevalues of each vertex in the cell and the resulting cell->info()
- - - - - - -
friend void swap(FoliatedTriangulation< 3 > &swap_from, FoliatedTriangulation< 3 > &swap_into) noexcept
Non-member swap function for Foliated Triangulations.
- - + +
auto check_all_cells() const -> bool
Check that all cells are correctly classified.
+
void print_cells() const
Print timevalues of each vertex in the cell and the resulting cell->info()
+
auto classify_cells(Cell_container const &cells) const -> Cell_container
Classify cells.
+ + + + + + +
friend void swap(FoliatedTriangulation< 3 > &swap_from, FoliatedTriangulation< 3 > &swap_into) noexcept
Non-member swap function for Foliated Triangulations.
+ + diff --git a/_foliated__triangulation__test_8cpp.html b/_foliated__triangulation__test_8cpp.html index 8915eb86a..cf6b9bc52 100644 --- a/_foliated__triangulation__test_8cpp.html +++ b/_foliated__triangulation__test_8cpp.html @@ -165,7 +165,7 @@

diff --git a/_foliated__triangulation__test_8cpp_source.html b/_foliated__triangulation__test_8cpp_source.html index 2bedfd523..b5a5c85c2 100644 --- a/_foliated__triangulation__test_8cpp_source.html +++ b/_foliated__triangulation__test_8cpp_source.html @@ -932,90 +932,94 @@
858  {
859  CHECK_FALSE(triangulation.is_initialized());
860  // Human verification
-
861  fmt::print("Unfixed triangulation:\n");
-
862  triangulation.print_cells();
-
863  }
-
864  THEN("After being fixed, Delaunay3 functions work as expected.")
-
865  {
-
866  // Fix the triangulation
-
867  CHECK(triangulation.is_fixed());
-
868  CHECK_EQ(triangulation.number_of_finite_cells(), 2);
-
869  fmt::print("Base Delaunay number of cells: {}\n",
-
870  triangulation.number_of_finite_cells());
-
871  CHECK_EQ(triangulation.number_of_finite_facets(), 7);
-
872  fmt::print("Base Delaunay number of faces: {}\n",
-
873  triangulation.number_of_finite_facets());
-
874  triangulation.print_volume_per_timeslice();
-
875  CHECK_EQ(triangulation.number_of_finite_edges(), 9);
-
876  fmt::print("Base Delaunay number of edges: {}\n",
-
877  triangulation.number_of_finite_edges());
-
878  triangulation.print_edges();
-
879  CHECK_EQ(triangulation.number_of_vertices(), 5);
-
880  fmt::print("Base Delaunay number of vertices: {}\n",
-
881  triangulation.number_of_vertices());
-
882  CHECK_EQ(triangulation.dimension(), 3);
-
883  fmt::print("Base Delaunay dimension is: {}\n",
-
884  triangulation.dimension());
-
885  // Human verification
-
886  utilities::print_delaunay(triangulation.delaunay());
-
887  }
-
888  }
-
889  WHEN("Constructing the default triangulation.")
-
890  {
-
891  FoliatedTriangulation_3 const triangulation;
-
892  REQUIRE(triangulation.is_initialized());
-
893  THEN("is_infinite() identifies a single infinite vertex.")
-
894  {
-
895  auto&& vertices = triangulation.get_delaunay().tds().vertices();
-
896  auto&& vertex = vertices.begin();
-
897  CHECK_EQ(vertices.size(), 1);
-
898  CHECK(triangulation.get_delaunay().tds().is_vertex(vertex));
-
899  CHECK(triangulation.is_infinite(vertex));
-
900  }
-
901  }
-
902  WHEN("Constructing a triangulation with 4 causal vertices.")
-
903  {
-
904  vector<Point_t<3>> vertices{
-
905  Point_t<3>{ 1, 0, 0},
-
906  Point_t<3>{ 0, 1, 0},
-
907  Point_t<3>{ 0, 0, 1},
-
908  Point_t<3>{RADIUS_2, RADIUS_2, RADIUS_2}
-
909  };
-
910  vector<std::size_t> timevalues{1, 1, 1, 2};
-
911  auto causal_vertices = make_causal_vertices<3>(vertices, timevalues);
-
912  FoliatedTriangulation_3 triangulation(causal_vertices);
-
913  REQUIRE(triangulation.is_initialized());
-
914  THEN("The degree of each vertex is 4 (including infinite vertex).")
-
915  {
-
916  auto check = [&triangulation](Vertex_handle_t<3> const& vertex) {
-
917  CHECK_EQ(triangulation.degree(vertex), 4);
-
918  };
-
919  for_each(triangulation.get_vertices().begin(),
-
920  triangulation.get_vertices().end(), check);
-
921  }
-
922  }
-
923  }
-
924 }
+
861 #ifndef NDEBUG
+
862  fmt::print("Unfixed triangulation:\n");
+
863  triangulation.print_cells();
+
864 #endif
+
865  }
+
866  THEN("After being fixed, Delaunay3 functions work as expected.")
+
867  {
+
868  // Fix the triangulation
+
869  CHECK(triangulation.is_fixed());
+
870  CHECK_EQ(triangulation.number_of_finite_cells(), 2);
+
871  fmt::print("Base Delaunay number of cells: {}\n",
+
872  triangulation.number_of_finite_cells());
+
873  CHECK_EQ(triangulation.number_of_finite_facets(), 7);
+
874  fmt::print("Base Delaunay number of faces: {}\n",
+
875  triangulation.number_of_finite_facets());
+
876  triangulation.print_volume_per_timeslice();
+
877  CHECK_EQ(triangulation.number_of_finite_edges(), 9);
+
878  fmt::print("Base Delaunay number of edges: {}\n",
+
879  triangulation.number_of_finite_edges());
+
880  triangulation.print_edges();
+
881  CHECK_EQ(triangulation.number_of_vertices(), 5);
+
882  fmt::print("Base Delaunay number of vertices: {}\n",
+
883  triangulation.number_of_vertices());
+
884  CHECK_EQ(triangulation.dimension(), 3);
+
885  fmt::print("Base Delaunay dimension is: {}\n",
+
886  triangulation.dimension());
+
887  // Human verification
+
888 #ifndef NDEBUG
+
889  utilities::print_delaunay(triangulation.delaunay());
+
890 #endif
+
891  }
+
892  }
+
893  WHEN("Constructing the default triangulation.")
+
894  {
+
895  FoliatedTriangulation_3 const triangulation;
+
896  REQUIRE(triangulation.is_initialized());
+
897  THEN("is_infinite() identifies a single infinite vertex.")
+
898  {
+
899  auto&& vertices = triangulation.get_delaunay().tds().vertices();
+
900  auto&& vertex = vertices.begin();
+
901  CHECK_EQ(vertices.size(), 1);
+
902  CHECK(triangulation.get_delaunay().tds().is_vertex(vertex));
+
903  CHECK(triangulation.is_infinite(vertex));
+
904  }
+
905  }
+
906  WHEN("Constructing a triangulation with 4 causal vertices.")
+
907  {
+
908  vector<Point_t<3>> vertices{
+
909  Point_t<3>{ 1, 0, 0},
+
910  Point_t<3>{ 0, 1, 0},
+
911  Point_t<3>{ 0, 0, 1},
+
912  Point_t<3>{RADIUS_2, RADIUS_2, RADIUS_2}
+
913  };
+
914  vector<std::size_t> timevalues{1, 1, 1, 2};
+
915  auto causal_vertices = make_causal_vertices<3>(vertices, timevalues);
+
916  FoliatedTriangulation_3 triangulation(causal_vertices);
+
917  REQUIRE(triangulation.is_initialized());
+
918  THEN("The degree of each vertex is 4 (including infinite vertex).")
+
919  {
+
920  auto check = [&triangulation](Vertex_handle_t<3> const& vertex) {
+
921  CHECK_EQ(triangulation.degree(vertex), 4);
+
922  };
+
923  for_each(triangulation.get_vertices().begin(),
+
924  triangulation.get_vertices().end(), check);
+
925  }
+
926  }
+
927  }
+
928 }
Create foliated spherical triangulations.
GIVEN("4 points.")
std::int_fast32_t Int_precision
Definition: Settings.hpp:31
static double constinit const INITIAL_RADIUS
Default foliated triangulation spacings.
Definition: Settings.hpp:47
void print_delaunay(TriangulationType const &t_triangulation)
Print triangulation statistics.
Definition: Utilities.hpp:154
SCENARIO("Perform bistellar flip on Delaunay triangulation" *doctest::test_suite("bistellar"))
- - -
auto degree(VertexHandle &&t_vertex) const
Perfect forwarding to TriangulationDataStructure_3::degree.
- - - - - -
auto get_vertices() const noexcept -> Vertex_container const &
- + + +
auto degree(VertexHandle &&t_vertex) const
Perfect forwarding to TriangulationDataStructure_3::degree.
+ + + + + +
auto get_vertices() const noexcept -> Vertex_container const &
+ diff --git a/_function__ref__test_8cpp.html b/_function__ref__test_8cpp.html index e841ec62f..dc5405dc8 100644 --- a/_function__ref__test_8cpp.html +++ b/_function__ref__test_8cpp.html @@ -111,7 +111,7 @@ diff --git a/_function__ref__test_8cpp_source.html b/_function__ref__test_8cpp_source.html index 8521992da..d65fff581 100644 --- a/_function__ref__test_8cpp_source.html +++ b/_function__ref__test_8cpp_source.html @@ -216,7 +216,7 @@ diff --git a/_geometry_8hpp.html b/_geometry_8hpp.html index 4471a3221..e691b1b26 100644 --- a/_geometry_8hpp.html +++ b/_geometry_8hpp.html @@ -128,7 +128,7 @@ diff --git a/_geometry_8hpp_source.html b/_geometry_8hpp_source.html index c706df9aa..b9875880a 100644 --- a/_geometry_8hpp_source.html +++ b/_geometry_8hpp_source.html @@ -169,7 +169,7 @@
118 #endif // CDT_PLUSPLUS_GEOMETRY_HPP
Create foliated spherical triangulations.
std::int_fast32_t Int_precision
Definition: Settings.hpp:31
- +
3D Geometry
Definition: Geometry.hpp:27
Geometry()=default
Default ctor.
Geometry(foliated_triangulations::FoliatedTriangulation_3 const &triangulation)
Constructor with triangulation.
Definition: Geometry.hpp:64
@@ -179,7 +179,7 @@ diff --git a/_geometry__test_8cpp.html b/_geometry__test_8cpp.html index d3d773bf1..deafc51e6 100644 --- a/_geometry__test_8cpp.html +++ b/_geometry__test_8cpp.html @@ -115,7 +115,7 @@ diff --git a/_geometry__test_8cpp_source.html b/_geometry__test_8cpp_source.html index 1f531efd4..c9ac81c8e 100644 --- a/_geometry__test_8cpp_source.html +++ b/_geometry__test_8cpp_source.html @@ -178,82 +178,84 @@
102  triangulation.number_of_vertices()));
103 
104  // Human verification
-
105  triangulation.print_cells();
-
106  fmt::print("There are {} edges.\n", geometry.N1);
-
107  fmt::print("There are {} timelike edges and {} spacelike edges.\n",
-
108  geometry.N1_TL, geometry.N1_SL);
-
109  triangulation.print_edges();
-
110  fmt::print(
-
111  "There are {} vertices with a max timevalue of {} and a min "
-
112  "timevalue of {}.\n",
-
113  geometry.N0, triangulation.max_time(), triangulation.min_time());
-
114  triangulation.print_volume_per_timeslice();
-
115  }
-
116  }
-
117  }
-
118 }
-
119 
-
120 SCENARIO("3-Geometry initialization" * doctest::test_suite("geometry"))
-
121 {
-
122  spdlog::debug("3-Geometry initialization.\n");
-
123  GIVEN("A 3-dimensional geometry.")
-
124  {
-
125  WHEN("It is default constructed.")
-
126  {
-
127  Geometry_3 const geometry;
-
128  THEN("All data members are zero-initialized.")
-
129  {
-
130  REQUIRE_EQ(geometry.N3, 0);
-
131  REQUIRE_EQ(geometry.N3_31, 0);
-
132  REQUIRE_EQ(geometry.N3_13, 0);
-
133  REQUIRE_EQ(geometry.N3_22, 0);
-
134  REQUIRE_EQ(geometry.N2, 0);
-
135  REQUIRE_EQ(geometry.N1, 0);
-
136  REQUIRE_EQ(geometry.N1_TL, 0);
-
137  REQUIRE_EQ(geometry.N1_SL, 0);
-
138  REQUIRE_EQ(geometry.N0, 0);
-
139  }
-
140  }
-
141  WHEN("It is constructed with a triangulation.")
-
142  {
-
143  auto constexpr desired_simplices = 640;
-
144  auto constexpr desired_timeslices = 4;
-
145  FoliatedTriangulation_3 const triangulation(desired_simplices,
-
146  desired_timeslices);
-
147  Geometry_3 const geometry(triangulation);
-
148  THEN(
-
149  "The properties of the Delaunay triangulation are saved in geometry "
-
150  "info.")
-
151  {
-
152  CHECK_EQ(geometry.N3, static_cast<Int_precision>(
-
153  triangulation.number_of_finite_cells()));
-
154  CHECK_EQ(geometry.N3_31, static_cast<Int_precision>(
-
155  triangulation.get_three_one().size()));
-
156  CHECK_EQ(geometry.N3_13, static_cast<Int_precision>(
-
157  triangulation.get_one_three().size()));
-
158  CHECK_EQ(geometry.N3_31 + geometry.N3_22 + geometry.N3_13, geometry.N3);
-
159  CHECK_EQ(geometry.N3_22, static_cast<Int_precision>(
-
160  triangulation.get_two_two().size()));
-
161  CHECK_EQ(geometry.N2, static_cast<Int_precision>(
-
162  triangulation.number_of_finite_facets()));
-
163  CHECK_EQ(geometry.N1, static_cast<Int_precision>(
-
164  triangulation.number_of_finite_edges()));
-
165  CHECK_NE(geometry.N1_TL, 0);
-
166  CHECK_NE(geometry.N1_SL, 0);
-
167  CHECK_EQ(geometry.N1_TL + geometry.N1_SL, geometry.N1);
-
168  CHECK_EQ(geometry.N0, static_cast<Int_precision>(
-
169  triangulation.number_of_vertices()));
-
170  triangulation.print();
-
171  triangulation.print_volume_per_timeslice();
-
172  }
-
173  }
-
174  }
-
175 }
+
105  fmt::print("There are {} edges.\n", geometry.N1);
+
106  fmt::print("There are {} timelike edges and {} spacelike edges.\n",
+
107  geometry.N1_TL, geometry.N1_SL);
+
108 #ifndef NDEBUG
+
109  triangulation.print_cells();
+
110  triangulation.print_edges();
+
111 #endif
+
112  fmt::print(
+
113  "There are {} vertices with a max timevalue of {} and a min "
+
114  "timevalue of {}.\n",
+
115  geometry.N0, triangulation.max_time(), triangulation.min_time());
+
116  triangulation.print_volume_per_timeslice();
+
117  }
+
118  }
+
119  }
+
120 }
+
121 
+
122 SCENARIO("3-Geometry initialization" * doctest::test_suite("geometry"))
+
123 {
+
124  spdlog::debug("3-Geometry initialization.\n");
+
125  GIVEN("A 3-dimensional geometry.")
+
126  {
+
127  WHEN("It is default constructed.")
+
128  {
+
129  Geometry_3 const geometry;
+
130  THEN("All data members are zero-initialized.")
+
131  {
+
132  REQUIRE_EQ(geometry.N3, 0);
+
133  REQUIRE_EQ(geometry.N3_31, 0);
+
134  REQUIRE_EQ(geometry.N3_13, 0);
+
135  REQUIRE_EQ(geometry.N3_22, 0);
+
136  REQUIRE_EQ(geometry.N2, 0);
+
137  REQUIRE_EQ(geometry.N1, 0);
+
138  REQUIRE_EQ(geometry.N1_TL, 0);
+
139  REQUIRE_EQ(geometry.N1_SL, 0);
+
140  REQUIRE_EQ(geometry.N0, 0);
+
141  }
+
142  }
+
143  WHEN("It is constructed with a triangulation.")
+
144  {
+
145  auto constexpr desired_simplices = 640;
+
146  auto constexpr desired_timeslices = 4;
+
147  FoliatedTriangulation_3 const triangulation(desired_simplices,
+
148  desired_timeslices);
+
149  Geometry_3 const geometry(triangulation);
+
150  THEN(
+
151  "The properties of the Delaunay triangulation are saved in geometry "
+
152  "info.")
+
153  {
+
154  CHECK_EQ(geometry.N3, static_cast<Int_precision>(
+
155  triangulation.number_of_finite_cells()));
+
156  CHECK_EQ(geometry.N3_31, static_cast<Int_precision>(
+
157  triangulation.get_three_one().size()));
+
158  CHECK_EQ(geometry.N3_13, static_cast<Int_precision>(
+
159  triangulation.get_one_three().size()));
+
160  CHECK_EQ(geometry.N3_31 + geometry.N3_22 + geometry.N3_13, geometry.N3);
+
161  CHECK_EQ(geometry.N3_22, static_cast<Int_precision>(
+
162  triangulation.get_two_two().size()));
+
163  CHECK_EQ(geometry.N2, static_cast<Int_precision>(
+
164  triangulation.number_of_finite_facets()));
+
165  CHECK_EQ(geometry.N1, static_cast<Int_precision>(
+
166  triangulation.number_of_finite_edges()));
+
167  CHECK_NE(geometry.N1_TL, 0);
+
168  CHECK_NE(geometry.N1_SL, 0);
+
169  CHECK_EQ(geometry.N1_TL + geometry.N1_SL, geometry.N1);
+
170  CHECK_EQ(geometry.N0, static_cast<Int_precision>(
+
171  triangulation.number_of_vertices()));
+
172  triangulation.print();
+
173  triangulation.print_volume_per_timeslice();
+
174  }
+
175  }
+
176  }
+
177 }
Geometric scalars of the Manifold used to calculate the Regge action.
GIVEN("4 points.")
std::int_fast32_t Int_precision
Definition: Settings.hpp:31
SCENARIO("Perform bistellar flip on Delaunay triangulation" *doctest::test_suite("bistellar"))
- +
3D Geometry
Definition: Geometry.hpp:27
Int_precision N1
Number of 1D edges.
Definition: Geometry.hpp:47
Int_precision N3_31
Number of (3,1) simplices.
Definition: Geometry.hpp:32
@@ -267,7 +269,7 @@ diff --git a/_manifold_8hpp.html b/_manifold_8hpp.html index b966317fe..ab82deffa 100644 --- a/_manifold_8hpp.html +++ b/_manifold_8hpp.html @@ -198,7 +198,7 @@

diff --git a/_manifold_8hpp_source.html b/_manifold_8hpp_source.html index 4aac39e7a..8bbc799d5 100644 --- a/_manifold_8hpp_source.html +++ b/_manifold_8hpp_source.html @@ -453,34 +453,34 @@
std::int_fast32_t Int_precision
Definition: Settings.hpp:31
static double constinit const INITIAL_RADIUS
Default foliated triangulation spacings.
Definition: Settings.hpp:47
topology_type
clang-15 does not support std::format
Definition: Utilities.hpp:51
- - - -
auto is_foliated() const -> bool
Verifies the triangulation is properly foliated.
-
auto get_vertices_span() const noexcept -> std::span< Vertex_handle const >
- - -
auto degree(VertexHandle &&t_vertex) const
Perfect forwarding to TriangulationDataStructure_3::degree.
-
auto get_spacelike_edges() const -> Edge_container const &
-
auto N2_SL() const -> std::multimap< Int_precision, typename TriangulationTraits< 3 >::Facet > const &
- - - -
void print_volume_per_timeslice() const
Print the number of spacelike faces per timeslice.
- -
auto get_timelike_edges() const noexcept -> Edge_container const &
- -
auto get_vertices() const noexcept -> Vertex_container const &
- -
auto incident_cells(VertexHandle &&t_vh) const noexcept -> decltype(auto)
Perfect forwarding to TriangulationDataStructure_3::incident_cells.
- - -
auto check_all_cells() const -> bool
Check that all cells are correctly classified.
-
void print_cells() const
Print timevalues of each vertex in the cell and the resulting cell->info()
- - - - + + + +
auto is_foliated() const -> bool
Verifies the triangulation is properly foliated.
+
auto get_vertices_span() const noexcept -> std::span< Vertex_handle const >
+ + +
auto degree(VertexHandle &&t_vertex) const
Perfect forwarding to TriangulationDataStructure_3::degree.
+
auto get_spacelike_edges() const -> Edge_container const &
+
auto N2_SL() const -> std::multimap< Int_precision, typename TriangulationTraits< 3 >::Facet > const &
+ + + +
void print_volume_per_timeslice() const
Print the number of spacelike faces per timeslice.
+ +
auto get_timelike_edges() const noexcept -> Edge_container const &
+ +
auto get_vertices() const noexcept -> Vertex_container const &
+ +
auto incident_cells(VertexHandle &&t_vh) const noexcept -> decltype(auto)
Perfect forwarding to TriangulationDataStructure_3::incident_cells.
+ + +
auto check_all_cells() const -> bool
Check that all cells are correctly classified.
+
void print_cells() const
Print timevalues of each vertex in the cell and the resulting cell->info()
+ + + +
void update_triangulation()
Update the triangulation.
Definition: Manifold.hpp:431
Manifold(Triangulation t_foliated_triangulation)
Construct manifold from a Foliated triangulation.
Definition: Manifold.hpp:96
@@ -557,7 +557,7 @@ diff --git a/_manifold__test_8cpp.html b/_manifold__test_8cpp.html index eca05e5eb..1cca1aa9f 100644 --- a/_manifold__test_8cpp.html +++ b/_manifold__test_8cpp.html @@ -246,7 +246,7 @@

diff --git a/_manifold__test_8cpp_source.html b/_manifold__test_8cpp_source.html index 641cd7842..75442658b 100644 --- a/_manifold__test_8cpp_source.html +++ b/_manifold__test_8cpp_source.html @@ -829,7 +829,7 @@
GIVEN("4 points.")
std::int_fast32_t Int_precision
Definition: Settings.hpp:31
SCENARIO("Perform bistellar flip on Delaunay triangulation" *doctest::test_suite("bistellar"))
- + @@ -868,7 +868,7 @@ diff --git a/_metropolis_8hpp.html b/_metropolis_8hpp.html index a95d94e38..08cec85a4 100644 --- a/_metropolis_8hpp.html +++ b/_metropolis_8hpp.html @@ -132,7 +132,7 @@ diff --git a/_metropolis_8hpp_source.html b/_metropolis_8hpp_source.html index f606aa65e..f99baece7 100644 --- a/_metropolis_8hpp_source.html +++ b/_metropolis_8hpp_source.html @@ -541,7 +541,7 @@ diff --git a/_metropolis__test_8cpp.html b/_metropolis__test_8cpp.html index b02eebca1..faa2f195d 100644 --- a/_metropolis__test_8cpp.html +++ b/_metropolis__test_8cpp.html @@ -150,7 +150,7 @@

diff --git a/_metropolis__test_8cpp_source.html b/_metropolis__test_8cpp_source.html index f4b68e9f2..851fc85c2 100644 --- a/_metropolis__test_8cpp_source.html +++ b/_metropolis__test_8cpp_source.html @@ -281,7 +281,7 @@ diff --git a/_move__always_8hpp.html b/_move__always_8hpp.html index 80c3b9c99..f4c144845 100644 --- a/_move__always_8hpp.html +++ b/_move__always_8hpp.html @@ -127,7 +127,7 @@ diff --git a/_move__always_8hpp_source.html b/_move__always_8hpp_source.html index 7a2ad9dcf..74eaddd29 100644 --- a/_move__always_8hpp_source.html +++ b/_move__always_8hpp_source.html @@ -252,7 +252,7 @@ diff --git a/_move__always__test_8cpp.html b/_move__always__test_8cpp.html index d23c50c3c..349fbb6ff 100644 --- a/_move__always__test_8cpp.html +++ b/_move__always__test_8cpp.html @@ -115,7 +115,7 @@ diff --git a/_move__always__test_8cpp_source.html b/_move__always__test_8cpp_source.html index 93aea6cab..81a743623 100644 --- a/_move__always__test_8cpp_source.html +++ b/_move__always__test_8cpp_source.html @@ -259,7 +259,7 @@ diff --git a/_move__command_8hpp.html b/_move__command_8hpp.html index ea14226fd..c00092c60 100644 --- a/_move__command_8hpp.html +++ b/_move__command_8hpp.html @@ -116,7 +116,7 @@ diff --git a/_move__command_8hpp_source.html b/_move__command_8hpp_source.html index 744c7928d..013fd3caa 100644 --- a/_move__command_8hpp_source.html +++ b/_move__command_8hpp_source.html @@ -343,7 +343,7 @@ diff --git a/_move__command__test_8cpp.html b/_move__command__test_8cpp.html index 44d6e62fa..fcf21973b 100644 --- a/_move__command__test_8cpp.html +++ b/_move__command__test_8cpp.html @@ -144,7 +144,7 @@

diff --git a/_move__command__test_8cpp_source.html b/_move__command__test_8cpp_source.html index e84d7b430..54ab81148 100644 --- a/_move__command__test_8cpp_source.html +++ b/_move__command__test_8cpp_source.html @@ -619,7 +619,7 @@ diff --git a/_move__strategy_8hpp.html b/_move__strategy_8hpp.html index cae4c66e2..71ed8fca8 100644 --- a/_move__strategy_8hpp.html +++ b/_move__strategy_8hpp.html @@ -126,7 +126,7 @@ diff --git a/_move__strategy_8hpp_source.html b/_move__strategy_8hpp_source.html index ff40b494e..3155179ff 100644 --- a/_move__strategy_8hpp_source.html +++ b/_move__strategy_8hpp_source.html @@ -106,7 +106,7 @@ diff --git a/_move__tracker_8hpp.html b/_move__tracker_8hpp.html index 955d90e31..19eba4768 100644 --- a/_move__tracker_8hpp.html +++ b/_move__tracker_8hpp.html @@ -236,7 +236,7 @@

diff --git a/_move__tracker_8hpp_source.html b/_move__tracker_8hpp_source.html index be9515998..769f29fa2 100644 --- a/_move__tracker_8hpp_source.html +++ b/_move__tracker_8hpp_source.html @@ -274,7 +274,7 @@ diff --git a/_move__tracker__test_8cpp.html b/_move__tracker__test_8cpp.html index 7aa989799..e5adb8bfc 100644 --- a/_move__tracker__test_8cpp.html +++ b/_move__tracker__test_8cpp.html @@ -119,7 +119,7 @@ diff --git a/_move__tracker__test_8cpp_source.html b/_move__tracker__test_8cpp_source.html index 25b549bbe..7840bd19e 100644 --- a/_move__tracker__test_8cpp_source.html +++ b/_move__tracker__test_8cpp_source.html @@ -279,7 +279,7 @@ diff --git a/_periodic__3__complex_8hpp.html b/_periodic__3__complex_8hpp.html index 1b918a3fb..28a0efe38 100644 --- a/_periodic__3__complex_8hpp.html +++ b/_periodic__3__complex_8hpp.html @@ -173,7 +173,7 @@

diff --git a/_periodic__3__complex_8hpp_source.html b/_periodic__3__complex_8hpp_source.html index 303c82b5d..b369428ea 100644 --- a/_periodic__3__complex_8hpp_source.html +++ b/_periodic__3__complex_8hpp_source.html @@ -125,7 +125,7 @@ diff --git a/_periodic__3__triangulations_8hpp.html b/_periodic__3__triangulations_8hpp.html index 3ccd268d9..269899919 100644 --- a/_periodic__3__triangulations_8hpp.html +++ b/_periodic__3__triangulations_8hpp.html @@ -234,7 +234,7 @@

diff --git a/_periodic__3__triangulations_8hpp_source.html b/_periodic__3__triangulations_8hpp_source.html index d8bed0e45..64cf70fd2 100644 --- a/_periodic__3__triangulations_8hpp_source.html +++ b/_periodic__3__triangulations_8hpp_source.html @@ -144,7 +144,7 @@ diff --git a/_s3_action_8hpp.html b/_s3_action_8hpp.html index d630c72e6..a6fbd708a 100644 --- a/_s3_action_8hpp.html +++ b/_s3_action_8hpp.html @@ -356,7 +356,7 @@

diff --git a/_s3_action_8hpp_source.html b/_s3_action_8hpp_source.html index 1c00cf70a..6eddc003d 100644 --- a/_s3_action_8hpp_source.html +++ b/_s3_action_8hpp_source.html @@ -449,7 +449,7 @@ diff --git a/_s3_action__test_8cpp.html b/_s3_action__test_8cpp.html index d49836d2e..691762688 100644 --- a/_s3_action__test_8cpp.html +++ b/_s3_action__test_8cpp.html @@ -111,7 +111,7 @@ diff --git a/_s3_action__test_8cpp_source.html b/_s3_action__test_8cpp_source.html index 357927d23..914e7bb44 100644 --- a/_s3_action__test_8cpp_source.html +++ b/_s3_action__test_8cpp_source.html @@ -187,7 +187,7 @@ diff --git a/_settings_8hpp.html b/_settings_8hpp.html index e0e38ccd1..3e273c47b 100644 --- a/_settings_8hpp.html +++ b/_settings_8hpp.html @@ -241,7 +241,7 @@

diff --git a/_settings_8hpp_source.html b/_settings_8hpp_source.html index 4d892390c..ec1afc74d 100644 --- a/_settings_8hpp_source.html +++ b/_settings_8hpp_source.html @@ -133,7 +133,7 @@ diff --git a/_settings__test_8cpp.html b/_settings__test_8cpp.html index a90f217ae..482646508 100644 --- a/_settings__test_8cpp.html +++ b/_settings__test_8cpp.html @@ -102,7 +102,7 @@ diff --git a/_settings__test_8cpp_source.html b/_settings__test_8cpp_source.html index a88fe1ddb..8b7a57d83 100644 --- a/_settings__test_8cpp_source.html +++ b/_settings__test_8cpp_source.html @@ -140,7 +140,7 @@ diff --git a/_tetrahedron__test_8cpp.html b/_tetrahedron__test_8cpp.html index e97b86791..09e886996 100644 --- a/_tetrahedron__test_8cpp.html +++ b/_tetrahedron__test_8cpp.html @@ -124,7 +124,7 @@ diff --git a/_tetrahedron__test_8cpp_source.html b/_tetrahedron__test_8cpp_source.html index b5ef10fcd..b38c4e948 100644 --- a/_tetrahedron__test_8cpp_source.html +++ b/_tetrahedron__test_8cpp_source.html @@ -337,13 +337,13 @@
Create foliated spherical triangulations.
GIVEN("4 points.")
SCENARIO("Perform bistellar flip on Delaunay triangulation" *doctest::test_suite("bistellar"))
- - + + diff --git a/_torus__d_8hpp.html b/_torus__d_8hpp.html index c0a710cec..2384c47bb 100644 --- a/_torus__d_8hpp.html +++ b/_torus__d_8hpp.html @@ -190,7 +190,7 @@

diff --git a/_torus__d_8hpp_source.html b/_torus__d_8hpp_source.html index ffab09fbe..146d95b14 100644 --- a/_torus__d_8hpp_source.html +++ b/_torus__d_8hpp_source.html @@ -118,7 +118,7 @@ diff --git a/_torus__test_8cpp.html b/_torus__test_8cpp.html index 65f34a38f..f2f3b3ce6 100644 --- a/_torus__test_8cpp.html +++ b/_torus__test_8cpp.html @@ -146,7 +146,7 @@

diff --git a/_torus__test_8cpp_source.html b/_torus__test_8cpp_source.html index c5b1b0386..b7f480a27 100644 --- a/_torus__test_8cpp_source.html +++ b/_torus__test_8cpp_source.html @@ -131,7 +131,7 @@ diff --git a/_triangulation__traits_8hpp.html b/_triangulation__traits_8hpp.html index be87444a6..a1285ff37 100644 --- a/_triangulation__traits_8hpp.html +++ b/_triangulation__traits_8hpp.html @@ -120,7 +120,7 @@ diff --git a/_triangulation__traits_8hpp_source.html b/_triangulation__traits_8hpp_source.html index f7f8366be..367c2d251 100644 --- a/_triangulation__traits_8hpp_source.html +++ b/_triangulation__traits_8hpp_source.html @@ -137,7 +137,7 @@ diff --git a/_utilities_8hpp.html b/_utilities_8hpp.html index f4dc2c5c9..6ace352ff 100644 --- a/_utilities_8hpp.html +++ b/_utilities_8hpp.html @@ -903,7 +903,7 @@

diff --git a/_utilities_8hpp_source.html b/_utilities_8hpp_source.html index d94b0826e..3c815c980 100644 --- a/_utilities_8hpp_source.html +++ b/_utilities_8hpp_source.html @@ -446,7 +446,7 @@ diff --git a/_utilities__test_8cpp.html b/_utilities__test_8cpp.html index 475c05825..be9af5a99 100644 --- a/_utilities__test_8cpp.html +++ b/_utilities__test_8cpp.html @@ -133,7 +133,7 @@ diff --git a/_utilities__test_8cpp_source.html b/_utilities__test_8cpp_source.html index e9c76ece7..97ae93842 100644 --- a/_utilities__test_8cpp_source.html +++ b/_utilities__test_8cpp_source.html @@ -462,12 +462,12 @@
constexpr auto generate_probability() noexcept
Generate a probability.
Definition: Utilities.hpp:303
void write_file(std::filesystem::path const &filename, TriangulationType triangulation)
Write triangulation to file.
Definition: Utilities.hpp:173
SCENARIO("Perform bistellar flip on Delaunay triangulation" *doctest::test_suite("bistellar"))
- + diff --git a/_vertex__test_8cpp.html b/_vertex__test_8cpp.html index 3f29f87fd..c54f33efa 100644 --- a/_vertex__test_8cpp.html +++ b/_vertex__test_8cpp.html @@ -176,7 +176,7 @@

diff --git a/_vertex__test_8cpp_source.html b/_vertex__test_8cpp_source.html index 62d5cc1bf..2e7642979 100644 --- a/_vertex__test_8cpp_source.html +++ b/_vertex__test_8cpp_source.html @@ -330,7 +330,7 @@ diff --git a/annotated.html b/annotated.html index 63e7f3606..1bb6110ad 100644 --- a/annotated.html +++ b/annotated.html @@ -99,7 +99,7 @@ diff --git a/bistellar-flip_8cpp.html b/bistellar-flip_8cpp.html index 65706ca88..ae81583f5 100644 --- a/bistellar-flip_8cpp.html +++ b/bistellar-flip_8cpp.html @@ -184,7 +184,7 @@

diff --git a/bistellar-flip_8cpp_source.html b/bistellar-flip_8cpp_source.html index b52404d5a..7868d7f34 100644 --- a/bistellar-flip_8cpp_source.html +++ b/bistellar-flip_8cpp_source.html @@ -200,12 +200,12 @@
GIVEN("4 points.")
void print_delaunay(TriangulationType const &t_triangulation)
Print triangulation statistics.
Definition: Utilities.hpp:154
SCENARIO("Perform bistellar flip on Delaunay triangulation" *doctest::test_suite("bistellar"))
- + diff --git a/bug.html b/bug.html index 436a7f979..ed8b3f92c 100644 --- a/bug.html +++ b/bug.html @@ -81,7 +81,7 @@ diff --git a/cdt-opt_8cpp.html b/cdt-opt_8cpp.html index 4b6858a7c..212222f56 100644 --- a/cdt-opt_8cpp.html +++ b/cdt-opt_8cpp.html @@ -137,7 +137,7 @@

diff --git a/cdt-opt_8cpp_source.html b/cdt-opt_8cpp_source.html index 394bcfefd..959a5762b 100644 --- a/cdt-opt_8cpp_source.html +++ b/cdt-opt_8cpp_source.html @@ -151,7 +151,7 @@ diff --git a/cdt-viewer_8cpp.html b/cdt-viewer_8cpp.html index e1bb297d9..4fc64418d 100644 --- a/cdt-viewer_8cpp.html +++ b/cdt-viewer_8cpp.html @@ -173,7 +173,7 @@

diff --git a/cdt-viewer_8cpp_source.html b/cdt-viewer_8cpp_source.html index 6b4b9335d..f34e5ced6 100644 --- a/cdt-viewer_8cpp_source.html +++ b/cdt-viewer_8cpp_source.html @@ -238,7 +238,7 @@ diff --git a/cdt_8cpp.html b/cdt_8cpp.html index 350d32170..fb87f2cc3 100644 --- a/cdt_8cpp.html +++ b/cdt_8cpp.html @@ -183,7 +183,7 @@

diff --git a/cdt_8cpp_source.html b/cdt_8cpp_source.html index 58445b6ad..ac9ccc03a 100644 --- a/cdt_8cpp_source.html +++ b/cdt_8cpp_source.html @@ -284,7 +284,7 @@ diff --git a/class_move_command-members.html b/class_move_command-members.html index 10b4a4db4..66c5e007d 100644 --- a/class_move_command-members.html +++ b/class_move_command-members.html @@ -102,7 +102,7 @@ diff --git a/class_move_command.html b/class_move_command.html index 251d4580a..fef770132 100644 --- a/class_move_command.html +++ b/class_move_command.html @@ -431,7 +431,7 @@

diff --git a/class_move_strategy.html b/class_move_strategy.html index 5e67d6488..5274068db 100644 --- a/class_move_strategy.html +++ b/class_move_strategy.html @@ -106,7 +106,7 @@ diff --git a/class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4-members.html b/class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4-members.html index 8356c13f8..e97bd4525 100644 --- a/class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4-members.html +++ b/class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4-members.html @@ -112,7 +112,7 @@ diff --git a/class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4.html b/class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4.html index 709f81462..c9ae1d9f1 100644 --- a/class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4.html +++ b/class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4.html @@ -964,7 +964,7 @@

diff --git a/class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4-members.html b/class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4-members.html index 45c80d275..bdfc3e13d 100644 --- a/class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4-members.html +++ b/class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4-members.html @@ -94,7 +94,7 @@ diff --git a/class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4.html b/class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4.html index 870c474c1..cb3dbbffa 100644 --- a/class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4.html +++ b/class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4.html @@ -426,7 +426,7 @@

diff --git a/classes.html b/classes.html index c0d3147c6..02f6eb3ff 100644 --- a/classes.html +++ b/classes.html @@ -91,7 +91,7 @@ diff --git a/classfoliated__triangulations_1_1_foliated_triangulation.html b/classfoliated__triangulations_1_1_foliated_triangulation.html index 332f02ba8..881635b08 100644 --- a/classfoliated__triangulations_1_1_foliated_triangulation.html +++ b/classfoliated__triangulations_1_1_foliated_triangulation.html @@ -96,14 +96,14 @@ -

Definition at line 962 of file Foliated_triangulation.hpp.

+

Definition at line 965 of file Foliated_triangulation.hpp.


The documentation for this class was generated from the following file: diff --git a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4-members.html b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4-members.html index 3d3a19e59..c907ff15c 100644 --- a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4-members.html +++ b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4-members.html @@ -84,7 +84,7 @@ Cell_handle typedef (defined in foliated_triangulations::FoliatedTriangulation< 3 >)foliated_triangulations::FoliatedTriangulation< 3 >private check_all_cells() const -> boolfoliated_triangulations::FoliatedTriangulation< 3 >inline check_all_vertices() const -> boolfoliated_triangulations::FoliatedTriangulation< 3 >inline - classify_cells(Cell_container const &cells) -> Cell_containerfoliated_triangulations::FoliatedTriangulation< 3 >inlineprivatestatic + classify_cells(Cell_container const &cells) const -> Cell_containerfoliated_triangulations::FoliatedTriangulation< 3 >inlineprivate classify_vertices(Vertex_container const &vertices) const -> Vertex_container (defined in foliated_triangulations::FoliatedTriangulation< 3 >)foliated_triangulations::FoliatedTriangulation< 3 >inlineprivate collect_edges() const -> Edge_containerfoliated_triangulations::FoliatedTriangulation< 3 >inlineprivate collect_faces() const -> Face_containerfoliated_triangulations::FoliatedTriangulation< 3 >inlineprivate @@ -166,7 +166,7 @@ diff --git a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html index 923a221c7..54dad2115 100644 --- a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html +++ b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html @@ -77,7 +77,6 @@ Public Member Functions | Private Types | Private Member Functions | -Static Private Member Functions | Private Attributes | Friends | List of all members @@ -281,6 +280,9 @@ + + + @@ -289,12 +291,6 @@

Private Member Functions

auto classify_cells (Cell_container const &cells) const -> Cell_container
 Classify cells. More...
 
auto classify_vertices (Vertex_container const &vertices) const -> Vertex_container
 
auto collect_faces () const -> Face_container
 
- - - - -

-Static Private Member Functions

static auto classify_cells (Cell_container const &cells) -> Cell_container
 Classify cells. More...
 
+inlineprivate

Private Attributes

@@ -352,7 +348,7 @@

3D Foliated triangulation

This class is a wrapper around a Delaunay triangulation. The Delaunay triangulation is augmented with a timevalue for each vertex and a simplex type for each cell. The FoliatedTriangulation class invariant is that the Delaunay triangulation has validly foliated vertices and cells, and has further containers for the various sub-simplicial complexes of the triangulation.

-

Definition at line 972 of file Foliated_triangulation.hpp.

+

Definition at line 975 of file Foliated_triangulation.hpp.

Constructor & Destructor Documentation

◆ FoliatedTriangulation() [1/3]

@@ -402,7 +398,7 @@

Definition at line 1069 of file Foliated_triangulation.hpp.

+

Definition at line 1072 of file Foliated_triangulation.hpp.

@@ -463,7 +459,7 @@

Definition at line 1094 of file Foliated_triangulation.hpp.

+

Definition at line 1097 of file Foliated_triangulation.hpp.

@@ -515,7 +511,7 @@

Definition at line 1106 of file Foliated_triangulation.hpp.

+

Definition at line 1109 of file Foliated_triangulation.hpp.

@@ -547,7 +543,7 @@

Returns
True if there are no cells or all cells are validly classified
-

Definition at line 1453 of file Foliated_triangulation.hpp.

+

Definition at line 1456 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::check_simplices().

@@ -578,12 +574,12 @@

Returns
True if all vertices have correct timevalues
-

Definition at line 1369 of file Foliated_triangulation.hpp.

+

Definition at line 1372 of file Foliated_triangulation.hpp.

- -

◆ classify_cells()

+ +

◆ classify_cells()

-inlinestaticprivate
@@ -645,7 +641,7 @@

Returns
Container of all the finite edges in the triangulation
-

Definition at line 1528 of file Foliated_triangulation.hpp.

+

Definition at line 1531 of file Foliated_triangulation.hpp.

@@ -674,7 +670,7 @@

Returns
Container of all the finite facets in the triangulation
-

Definition at line 1508 of file Foliated_triangulation.hpp.

+

Definition at line 1511 of file Foliated_triangulation.hpp.

@@ -708,7 +704,7 @@

Returns
The number of incident edges to a vertex
See also
https://doc.cgal.org/latest/TDS_3/classTriangulationDataStructure__3.html#a51fce32aa7abf3d757bcabcebd22f2fe
-

Definition at line 1290 of file Foliated_triangulation.hpp.

+

Definition at line 1293 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::degree().

@@ -738,7 +734,7 @@

Returns
A mutable reference to the Delaunay triangulation
-

Definition at line 1164 of file Foliated_triangulation.hpp.

+

Definition at line 1167 of file Foliated_triangulation.hpp.

@@ -766,7 +762,7 @@

Returns
Dimensionality of triangulation data structure (int)
-

Definition at line 1225 of file Foliated_triangulation.hpp.

+

Definition at line 1228 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::dimensionality().

@@ -806,7 +802,7 @@

Returns
True if the effective radial distance squared matches timevalue squared
-

Definition at line 1331 of file Foliated_triangulation.hpp.

+

Definition at line 1334 of file Foliated_triangulation.hpp.

References TOLERANCE.

@@ -851,7 +847,7 @@

Returns
The expected radial distance of the vertex with that timevalue
-

Definition at line 1351 of file Foliated_triangulation.hpp.

+

Definition at line 1354 of file Foliated_triangulation.hpp.

@@ -889,7 +885,7 @@

Returns
The expected timevalue of the vertex
-

Definition at line 1361 of file Foliated_triangulation.hpp.

+

Definition at line 1364 of file Foliated_triangulation.hpp.

@@ -917,7 +913,7 @@

Returns
A container of incorrect vertices
-

Definition at line 1376 of file Foliated_triangulation.hpp.

+

Definition at line 1379 of file Foliated_triangulation.hpp.

@@ -953,7 +949,7 @@

Definition at line 1384 of file Foliated_triangulation.hpp.

+

Definition at line 1387 of file Foliated_triangulation.hpp.

@@ -999,7 +995,7 @@

Returns
True if the flip occurred
-

Definition at line 1213 of file Foliated_triangulation.hpp.

+

Definition at line 1216 of file Foliated_triangulation.hpp.

@@ -1027,7 +1023,7 @@

Returns
The spacing between timeslices
-

Definition at line 1283 of file Foliated_triangulation.hpp.

+

Definition at line 1286 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::foliation_spacing().

@@ -1058,7 +1054,7 @@

Returns
Container of cells
-

Definition at line 1423 of file Foliated_triangulation.hpp.

+

Definition at line 1426 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::simplices().

@@ -1089,7 +1085,7 @@

Returns
A read-only reference to the Delaunay triangulation
-

Definition at line 1167 of file Foliated_triangulation.hpp.

+

Definition at line 1170 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::get_cell(), manifolds::Manifold< 3 >::get_vertex(), manifolds::Manifold< 3 >::is_edge(), manifolds::Manifold< 3 >::is_vertex(), and manifolds::Manifold< 3 >::update_triangulation().

@@ -1120,7 +1116,7 @@

Returns
Container of (1,3) cells
-

Definition at line 1443 of file Foliated_triangulation.hpp.

+

Definition at line 1446 of file Foliated_triangulation.hpp.

@@ -1149,7 +1145,7 @@

Returns
Container of spacelike edges
-

Definition at line 1255 of file Foliated_triangulation.hpp.

+

Definition at line 1258 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::get_spacelike_edges().

@@ -1180,7 +1176,7 @@

Returns
Container of (3,1) cells
-

Definition at line 1430 of file Foliated_triangulation.hpp.

+

Definition at line 1433 of file Foliated_triangulation.hpp.

@@ -1209,7 +1205,7 @@

Returns
Container of timelike edges
-

Definition at line 1248 of file Foliated_triangulation.hpp.

+

Definition at line 1251 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::get_timelike_edges().

@@ -1240,7 +1236,7 @@

Returns
Container of (2,2) cells
-

Definition at line 1437 of file Foliated_triangulation.hpp.

+

Definition at line 1440 of file Foliated_triangulation.hpp.

@@ -1269,7 +1265,7 @@

Returns
Container of vertices
-

Definition at line 1261 of file Foliated_triangulation.hpp.

+

Definition at line 1264 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::get_vertices().

@@ -1300,7 +1296,7 @@

Returns
A span of vertices
-

Definition at line 1267 of file Foliated_triangulation.hpp.

+

Definition at line 1270 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::get_vertices_span().

@@ -1349,7 +1345,7 @@

Returns
A Cell_circulator
See also
https://doc.cgal.org/latest/TDS_3/classTriangulationDataStructure__3.html#a93f8ab30228b2a515a5c9cdacd9d4d36
-

Definition at line 1321 of file Foliated_triangulation.hpp.

+

Definition at line 1324 of file Foliated_triangulation.hpp.

@@ -1396,7 +1392,7 @@

Returns
A container of incident cells
See also
https://doc.cgal.org/latest/TDS_3/classTriangulationDataStructure__3.html#a93f8ab30228b2a515a5c9cdacd9d4d36
-

Definition at line 1304 of file Foliated_triangulation.hpp.

+

Definition at line 1307 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::incident_cells().

@@ -1426,7 +1422,7 @@

Returns
Returns the infinite vertex in the triangulation
-

Definition at line 1219 of file Foliated_triangulation.hpp.

+

Definition at line 1222 of file Foliated_triangulation.hpp.

@@ -1454,7 +1450,7 @@

Returns
The initial radius for timeslice = 1
-

Definition at line 1280 of file Foliated_triangulation.hpp.

+

Definition at line 1283 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::initial_radius().

@@ -1485,7 +1481,7 @@

Returns
True if the Foliated Triangulation class invariants hold
-

Definition at line 1140 of file Foliated_triangulation.hpp.

+

Definition at line 1143 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::is_correct().

@@ -1516,7 +1512,7 @@

Returns
True if the triangulation is Delaunay
-

Definition at line 1128 of file Foliated_triangulation.hpp.

+

Definition at line 1131 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::is_delaunay().

@@ -1547,7 +1543,7 @@

Returns
True if fixes were done on the Delaunay triangulation
-

Definition at line 1153 of file Foliated_triangulation.hpp.

+

Definition at line 1156 of file Foliated_triangulation.hpp.

@@ -1579,7 +1575,7 @@

Returns
True if foliated correctly
-

Definition at line 1122 of file Foliated_triangulation.hpp.

+

Definition at line 1125 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::is_foliated().

@@ -1612,7 +1608,7 @@

Returns
If a cell or vertex contains or is the infinite vertex Forward parameters (see F.19 of C++ Core Guidelines)
-

Definition at line 1199 of file Foliated_triangulation.hpp.

+

Definition at line 1202 of file Foliated_triangulation.hpp.

@@ -1641,7 +1637,7 @@

Returns
True if the Foliated Triangulation has been initialized correctly
-

Definition at line 1147 of file Foliated_triangulation.hpp.

+

Definition at line 1150 of file Foliated_triangulation.hpp.

@@ -1670,7 +1666,7 @@

Returns
True if the triangulation data structure is valid
-

Definition at line 1134 of file Foliated_triangulation.hpp.

+

Definition at line 1137 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::is_valid().

@@ -1700,7 +1696,7 @@

Returns
Maximum time value in triangulation
-

Definition at line 1274 of file Foliated_triangulation.hpp.

+

Definition at line 1277 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::max_time().

@@ -1730,7 +1726,7 @@

Returns
Minimum time value in triangulation
-

Definition at line 1277 of file Foliated_triangulation.hpp.

+

Definition at line 1280 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::min_time().

@@ -1760,7 +1756,7 @@

Returns
Number of spacelike edges
-

Definition at line 1242 of file Foliated_triangulation.hpp.

+

Definition at line 1245 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::N1_SL().

@@ -1790,7 +1786,7 @@

Returns
Number of timelike edges
-

Definition at line 1236 of file Foliated_triangulation.hpp.

+

Definition at line 1239 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::N1_TL().

@@ -1822,7 +1818,7 @@

Returns
Container of spacelike facets indexed by time value
-

Definition at line 1228 of file Foliated_triangulation.hpp.

+

Definition at line 1231 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::N2_SL().

@@ -1852,7 +1848,7 @@

Returns
Number of 3D simplices in triangulation data structure
-

Definition at line 1173 of file Foliated_triangulation.hpp.

+

Definition at line 1176 of file Foliated_triangulation.hpp.

@@ -1880,7 +1876,7 @@

Returns
Number of 1D edges in triangulation data structure
-

Definition at line 1185 of file Foliated_triangulation.hpp.

+

Definition at line 1188 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::edges().

@@ -1910,7 +1906,7 @@

Returns
Number of 2D faces in triangulation data structure
-

Definition at line 1179 of file Foliated_triangulation.hpp.

+

Definition at line 1182 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::faces().

@@ -1940,7 +1936,7 @@

Returns
Number of vertices in triangulation data structure
-

Definition at line 1191 of file Foliated_triangulation.hpp.

+

Definition at line 1194 of file Foliated_triangulation.hpp.

Referenced by manifolds::Manifold< 3 >::vertices().

@@ -1990,7 +1986,7 @@

Definition at line 1036 of file Foliated_triangulation.hpp.

+

Definition at line 1039 of file Foliated_triangulation.hpp.

@@ -2016,7 +2012,7 @@

Data members initialized in order of declaration (Working Draft, Standard for C++ Programming Language, 11.9.3 section 13.3)

-

Definition at line 985 of file Foliated_triangulation.hpp.

+

Definition at line 988 of file Foliated_triangulation.hpp.

@@ -2026,7 +2022,7 @@

diff --git a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph.md5 b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph.md5 index 82c03317f..2a692fcae 100644 --- a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph.md5 +++ b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph.md5 @@ -1 +1 @@ -5fad6b31caef0a443f806cf9f6275790 \ No newline at end of file +6e430f97467134ded0b96258e74e0140 \ No newline at end of file diff --git a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph.svg b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph.svg index 2ec294f5a..26e8a2732 100644 --- a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph.svg +++ b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph.svg @@ -80,10 +80,10 @@ var sectionId = 'dynsection-0'; + check_all_vertices() + degree() and 45 more... -- classify_vertices() -- collect_edges() -- collect_faces() -- classify_cells() +- classify_cells() +- classify_vertices() +- collect_edges() +- collect_faces() diff --git a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph_org.svg b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph_org.svg index 46b8b48d0..02c633187 100644 --- a/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph_org.svg +++ b/classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4__coll__graph_org.svg @@ -34,10 +34,10 @@ + check_all_vertices() + degree() and 45 more... -- classify_vertices() -- collect_edges() -- collect_faces() -- classify_cells() +- classify_cells() +- classify_vertices() +- collect_edges() +- collect_faces() diff --git a/classfoliated__triangulations_1_1_foliated_triangulation_3_014_01_4.html b/classfoliated__triangulations_1_1_foliated_triangulation_3_014_01_4.html index cff8996c3..54d81320b 100644 --- a/classfoliated__triangulations_1_1_foliated_triangulation_3_014_01_4.html +++ b/classfoliated__triangulations_1_1_foliated_triangulation_3_014_01_4.html @@ -93,14 +93,14 @@

Detailed Description

4D Triangulation

-

Definition at line 1554 of file Foliated_triangulation.hpp.

+

Definition at line 1557 of file Foliated_triangulation.hpp.


The documentation for this class was generated from the following file: diff --git a/classmanifolds_1_1_manifold.html b/classmanifolds_1_1_manifold.html index 2f577187f..40b7f8dbb 100644 --- a/classmanifolds_1_1_manifold.html +++ b/classmanifolds_1_1_manifold.html @@ -103,7 +103,7 @@ diff --git a/classmanifolds_1_1_manifold_3_013_01_4-members.html b/classmanifolds_1_1_manifold_3_013_01_4-members.html index 970c42af4..a751bf1fd 100644 --- a/classmanifolds_1_1_manifold_3_013_01_4-members.html +++ b/classmanifolds_1_1_manifold_3_013_01_4-members.html @@ -146,7 +146,7 @@ diff --git a/classmanifolds_1_1_manifold_3_013_01_4.html b/classmanifolds_1_1_manifold_3_013_01_4.html index a4a344e03..021990730 100644 --- a/classmanifolds_1_1_manifold_3_013_01_4.html +++ b/classmanifolds_1_1_manifold_3_013_01_4.html @@ -494,7 +494,7 @@

Definition at line 353 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::check_all_cells().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::check_all_cells().

@@ -524,7 +524,7 @@

Definition at line 220 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::dimension().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::dimension().

@@ -554,7 +554,7 @@

Definition at line 285 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::number_of_finite_edges().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::number_of_finite_edges().

@@ -584,7 +584,7 @@

Definition at line 269 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::number_of_finite_facets().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::number_of_finite_facets().

@@ -649,7 +649,7 @@

Definition at line 420 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::get_delaunay().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::get_delaunay().

@@ -775,7 +775,7 @@

Definition at line 407 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::get_delaunay().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::get_delaunay().

@@ -806,7 +806,7 @@

Definition at line 192 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::is_correct().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::is_correct().

@@ -839,7 +839,7 @@

Definition at line 179 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::is_delaunay().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::is_delaunay().

@@ -879,7 +879,7 @@

Definition at line 211 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::get_delaunay().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::get_delaunay().

@@ -912,7 +912,7 @@

Definition at line 172 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::is_foliated().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::is_foliated().

@@ -945,7 +945,7 @@

Definition at line 186 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::is_tds_valid().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::is_tds_valid().

@@ -993,7 +993,7 @@

Definition at line 202 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::get_delaunay().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::get_delaunay().

@@ -1023,7 +1023,7 @@

Definition at line 307 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::max_time().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::max_time().

@@ -1053,7 +1053,7 @@

Definition at line 301 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::min_time().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::min_time().

@@ -1143,7 +1143,7 @@

Definition at line 279 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::N1_SL().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::N1_SL().

@@ -1173,7 +1173,7 @@

Definition at line 282 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::N1_TL().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::N1_TL().

@@ -1234,7 +1234,7 @@

Definition at line 263 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::N2_SL().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::N2_SL().

@@ -1414,7 +1414,7 @@

Definition at line 253 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::get_cells().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::get_cells().

@@ -1473,7 +1473,7 @@

Definition at line 295 of file Manifold.hpp.

-

References foliated_triangulations::FoliatedTriangulation< 3 >::number_of_vertices().

+

References foliated_triangulations::FoliatedTriangulation< 3 >::number_of_vertices().

@@ -1559,7 +1559,7 @@

diff --git a/classmanifolds_1_1_manifold_3_013_01_4__coll__graph.md5 b/classmanifolds_1_1_manifold_3_013_01_4__coll__graph.md5 index 756c65381..57ebc9fa2 100644 --- a/classmanifolds_1_1_manifold_3_013_01_4__coll__graph.md5 +++ b/classmanifolds_1_1_manifold_3_013_01_4__coll__graph.md5 @@ -1 +1 @@ -135bc8cd17a99c592e3684ccb1f8c49d \ No newline at end of file +320b89f5472eb695cde842afec2dbd64 \ No newline at end of file diff --git a/classmanifolds_1_1_manifold_3_013_01_4__coll__graph.svg b/classmanifolds_1_1_manifold_3_013_01_4__coll__graph.svg index 00f914ffd..6363f154a 100644 --- a/classmanifolds_1_1_manifold_3_013_01_4__coll__graph.svg +++ b/classmanifolds_1_1_manifold_3_013_01_4__coll__graph.svg @@ -136,10 +136,10 @@ var sectionId = 'dynsection-0'; + check_all_vertices() + degree() and 45 more... -- classify_vertices() -- collect_edges() -- collect_faces() -- classify_cells() +- classify_cells() +- classify_vertices() +- collect_edges() +- collect_faces() diff --git a/classmanifolds_1_1_manifold_3_013_01_4__coll__graph_org.svg b/classmanifolds_1_1_manifold_3_013_01_4__coll__graph_org.svg index 46270ba58..b1a691ea2 100644 --- a/classmanifolds_1_1_manifold_3_013_01_4__coll__graph_org.svg +++ b/classmanifolds_1_1_manifold_3_013_01_4__coll__graph_org.svg @@ -90,10 +90,10 @@ + check_all_vertices() + degree() and 45 more... -- classify_vertices() -- collect_edges() -- collect_faces() -- classify_cells() +- classify_cells() +- classify_vertices() +- collect_edges() +- collect_faces() diff --git a/classmanifolds_1_1_manifold_3_014_01_4-members.html b/classmanifolds_1_1_manifold_3_014_01_4-members.html index 285d0ca88..3af41d97f 100644 --- a/classmanifolds_1_1_manifold_3_014_01_4-members.html +++ b/classmanifolds_1_1_manifold_3_014_01_4-members.html @@ -86,7 +86,7 @@ diff --git a/classmanifolds_1_1_manifold_3_014_01_4.html b/classmanifolds_1_1_manifold_3_014_01_4.html index fc0bafc4c..561be7207 100644 --- a/classmanifolds_1_1_manifold_3_014_01_4.html +++ b/classmanifolds_1_1_manifold_3_014_01_4.html @@ -150,7 +150,7 @@

diff --git a/classmove__tracker_1_1_move_tracker-members.html b/classmove__tracker_1_1_move_tracker-members.html index 4c47c8242..e7f327caf 100644 --- a/classmove__tracker_1_1_move_tracker-members.html +++ b/classmove__tracker_1_1_move_tracker-members.html @@ -116,7 +116,7 @@ diff --git a/classmove__tracker_1_1_move_tracker.html b/classmove__tracker_1_1_move_tracker.html index 6f78bee76..6e771a8bb 100644 --- a/classmove__tracker_1_1_move_tracker.html +++ b/classmove__tracker_1_1_move_tracker.html @@ -451,7 +451,7 @@

diff --git a/dir_000001_000000.html b/dir_000001_000000.html index 91353dd7a..4518d72f6 100644 --- a/dir_000001_000000.html +++ b/dir_000001_000000.html @@ -76,7 +76,7 @@

src → include Relation

File in srcIncludes file in include
bistellar-flip.cppErgodic_moves_3.hpp
cdt-opt.cppMetropolis.hpp
cdt-opt.cppMove_always.hpp
cdt-viewer.cppManifold.hpp
cdt-viewer.cppUtilities.hpp
cdt.cppMetropolis.hpp
initialize.cppManifold.hpp
diff --git a/dir_000002_000000.html b/dir_000002_000000.html index 6eb47c554..8bf71f894 100644 --- a/dir_000002_000000.html +++ b/dir_000002_000000.html @@ -76,7 +76,7 @@

tests → include Relation

File in testsIncludes file in include
Apply_move_test.cppApply_move.hpp
Apply_move_test.cppErgodic_moves_3.hpp
Ergodic_moves_3_test.cppErgodic_moves_3.hpp
Foliated_triangulation_test.cppFoliated_triangulation.hpp
Function_ref_test.cppErgodic_moves_3.hpp
Geometry_test.cppGeometry.hpp
Manifold_test.cppManifold.hpp
Metropolis_test.cppMetropolis.hpp
Move_always_test.cppMove_always.hpp
Move_command_test.cppMove_command.hpp
Move_tracker_test.cppManifold.hpp
Move_tracker_test.cppMove_tracker.hpp
S3Action_test.cppManifold.hpp
S3Action_test.cppS3Action.hpp
Settings_test.cppSettings.hpp
Tetrahedron_test.cppFoliated_triangulation.hpp
Torus_test.cppTorus_d.hpp
Utilities_test.cppManifold.hpp
Vertex_test.cppManifold.hpp
diff --git a/dir_59425e443f801f1f2fd8bbe4959a3ccf.html b/dir_59425e443f801f1f2fd8bbe4959a3ccf.html index 731e9c0b3..4a5b52182 100644 --- a/dir_59425e443f801f1f2fd8bbe4959a3ccf.html +++ b/dir_59425e443f801f1f2fd8bbe4959a3ccf.html @@ -143,7 +143,7 @@ diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 33c18b6c3..6b1b928a7 100644 --- a/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -107,7 +107,7 @@ diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html index 5894cd412..c12b3682a 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -135,7 +135,7 @@ diff --git a/files.html b/files.html index e9229bc36..7bf918e87 100644 --- a/files.html +++ b/files.html @@ -124,7 +124,7 @@ diff --git a/functions.html b/functions.html index 0be02f925..2014ba13b 100644 --- a/functions.html +++ b/functions.html @@ -79,7 +79,7 @@

- a -

    diff --git a/functions_c.html b/functions_c.html index ed5a71a97..7d992cad1 100644 --- a/functions_c.html +++ b/functions_c.html @@ -92,7 +92,7 @@

    - c -

      , MoveStrategy< Strategies::MOVE_ALWAYS, ManifoldType >
    • classify_cells() -: foliated_triangulations::FoliatedTriangulation< 3 > +: foliated_triangulations::FoliatedTriangulation< 3 >
    • collect_edges() : foliated_triangulations::FoliatedTriangulation< 3 > @@ -104,7 +104,7 @@

      - c -

        diff --git a/functions_d.html b/functions_d.html index 861ef6a61..b2061c57a 100644 --- a/functions_d.html +++ b/functions_d.html @@ -94,7 +94,7 @@

        - d -

          diff --git a/functions_e.html b/functions_e.html index 0f043111e..7a01dc191 100644 --- a/functions_e.html +++ b/functions_e.html @@ -94,7 +94,7 @@

          - e -

            diff --git a/functions_f.html b/functions_f.html index acb129e7c..18f3da7d8 100644 --- a/functions_f.html +++ b/functions_f.html @@ -107,7 +107,7 @@

            - f -

              diff --git a/functions_func.html b/functions_func.html index 0d6967179..b38d6fd21 100644 --- a/functions_func.html +++ b/functions_func.html @@ -99,7 +99,7 @@

              - c -

                , MoveStrategy< Strategies::MOVE_ALWAYS, ManifoldType >
              • classify_cells() -: foliated_triangulations::FoliatedTriangulation< 3 > +: foliated_triangulations::FoliatedTriangulation< 3 >
              • collect_edges() : foliated_triangulations::FoliatedTriangulation< 3 > @@ -559,7 +559,7 @@

                - ~ -

                  diff --git a/functions_g.html b/functions_g.html index ab85f051e..0e72dbc2a 100644 --- a/functions_g.html +++ b/functions_g.html @@ -153,7 +153,7 @@

                  - g -

                    diff --git a/functions_i.html b/functions_i.html index fe8fb9e9d..f1174824b 100644 --- a/functions_i.html +++ b/functions_i.html @@ -123,7 +123,7 @@

                    - i -

                      diff --git a/functions_k.html b/functions_k.html index 6b13b6534..39a575f51 100644 --- a/functions_k.html +++ b/functions_k.html @@ -79,7 +79,7 @@

                      - k -

                        diff --git a/functions_l.html b/functions_l.html index f1229ad06..8e4988b36 100644 --- a/functions_l.html +++ b/functions_l.html @@ -79,7 +79,7 @@

                        - l -

                          diff --git a/functions_m.html b/functions_m.html index 3465dee51..9d9a43a49 100644 --- a/functions_m.html +++ b/functions_m.html @@ -164,7 +164,7 @@

                          - m -

                            diff --git a/functions_n.html b/functions_n.html index abe7fad66..54cdecbd7 100644 --- a/functions_n.html +++ b/functions_n.html @@ -134,7 +134,7 @@

                            - n -

                              diff --git a/functions_o.html b/functions_o.html index 55c9410a2..f8e94c34b 100644 --- a/functions_o.html +++ b/functions_o.html @@ -90,7 +90,7 @@

                              - o -

                                diff --git a/functions_p.html b/functions_p.html index 08e006fc7..ea1f11a0b 100644 --- a/functions_p.html +++ b/functions_p.html @@ -115,7 +115,7 @@

                                - p -

                                  diff --git a/functions_r.html b/functions_r.html index 61d67a92a..017845db3 100644 --- a/functions_r.html +++ b/functions_r.html @@ -82,7 +82,7 @@

                                  - r -

                                    diff --git a/functions_rela.html b/functions_rela.html index ad8515b31..5ba46a289 100644 --- a/functions_rela.html +++ b/functions_rela.html @@ -79,7 +79,7 @@ diff --git a/functions_s.html b/functions_s.html index f380d505a..48aae38e1 100644 --- a/functions_s.html +++ b/functions_s.html @@ -96,7 +96,7 @@

                                    - s -

                                      diff --git a/functions_t.html b/functions_t.html index c931f8742..4f8682d1f 100644 --- a/functions_t.html +++ b/functions_t.html @@ -107,7 +107,7 @@

                                      - t -

                                        diff --git a/functions_type.html b/functions_type.html index ffd837c01..4f5e1a6e7 100644 --- a/functions_type.html +++ b/functions_type.html @@ -77,7 +77,7 @@ diff --git a/functions_u.html b/functions_u.html index 8ac4a8e4e..246fcfc7f 100644 --- a/functions_u.html +++ b/functions_u.html @@ -85,7 +85,7 @@

                                        - u -

                                          diff --git a/functions_v.html b/functions_v.html index 0a88358cf..031965334 100644 --- a/functions_v.html +++ b/functions_v.html @@ -79,7 +79,7 @@

                                          - v -

                                            diff --git a/functions_vars.html b/functions_vars.html index 920a75581..4b5d239e0 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -193,7 +193,7 @@

                                            - t -

                                              diff --git a/functions_~.html b/functions_~.html index 2944ac769..3d4918188 100644 --- a/functions_~.html +++ b/functions_~.html @@ -82,7 +82,7 @@

                                              - ~ -

                                                diff --git a/globals.html b/globals.html index d915925fa..fcf5a79f3 100644 --- a/globals.html +++ b/globals.html @@ -156,7 +156,7 @@ diff --git a/globals_enum.html b/globals_enum.html index df0ca499f..2f41bfd91 100644 --- a/globals_enum.html +++ b/globals_enum.html @@ -83,7 +83,7 @@ diff --git a/globals_func.html b/globals_func.html index 604c8ee87..1b5560a07 100644 --- a/globals_func.html +++ b/globals_func.html @@ -109,7 +109,7 @@ diff --git a/globals_type.html b/globals_type.html index d01849d77..3833a6845 100644 --- a/globals_type.html +++ b/globals_type.html @@ -86,7 +86,7 @@ diff --git a/globals_vars.html b/globals_vars.html index 2abdfda51..7b2c6ebe6 100644 --- a/globals_vars.html +++ b/globals_vars.html @@ -100,7 +100,7 @@ diff --git a/graph_legend.html b/graph_legend.html index dfa36ddc4..461a0cd6a 100644 --- a/graph_legend.html +++ b/graph_legend.html @@ -136,7 +136,7 @@ diff --git a/index.html b/index.html index 7293fd6d8..e6abf3ff9 100644 --- a/index.html +++ b/index.html @@ -342,7 +342,7 @@

                                                diff --git a/initialize_8cpp.html b/initialize_8cpp.html index 1dc087a8e..c5502b120 100644 --- a/initialize_8cpp.html +++ b/initialize_8cpp.html @@ -176,7 +176,7 @@

                                                diff --git a/initialize_8cpp_source.html b/initialize_8cpp_source.html index 94fc675f0..38f529e2c 100644 --- a/initialize_8cpp_source.html +++ b/initialize_8cpp_source.html @@ -203,7 +203,7 @@ diff --git a/main_8cpp.html b/main_8cpp.html index e07b74899..0046ed8b5 100644 --- a/main_8cpp.html +++ b/main_8cpp.html @@ -102,7 +102,7 @@ diff --git a/main_8cpp_source.html b/main_8cpp_source.html index e71d108c3..601215379 100644 --- a/main_8cpp_source.html +++ b/main_8cpp_source.html @@ -90,7 +90,7 @@ diff --git a/md__l_i_c_e_n_s_e.html b/md__l_i_c_e_n_s_e.html index f4e6d8fd0..2c30c30b5 100644 --- a/md__l_i_c_e_n_s_e.html +++ b/md__l_i_c_e_n_s_e.html @@ -86,7 +86,7 @@ diff --git a/optimize-initialize_8py_source.html b/optimize-initialize_8py_source.html index e2e86ed80..3bed51123 100644 --- a/optimize-initialize_8py_source.html +++ b/optimize-initialize_8py_source.html @@ -213,7 +213,7 @@ diff --git a/pages.html b/pages.html index f67b427ae..b762012c8 100644 --- a/pages.html +++ b/pages.html @@ -83,7 +83,7 @@ diff --git a/search/all_2.js b/search/all_2.js index 48b87779d..bef543176 100644 --- a/search/all_2.js +++ b/search/all_2.js @@ -15,7 +15,7 @@ var searchData= ['check_5ftimevalues_22',['check_timevalues',['../_foliated__triangulation_8hpp.html#a23722addcbd11dbcf0d73217e78c745b',1,'foliated_triangulations']]], ['check_5fvertices_23',['check_vertices',['../_foliated__triangulation_8hpp.html#a614b49fe4ccbdaa0f11c99ba8a078c56',1,'foliated_triangulations']]], ['checkpoint_24',['checkpoint',['../class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4.html#a538cbc968d7bd30f6481803afa75c776',1,'MoveStrategy< Strategies::MOVE_ALWAYS, ManifoldType >::checkpoint()'],['../class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4.html#a9d442a0d9eb99d61526c1af6887b176e',1,'MoveStrategy< Strategies::METROPOLIS, ManifoldType >::checkpoint()']]], - ['classify_5fcells_25',['classify_cells',['../classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html#a757cb297cd34e0bdea7e1b33ba88a097',1,'foliated_triangulations::FoliatedTriangulation< 3 >']]], + ['classify_5fcells_25',['classify_cells',['../classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html#ad97e1462f5b6433e967d85191bb8af83',1,'foliated_triangulations::FoliatedTriangulation< 3 >']]], ['classify_5fedge_26',['classify_edge',['../_foliated__triangulation_8hpp.html#a5e25db99e58daf58c86e60932f75fd4a',1,'foliated_triangulations']]], ['collect_5fcells_27',['collect_cells',['../_foliated__triangulation_8hpp.html#a950166f4a306c55b39da4d1031e3cdb2',1,'foliated_triangulations']]], ['collect_5fedges_28',['collect_edges',['../_foliated__triangulation_8hpp.html#a5ceb692d06946b6b301382fedc1d388f',1,'foliated_triangulations::collect_edges()'],['../classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html#ada4bff5cf4bbd9f0c06438710d4f21c8',1,'foliated_triangulations::FoliatedTriangulation< 3 >::collect_edges() const -> Edge_container']]], diff --git a/search/functions_2.js b/search/functions_2.js index 8805e343d..b7a4ed062 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -10,7 +10,7 @@ var searchData= ['check_5ftimevalues_360',['check_timevalues',['../_foliated__triangulation_8hpp.html#a23722addcbd11dbcf0d73217e78c745b',1,'foliated_triangulations']]], ['check_5fvertices_361',['check_vertices',['../_foliated__triangulation_8hpp.html#a614b49fe4ccbdaa0f11c99ba8a078c56',1,'foliated_triangulations']]], ['checkpoint_362',['checkpoint',['../class_move_strategy_3_01_strategies_1_1_m_e_t_r_o_p_o_l_i_s_00_01_manifold_type_01_4.html#a9d442a0d9eb99d61526c1af6887b176e',1,'MoveStrategy< Strategies::METROPOLIS, ManifoldType >::checkpoint()'],['../class_move_strategy_3_01_strategies_1_1_m_o_v_e___a_l_w_a_y_s_00_01_manifold_type_01_4.html#a538cbc968d7bd30f6481803afa75c776',1,'MoveStrategy< Strategies::MOVE_ALWAYS, ManifoldType >::checkpoint()']]], - ['classify_5fcells_363',['classify_cells',['../classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html#a757cb297cd34e0bdea7e1b33ba88a097',1,'foliated_triangulations::FoliatedTriangulation< 3 >']]], + ['classify_5fcells_363',['classify_cells',['../classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html#ad97e1462f5b6433e967d85191bb8af83',1,'foliated_triangulations::FoliatedTriangulation< 3 >']]], ['classify_5fedge_364',['classify_edge',['../_foliated__triangulation_8hpp.html#a5e25db99e58daf58c86e60932f75fd4a',1,'foliated_triangulations']]], ['collect_5fcells_365',['collect_cells',['../_foliated__triangulation_8hpp.html#a950166f4a306c55b39da4d1031e3cdb2',1,'foliated_triangulations']]], ['collect_5fedges_366',['collect_edges',['../classfoliated__triangulations_1_1_foliated_triangulation_3_013_01_4.html#ada4bff5cf4bbd9f0c06438710d4f21c8',1,'foliated_triangulations::FoliatedTriangulation< 3 >::collect_edges()'],['../_foliated__triangulation_8hpp.html#a5ceb692d06946b6b301382fedc1d388f',1,'foliated_triangulations::collect_edges()']]], diff --git a/struct_geometry.html b/struct_geometry.html index 91b400f9c..34eff80e7 100644 --- a/struct_geometry.html +++ b/struct_geometry.html @@ -107,7 +107,7 @@ diff --git a/struct_geometry_3_013_01_4-members.html b/struct_geometry_3_013_01_4-members.html index e52c0ba38..18bb4039b 100644 --- a/struct_geometry_3_013_01_4-members.html +++ b/struct_geometry_3_013_01_4-members.html @@ -92,7 +92,7 @@ diff --git a/struct_geometry_3_013_01_4.html b/struct_geometry_3_013_01_4.html index 8bb643517..c86838ac1 100644 --- a/struct_geometry_3_013_01_4.html +++ b/struct_geometry_3_013_01_4.html @@ -246,7 +246,7 @@

                                                diff --git a/struct_geometry_3_014_01_4-members.html b/struct_geometry_3_014_01_4-members.html index e1e5bd7fe..8a2ff04a4 100644 --- a/struct_geometry_3_014_01_4-members.html +++ b/struct_geometry_3_014_01_4-members.html @@ -84,7 +84,7 @@ diff --git a/struct_geometry_3_014_01_4.html b/struct_geometry_3_014_01_4.html index b4977454e..22a190021 100644 --- a/struct_geometry_3_014_01_4.html +++ b/struct_geometry_3_014_01_4.html @@ -112,7 +112,7 @@ diff --git a/struct_triangulation_traits.html b/struct_triangulation_traits.html index 919bdce54..b9cf502c2 100644 --- a/struct_triangulation_traits.html +++ b/struct_triangulation_traits.html @@ -93,7 +93,7 @@ diff --git a/struct_triangulation_traits_3_013_01_4-members.html b/struct_triangulation_traits_3_013_01_4-members.html index 2b36a3710..ea4972fb8 100644 --- a/struct_triangulation_traits_3_013_01_4-members.html +++ b/struct_triangulation_traits_3_013_01_4-members.html @@ -94,7 +94,7 @@ diff --git a/struct_triangulation_traits_3_013_01_4.html b/struct_triangulation_traits_3_013_01_4.html index cd6344f73..ccf97e9ec 100644 --- a/struct_triangulation_traits_3_013_01_4.html +++ b/struct_triangulation_traits_3_013_01_4.html @@ -166,7 +166,7 @@

                                                diff --git a/test_8py_source.html b/test_8py_source.html index 596751cf5..5b9e750b8 100644 --- a/test_8py_source.html +++ b/test_8py_source.html @@ -129,7 +129,7 @@ diff --git a/todo.html b/todo.html index 8ef92726c..2834ba132 100644 --- a/todo.html +++ b/todo.html @@ -91,7 +91,7 @@