]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Bugfix: Implement correct return values for ->face_flip and ->face_rotation in 1d...
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 4 Dec 2012 22:46:53 +0000 (22:46 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 4 Dec 2012 22:46:53 +0000 (22:46 +0000)
This fixes a regression introduced with r27714 which made
GeometryInfo<2>::child_cell_on_face face_flip aware in 2d.

git-svn-id: https://svn.dealii.org/trunk@27757 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/include/deal.II/grid/tria_accessor.templates.h

index 82737cd11755d04ca4ecd0f24738dd98beeed804..432c472f1353fbe50c7683362d653e0fbf0f4037 100644 (file)
@@ -628,9 +628,7 @@ namespace internal
 
 
       /**
-       * Implementation of the function
-       * of some name in the mother
-       * class.
+       * Implementation of the function of some name in the mother class
        */
       template <int structdim, int dim, int spacedim>
       static
@@ -638,6 +636,12 @@ namespace internal
       face_orientation (const TriaAccessor<structdim, dim, spacedim> &,
                         const unsigned int)
       {
+        /*
+         * Default implementation used in 1d and 2d
+         *
+         * In 1d and 2d, face_orientation is always true
+         */
+
         return true;
       }
 
@@ -665,7 +669,22 @@ namespace internal
       face_flip (const TriaAccessor<structdim, dim, spacedim> &,
                  const unsigned int)
       {
-        return true;
+        /*
+         * Default implementation used in 1d and 2d
+         *
+         * In 1d, face_flip is always false as there is no such concept as
+         * "flipped" faces in 1d.
+         *
+         * In 2d, we currently only support meshes where all faces are in
+         * standard orientation, so the result is also false.
+         *
+         * TODO: If we support meshes with flipped faces one day, this
+         * function has to be implemented for that as well.
+         * Maier, 2012
+         */
+
+        return false;
+
       }
 
 
@@ -701,7 +720,13 @@ namespace internal
       face_rotation (const TriaAccessor<structdim, dim, spacedim> &,
                      const unsigned int)
       {
-        return true;
+        /*
+         * Default implementation used in 1d and 2d
+         *
+         * In 1d and 2d, face_rotation is always false as there is no such
+         * concept as "rotated" faces in 1d and 2d.
+         */
+        return false;
       }
 
 
@@ -745,8 +770,7 @@ namespace internal
       line_orientation (const TriaAccessor<2, 2, spacedim> &,
                         const unsigned int)
       {
-        // quads in 2d have no
-        // non-standard orientation
+        // quads in 2d have no non-standard orientation
         return true;
       }
 
@@ -757,10 +781,9 @@ namespace internal
       line_orientation (const TriaAccessor<2, 3, spacedim> &accessor,
                         const unsigned int line)
       {
-        // quads as part of 3d hexes
-        // can have non-standard
-        // orientation
-//TODO: why is this face_orientation, not line_orientation as in the setter function?
+        // quads as part of 3d hexes can have non-standard orientation
+
+        //TODO: why is this face_orientation, not line_orientation as in the setter function?
         return accessor.tria->faces->quads.face_orientation(accessor.present_index, line);
       }
 

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.