]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Add a test for GeometryInfo<dim>::face_to_cell_vertices and face_to_cell_lines
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 4 Dec 2012 22:46:55 +0000 (22:46 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 4 Dec 2012 22:46:55 +0000 (22:46 +0000)
git-svn-id: https://svn.dealii.org/trunk@27758 0785d39b-7218-0410-832d-ea1e28bc413d

tests/base/geometry_info_8.cc [new file with mode: 0644]
tests/base/geometry_info_8/cmp/generic [new file with mode: 0644]

diff --git a/tests/base/geometry_info_8.cc b/tests/base/geometry_info_8.cc
new file mode 100644 (file)
index 0000000..6b7fcc0
--- /dev/null
@@ -0,0 +1,93 @@
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/geometry_info.h>
+
+#include <fstream>
+
+#include <bitset>
+
+using namespace dealii;
+
+//
+// Test GeometryInfo<dim>::face_to_cell_vertices
+// for correct behaviour under face_orientation face_flip and face_rotation
+//
+
+
+template<int dim>
+void test_vertices()
+{
+  deallog << dim << "D:" << std::endl;
+
+  for(unsigned int i = 0; i < GeometryInfo<dim>::faces_per_cell; ++i) {
+
+    deallog << "face " << i << ":" << std::endl;
+
+    for(unsigned int o = 0; o < 8; ++o) {
+      const std::bitset<3> orientation = o;
+
+      deallog << "orientation " << orientation[0]
+              << ", flip " << orientation[1]
+              << ", rotation " << orientation[2]
+              << ":" << std::endl << "    ";
+
+      for(unsigned int j = 0; j < GeometryInfo<dim>::vertices_per_face; ++j) {
+        deallog << " (" << j << " -> "
+                << GeometryInfo<dim>::face_to_cell_vertices(i, j, orientation[0], orientation[1], orientation[2])
+                << " )";
+      }
+      deallog << std::endl;
+    }
+  }
+}
+
+
+template<int dim>
+void test_lines()
+{
+  deallog << dim << "D:" << std::endl;
+
+  for(unsigned int i = 0; i < GeometryInfo<dim>::faces_per_cell; ++i) {
+
+    deallog << "face " << i << ":" << std::endl;
+
+    for(unsigned int o = 0; o < 8; ++o) {
+      const std::bitset<3> orientation = o;
+
+      deallog << "orientation " << orientation[0]
+              << ", flip " << orientation[1]
+              << ", rotation " << orientation[2]
+              << ":" << std::endl << "    ";
+
+      for(unsigned int j = 0; j < GeometryInfo<dim>::lines_per_face; ++j) {
+        deallog << " (" << j << " -> "
+                << GeometryInfo<dim>::face_to_cell_lines(i, j, orientation[0], orientation[1], orientation[2])
+                << " )";
+      }
+      deallog << std::endl;
+    }
+  }
+}
+
+
+int main()
+{
+  std::ofstream logfile("geometry_info_8/output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+  deallog << std::endl << "GeometryInfo<dim>::face_to_cell_vertices:" << std::endl;
+
+  test_vertices<1>();
+  test_vertices<2>();
+  test_vertices<3>();
+
+  deallog << std::endl << std::endl << "GeometryInfo<dim>::face_to_cell_lines:" << std::endl;
+
+  test_lines<2>();
+  test_lines<3>();
+
+  return 0;
+}
+
diff --git a/tests/base/geometry_info_8/cmp/generic b/tests/base/geometry_info_8/cmp/generic
new file mode 100644 (file)
index 0000000..6fb781c
--- /dev/null
@@ -0,0 +1,385 @@
+
+DEAL::
+DEAL::GeometryInfo<dim>::face_to_cell_vertices:
+DEAL::1D:
+DEAL::face 0:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 0 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 0 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 0 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 0 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 0 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 0 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 0 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 0 )
+DEAL::face 1:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 1 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 1 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 1 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 1 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 1 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 1 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 1 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 1 )
+DEAL::2D:
+DEAL::face 0:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 2 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 2 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 2 ) (1 -> 0 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 2 ) (1 -> 0 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 0 ) (1 -> 2 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 0 ) (1 -> 2 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 0 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 0 )
+DEAL::face 1:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 1 ) (1 -> 3 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 1 ) (1 -> 3 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 3 ) (1 -> 1 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 3 ) (1 -> 1 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 3 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 3 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 1 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 1 )
+DEAL::face 2:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 1 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 1 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 1 ) (1 -> 0 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 1 ) (1 -> 0 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 0 ) (1 -> 1 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 0 ) (1 -> 1 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 0 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 0 )
+DEAL::face 3:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 2 ) (1 -> 3 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 2 ) (1 -> 3 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 3 ) (1 -> 2 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 3 ) (1 -> 2 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 3 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 3 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 2 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 2 )
+DEAL::3D:
+DEAL::face 0:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 4 ) (2 -> 2 ) (3 -> 6 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 2 ) (2 -> 4 ) (3 -> 6 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 6 ) (1 -> 2 ) (2 -> 4 ) (3 -> 0 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 6 ) (1 -> 4 ) (2 -> 2 ) (3 -> 0 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 4 ) (1 -> 6 ) (2 -> 0 ) (3 -> 2 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 6 ) (2 -> 0 ) (3 -> 4 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 0 ) (2 -> 6 ) (3 -> 4 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 4 ) (1 -> 0 ) (2 -> 6 ) (3 -> 2 )
+DEAL::face 1:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 1 ) (1 -> 5 ) (2 -> 3 ) (3 -> 7 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 1 ) (1 -> 3 ) (2 -> 5 ) (3 -> 7 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 7 ) (1 -> 3 ) (2 -> 5 ) (3 -> 1 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 7 ) (1 -> 5 ) (2 -> 3 ) (3 -> 1 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 5 ) (1 -> 7 ) (2 -> 1 ) (3 -> 3 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 7 ) (2 -> 1 ) (3 -> 5 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 1 ) (2 -> 7 ) (3 -> 5 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 5 ) (1 -> 1 ) (2 -> 7 ) (3 -> 3 )
+DEAL::face 2:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 1 ) (2 -> 4 ) (3 -> 5 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 4 ) (2 -> 1 ) (3 -> 5 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 5 ) (1 -> 4 ) (2 -> 1 ) (3 -> 0 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 5 ) (1 -> 1 ) (2 -> 4 ) (3 -> 0 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 5 ) (2 -> 0 ) (3 -> 4 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 4 ) (1 -> 5 ) (2 -> 0 ) (3 -> 1 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 4 ) (1 -> 0 ) (2 -> 5 ) (3 -> 1 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 0 ) (2 -> 5 ) (3 -> 4 )
+DEAL::face 3:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 2 ) (1 -> 3 ) (2 -> 6 ) (3 -> 7 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 2 ) (1 -> 6 ) (2 -> 3 ) (3 -> 7 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 7 ) (1 -> 6 ) (2 -> 3 ) (3 -> 2 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 7 ) (1 -> 3 ) (2 -> 6 ) (3 -> 2 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 7 ) (2 -> 2 ) (3 -> 6 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 6 ) (1 -> 7 ) (2 -> 2 ) (3 -> 3 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 6 ) (1 -> 2 ) (2 -> 7 ) (3 -> 3 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 2 ) (2 -> 7 ) (3 -> 6 )
+DEAL::face 4:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 2 ) (2 -> 1 ) (3 -> 3 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 1 ) (2 -> 2 ) (3 -> 3 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 3 ) (1 -> 1 ) (2 -> 2 ) (3 -> 0 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 3 ) (1 -> 2 ) (2 -> 1 ) (3 -> 0 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 3 ) (2 -> 0 ) (3 -> 1 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 3 ) (2 -> 0 ) (3 -> 2 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 0 ) (2 -> 3 ) (3 -> 2 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 0 ) (2 -> 3 ) (3 -> 1 )
+DEAL::face 5:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 4 ) (1 -> 6 ) (2 -> 5 ) (3 -> 7 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 4 ) (1 -> 5 ) (2 -> 6 ) (3 -> 7 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 7 ) (1 -> 5 ) (2 -> 6 ) (3 -> 4 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 7 ) (1 -> 6 ) (2 -> 5 ) (3 -> 4 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 6 ) (1 -> 7 ) (2 -> 4 ) (3 -> 5 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 5 ) (1 -> 7 ) (2 -> 4 ) (3 -> 6 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 5 ) (1 -> 4 ) (2 -> 7 ) (3 -> 6 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 6 ) (1 -> 4 ) (2 -> 7 ) (3 -> 5 )
+DEAL::
+DEAL::
+DEAL::GeometryInfo<dim>::face_to_cell_lines:
+DEAL::2D:
+DEAL::face 0:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 0 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 0 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 0 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 0 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 0 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 0 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 0 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 0 )
+DEAL::face 1:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 1 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 1 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 1 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 1 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 1 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 1 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 1 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 1 )
+DEAL::face 2:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 2 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 2 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 2 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 2 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 2 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 2 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 2 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 2 )
+DEAL::face 3:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 3 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 3 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 3 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 3 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 3 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 3 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 3 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 3 )
+DEAL::3D:
+DEAL::face 0:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 4 ) (2 -> 8 ) (3 -> 10 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 8 ) (1 -> 10 ) (2 -> 0 ) (3 -> 4 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 4 ) (1 -> 0 ) (2 -> 10 ) (3 -> 8 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 10 ) (1 -> 8 ) (2 -> 4 ) (3 -> 0 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 8 ) (1 -> 10 ) (2 -> 4 ) (3 -> 0 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 0 ) (1 -> 4 ) (2 -> 10 ) (3 -> 8 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 10 ) (1 -> 8 ) (2 -> 0 ) (3 -> 4 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 4 ) (1 -> 0 ) (2 -> 8 ) (3 -> 10 )
+DEAL::face 1:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 1 ) (1 -> 5 ) (2 -> 9 ) (3 -> 11 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 9 ) (1 -> 11 ) (2 -> 1 ) (3 -> 5 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 5 ) (1 -> 1 ) (2 -> 11 ) (3 -> 9 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 11 ) (1 -> 9 ) (2 -> 5 ) (3 -> 1 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 9 ) (1 -> 11 ) (2 -> 5 ) (3 -> 1 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 5 ) (2 -> 11 ) (3 -> 9 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 11 ) (1 -> 9 ) (2 -> 1 ) (3 -> 5 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 5 ) (1 -> 1 ) (2 -> 9 ) (3 -> 11 )
+DEAL::face 2:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 8 ) (1 -> 9 ) (2 -> 2 ) (3 -> 6 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 2 ) (1 -> 6 ) (2 -> 8 ) (3 -> 9 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 9 ) (1 -> 8 ) (2 -> 6 ) (3 -> 2 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 6 ) (1 -> 2 ) (2 -> 9 ) (3 -> 8 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 6 ) (2 -> 9 ) (3 -> 8 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 8 ) (1 -> 9 ) (2 -> 6 ) (3 -> 2 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 6 ) (1 -> 2 ) (2 -> 8 ) (3 -> 9 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 9 ) (1 -> 8 ) (2 -> 2 ) (3 -> 6 )
+DEAL::face 3:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 10 ) (1 -> 11 ) (2 -> 3 ) (3 -> 7 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 3 ) (1 -> 7 ) (2 -> 10 ) (3 -> 11 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 11 ) (1 -> 10 ) (2 -> 7 ) (3 -> 3 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 7 ) (1 -> 3 ) (2 -> 11 ) (3 -> 10 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 7 ) (2 -> 11 ) (3 -> 10 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 10 ) (1 -> 11 ) (2 -> 7 ) (3 -> 3 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 7 ) (1 -> 3 ) (2 -> 10 ) (3 -> 11 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 11 ) (1 -> 10 ) (2 -> 3 ) (3 -> 7 )
+DEAL::face 4:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 2 ) (1 -> 3 ) (2 -> 0 ) (3 -> 1 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 0 ) (1 -> 1 ) (2 -> 2 ) (3 -> 3 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 3 ) (1 -> 2 ) (2 -> 1 ) (3 -> 0 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 1 ) (1 -> 0 ) (2 -> 3 ) (3 -> 2 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 0 ) (1 -> 1 ) (2 -> 3 ) (3 -> 2 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 2 ) (1 -> 3 ) (2 -> 1 ) (3 -> 0 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 1 ) (1 -> 0 ) (2 -> 2 ) (3 -> 3 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 3 ) (1 -> 2 ) (2 -> 0 ) (3 -> 1 )
+DEAL::face 5:
+DEAL::orientation 0, flip 0, rotation 0:
+DEAL::     (0 -> 6 ) (1 -> 7 ) (2 -> 4 ) (3 -> 5 )
+DEAL::orientation 1, flip 0, rotation 0:
+DEAL::     (0 -> 4 ) (1 -> 5 ) (2 -> 6 ) (3 -> 7 )
+DEAL::orientation 0, flip 1, rotation 0:
+DEAL::     (0 -> 7 ) (1 -> 6 ) (2 -> 5 ) (3 -> 4 )
+DEAL::orientation 1, flip 1, rotation 0:
+DEAL::     (0 -> 5 ) (1 -> 4 ) (2 -> 7 ) (3 -> 6 )
+DEAL::orientation 0, flip 0, rotation 1:
+DEAL::     (0 -> 4 ) (1 -> 5 ) (2 -> 7 ) (3 -> 6 )
+DEAL::orientation 1, flip 0, rotation 1:
+DEAL::     (0 -> 6 ) (1 -> 7 ) (2 -> 5 ) (3 -> 4 )
+DEAL::orientation 0, flip 1, rotation 1:
+DEAL::     (0 -> 5 ) (1 -> 4 ) (2 -> 6 ) (3 -> 7 )
+DEAL::orientation 1, flip 1, rotation 1:
+DEAL::     (0 -> 7 ) (1 -> 6 ) (2 -> 4 ) (3 -> 5 )

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.