// $Id$
// Version: $Name$
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
* object. If the return value
* is 255, then this line is in
* the interior of the domain.
- *
- * Since boundary data is only
- * useful for structures with a
- * dimension less than the
- * dimension of a cell, this
- * function issues an error if
- * <tt>dim<4</tt>.
*/
unsigned char boundary_indicator () const;
* <tt>boundary_indicator()</tt>
* function.
*
+ * Note that it only sets the
+ * boundary object of the current
+ * object itself, not the
+ * indicators of the ones that
+ * bound it. For example, in 3d,
+ * if this function is called on
+ * a face, then the boundary
+ * indicator of the 4 edges that
+ * bound the face remain
+ * unchanged. If you want to set
+ * the boundary indicators of
+ * face and edges at the same
+ * time, use the
+ * set_all_boundary_indicators()
+ * function.
+ *
* Caution: Never set the
* boundary indicator to 255,
* unless you exactly know what
*/
void set_boundary_indicator (const unsigned char) const;
+ /**
+ * Do as set_boundary_indicator()
+ * but also set the boundary
+ * indicators of the objects that
+ * bound the current object. For
+ * example, in 3d, if
+ * set_boundary_indicator() is
+ * called on a face, then the
+ * boundary indicator of the 4
+ * edges that bound the face
+ * remain unchanged. On the other
+ * hand, the boundary indicators
+ * of face and edges are all set
+ * at the same time using the
+ * current function.
+ */
+ void set_all_boundary_indicators (const unsigned char) const;
+
/**
* Return whether this object is
* at the boundary. This is
*/
void set_boundary_indicator (const unsigned char) const;
+ /**
+ * Do as set_boundary_indicator()
+ * but also set the boundary
+ * indicators of the objects that
+ * bound the current object. For
+ * example, in 3d, if
+ * set_boundary_indicator() is
+ * called on a face, then the
+ * boundary indicator of the 4
+ * edges that bound the face
+ * remain unchanged. On the other
+ * hand, the boundary indicators
+ * of face and edges are all set
+ * at the same time using the
+ * current function.
+ */
+ void set_all_boundary_indicators (const unsigned char) const;
+
/**
* Return whether this line is at
* the boundary. This is checked
* <tt>boundary_indicator()</tt>
* function.
*
+ * Note that it only sets the
+ * boundary object of the current
+ * object itself, not the
+ * indicators of the ones that
+ * bound it. For example, in 3d,
+ * if this function is called on
+ * a face, then the boundary
+ * indicator of the 4 edges that
+ * bound the face remain
+ * unchanged. If you want to set
+ * the boundary indicators of
+ * face and edges at the same
+ * time, use the
+ * set_all_boundary_indicators()
+ * function.
+ *
* You should be careful with
* this function and especially
* never try to set the boundary
*/
void set_boundary_indicator (const unsigned char) const;
+ /**
+ * Do as set_boundary_indicator()
+ * but also set the boundary
+ * indicators of the objects that
+ * bound the current object. For
+ * example, in 3d, if
+ * set_boundary_indicator() is
+ * called on a face, then the
+ * boundary indicator of the 4
+ * edges that bound the face
+ * remain unchanged. On the other
+ * hand, the boundary indicators
+ * of face and edges are all set
+ * at the same time using the
+ * current function.
+ */
+ void set_all_boundary_indicators (const unsigned char) const;
+
/**
* Return whether this quad is at
* the boundary. This is checked
* <tt>boundary_indicator()</tt>
* function.
*
+ * Note that it only sets the
+ * boundary object of the current
+ * object itself, not the
+ * indicators of the ones that
+ * bound it. For example, in 3d,
+ * if this function is called on
+ * a face, then the boundary
+ * indicator of the 4 edges that
+ * bound the face remain
+ * unchanged. If you want to set
+ * the boundary indicators of
+ * face and edges at the same
+ * time, use the
+ * set_all_boundary_indicators()
+ * function.
+ *
* You should be careful with
* this function and especially
* never try to set the boundary
*/
void set_boundary_indicator (const unsigned char) const;
+ /**
+ * Do as set_boundary_indicator()
+ * but also set the boundary
+ * indicators of the objects that
+ * bound the current object. For
+ * example, in 3d, if
+ * set_boundary_indicator() is
+ * called on a face, then the
+ * boundary indicator of the 4
+ * edges that bound the face
+ * remain unchanged. On the other
+ * hand, the boundary indicators
+ * of face and edges are all set
+ * at the same time using the
+ * current function.
+ */
+ void set_all_boundary_indicators (const unsigned char) const;
+
/**
* Return whether this hex is at
* the boundary. This is checked