* \end{verbatim}
*/
static const unsigned int dx_to_deal[vertices_per_cell];
+
+ /**
+ * For each face of the reference
+ * cell, this field stores the
+ * coordinate direction in which
+ * its normal vector points.
+ *
+ * Remark that this is only the
+ * coordinate number. The acual
+ * direction of the normal vector
+ * is obtained by multiplying the
+ * unit vector in this direction
+ * with #unit_normal_orientation.
+ */
+ static const unsigned int unit_normal_direction[faces_per_cell];
+ /**
+ * Orientation of the unit normal
+ * vector of a face of the
+ * reference cell.
+ *
+ * Each value is either
+ * <tt>1</tt> or <tt>-1</tt>,
+ * corresponding to a normal
+ * vector pointing in the
+ * positive or negative
+ * coordinate direction,
+ * respectively.
+ */
+ static const int unit_normal_orientation[faces_per_cell];
+
/**
* This field store which child cells
* are adjacent to a certain face of
*/
static const unsigned int dx_to_deal[vertices_per_cell];
+ /**
+ * For each face of the reference
+ * cell, this field stores the
+ * coordinate direction in which
+ * its normal vector points.
+ *
+ * Remark that this is only the
+ * coordinate number. The acual
+ * direction of the normal vector
+ * is obtained by multiplying the
+ * unit vector in this direction
+ * with #unit_normal_orientation.
+ */
+ static const unsigned int unit_normal_direction[faces_per_cell];
+
+ /**
+ * Orientation of the unit normal
+ * vector of a face of the
+ * reference cell.
+ *
+ * Each value is either
+ * <tt>1</tt> or <tt>-1</tt>,
+ * corresponding to a normal
+ * vector pointing in the
+ * positive or negative
+ * coordinate direction,
+ * respectively.
+ */
+ static const int unit_normal_orientation[faces_per_cell];
+
/**
* This field store which child cells
* are adjacent to a certain face of
*/
static const unsigned int dx_to_deal[vertices_per_cell];
+ /**
+ * For each face of the reference
+ * cell, this field stores the
+ * coordinate direction in which
+ * its normal vector points.
+ *
+ * Remark that this is only the
+ * coordinate number. The acual
+ * direction of the normal vector
+ * is obtained by multiplying the
+ * unit vector in this direction
+ * with #unit_normal_orientation.
+ */
+ static const unsigned int unit_normal_direction[faces_per_cell];
+
+ /**
+ * Orientation of the unit normal
+ * vector of a face of the
+ * reference cell.
+ *
+ * Each value is either
+ * <tt>1</tt> or <tt>-1</tt>,
+ * corresponding to a normal
+ * vector pointing in the
+ * positive or negative
+ * coordinate direction,
+ * respectively.
+ */
+ static const int unit_normal_orientation[faces_per_cell];
+
/**
* This field store which child cells
* are adjacent to a certain face of
*/
static const unsigned int dx_to_deal[vertices_per_cell];
+ /**
+ * For each face of the reference
+ * cell, this field stores the
+ * coordinate direction in which
+ * its normal vector points.
+ *
+ * Remark that this is only the
+ * coordinate number. The acual
+ * direction of the normal vector
+ * is obtained by multiplying the
+ * unit vector in this direction
+ * with #unit_normal_orientation.
+ */
+ static const unsigned int unit_normal_direction[faces_per_cell];
+
+ /**
+ * Orientation of the unit normal
+ * vector of a face of the
+ * reference cell.
+ *
+ * Each value is either
+ * <tt>1</tt> or <tt>-1</tt>,
+ * corresponding to a normal
+ * vector pointing in the
+ * positive or negative
+ * coordinate direction,
+ * respectively.
+ */
+ static const int unit_normal_orientation[faces_per_cell];
+
/**
* This field store which child cells
* are adjacent to a certain face of
// $Id$
// Version: $Name$
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
const unsigned int GeometryInfo<3>::dx_to_deal[GeometryInfo<3>::vertices_per_cell]
= { 0, 3, 4, 7, 1, 2, 5, 6};
+//TODO: Use these values in mappings.
+const unsigned int
+GeometryInfo<1>::unit_normal_direction[GeometryInfo<1>::faces_per_cell]
+= { 0, 0 };
+const int
+GeometryInfo<1>::unit_normal_orientation[GeometryInfo<1>::faces_per_cell]
+= { -1, 1 };
+
+const unsigned int
+GeometryInfo<2>::unit_normal_direction[GeometryInfo<2>::faces_per_cell]
+= { 1, 0, 1, 0 };
+const int
+GeometryInfo<2>::unit_normal_orientation[GeometryInfo<2>::faces_per_cell]
+= { -1, 1, 1, -1 };
+
+const unsigned int
+GeometryInfo<3>::unit_normal_direction[GeometryInfo<3>::faces_per_cell]
+= { 1, 1, 2, 0, 2, 0 };
+const int
+GeometryInfo<3>::unit_normal_orientation[GeometryInfo<3>::faces_per_cell]
+= { -1, 1, -1, 1, 1, -1 };
+