/**
- * @defgroup boundary Boundary and Manifold description for triangulations
+ * @defgroup boundary Boundary and manifold description for triangulations
*
* The classes in this module are concerned with the description of the
* geometry of a domain in which a Triangulation lives. This geometry
// ---------------------------------------------------------------------
// $Id$
//
-// Copyright (C) 2009 - 2013 by the deal.II authors
+// Copyright (C) 2009 - 2014 by the deal.II authors
//
// This file is part of the deal.II library.
//
*
* @see @ref GlossManifoldIndicator "Glossary entry on manifold indicators"
*/
- typedef unsigned char manifold_id;
+ typedef unsigned int manifold_id;
/**
bool at_boundary () const;
/**
- * Return a constant reference to a
- * boundary object used for this
- * object. This function is a shortcut to
- * retrieving the boundary indicator
- * using boundary_indicator() and then
- * asking the
- * Triangulation::get_boundary() function
- * for the boundary object.
+ * Return a constant reference to the manifold object used for this
+ * object. This function exists for backward compatibility and calls
+ * get_manifold() internally.
*/
const Boundary<dim,spacedim> &get_boundary () const;
/**
- * Return a constant reference to a
- * manifold object used for this
- * object. This function is a shortcut to
- * retrieving the manifold indicator
- * using manifold_indicator() and then
- * asking the
- * Triangulation::get_manifold() function
- * for the manifold object.
+ * Return a constant reference to the manifold object used for this object.
+ *
+ * As explained in
+ * @ref boundary "Boundary and manifold description for triangulations",
+ * the process involved in finding the appropriate manifold description
+ * involves querying both the manifold or boundary indicators. See there
+ * for more information.
*/
const Boundary<dim,spacedim> &get_manifold () const;
// ---------------------------------------------------------------------
// $Id$
//
-// Copyright (C) 1999 - 2013 by the deal.II authors
+// Copyright (C) 1999 - 2014 by the deal.II authors
//
// This file is part of the deal.II library.
//
TriaAccessor<structdim, dim, spacedim>::get_manifold () const
{
Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed());
+
// Get the default (manifold_id)
- types::manifold_id mi = this->objects().manifold_id[this->present_index];
+ const types::manifold_id mi = this->objects().manifold_id[this->present_index];
// In case this is not valid, check
// the boundary id, after having
// casted it to a manifold id
if(mi == numbers::invalid_manifold_id)
- mi = static_cast<types::manifold_id>
- (structdim < dim ?
- this->objects().boundary_or_material_id[this->present_index].boundary_id:
- dim < spacedim ?
- this->objects().boundary_or_material_id[this->present_index].material_id:
- numbers::invalid_manifold_id);
+ mi = static_cast<types::manifold_id>
+ (structdim < dim ?
+ this->objects().boundary_or_material_id[this->present_index].boundary_id:
+ dim < spacedim ?
+ this->objects().boundary_or_material_id[this->present_index].material_id:
+ numbers::invalid_manifold_id);
return this->tria->get_manifold(mi);
}