]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add additional functions to InvalidAccessor. 4777/head
authorDavid Wells <wellsd2@rpi.edu>
Thu, 10 Aug 2017 22:49:07 +0000 (18:49 -0400)
committerDavid Wells <wellsd2@rpi.edu>
Thu, 10 Aug 2017 22:56:29 +0000 (18:56 -0400)
This was originally written by Luca Heltai and is necessary for the
patch removing the Boundary classes.

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

index dc5531a53428d3dd22847ce80fd6159ffd613a77..0ce10cea06b0515e35d8df026c636a3d33e9a773 100644 (file)
@@ -563,6 +563,23 @@ public:
    * Dummy function that always returns numbers::invalid_manifold_id.
    */
   types::manifold_id manifold_id () const;
+
+  /**
+   * Dummy function to extract vertices. Returns the origin.
+   */
+  Point<spacedim> &vertex (const unsigned int i) const;
+
+  /**
+   * Dummy function to extract lines. Returns a default-constructed line iterator.
+   */
+  typename dealii::internal::Triangulation::Iterators<dim,spacedim>::line_iterator
+  line (const unsigned int i) const;
+
+  /**
+   * Dummy function to extract quads. Returns a default-constructed quad iterator.
+   */
+  typename dealii::internal::Triangulation::Iterators<dim,spacedim>::quad_iterator
+  quad (const unsigned int i) const;
 };
 
 
index 6529d22ab9a37cbb1b82e7ca0d7546027ef80a5d..65a88f78a0a1bcdc11f1eb5bc353397191d006e9 100644 (file)
@@ -519,6 +519,40 @@ InvalidAccessor<structdim, dim, spacedim>::manifold_id () const
 }
 
 
+template <int structdim, int dim, int spacedim>
+inline
+Point<spacedim> &
+InvalidAccessor<structdim, dim, spacedim>::vertex (const unsigned int) const
+{
+  // nothing to do here. we could throw an exception but we can't get here
+  // without first creating an object which would have already thrown
+  static Point<spacedim> invalid_vertex;
+  return invalid_vertex;
+}
+
+
+template <int structdim, int dim, int spacedim>
+inline
+typename dealii::internal::Triangulation::Iterators<dim,spacedim>::line_iterator
+InvalidAccessor<structdim, dim, spacedim>::line (const unsigned int) const
+{
+  // nothing to do here. we could throw an exception but we can't get here
+  // without first creating an object which would have already thrown
+  return typename dealii::internal::Triangulation::Iterators<dim,spacedim>::line_iterator();
+}
+
+
+
+template <int structdim, int dim, int spacedim>
+inline
+typename dealii::internal::Triangulation::Iterators<dim,spacedim>::quad_iterator
+InvalidAccessor<structdim, dim, spacedim>::quad (const unsigned int) const
+{
+  // nothing to do here. we could throw an exception but we can't get here
+  // without first creating an object which would have already thrown
+  return dealii::internal::Triangulation::Iterators<dim,spacedim>::quad_iterator();
+}
+
 
 /*------------------------ Functions: TriaAccessor ---------------------------*/
 

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.