From b9793a6a353a3641e814a5b92d26a1e98f3665c0 Mon Sep 17 00:00:00 2001 From: Ralf Hartmann Date: Mon, 10 Oct 2005 07:09:47 +0000 Subject: [PATCH] Vector of boundary indicator is now returned. git-svn-id: https://svn.dealii.org/trunk@11581 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/grid/tria.h | 28 +++++++++++++--------------- deal.II/deal.II/source/grid/tria.cc | 16 ++++++++-------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/deal.II/deal.II/include/grid/tria.h b/deal.II/deal.II/include/grid/tria.h index 18cb07e437..e310389848 100644 --- a/deal.II/deal.II/include/grid/tria.h +++ b/deal.II/deal.II/include/grid/tria.h @@ -1702,21 +1702,19 @@ class Triangulation : public Subscriptor const Boundary & get_boundary (const unsigned int number) const; /** - * Fill the boundary_indicators - * vector with all boundary - * indicators assigned to - * boundary faces of this - * Triangulation object. Note, - * that each boundary indicator - * is reported only once. The - * boundary_indicators vector - * will be resized to match the - * number of different indicators - * (which is greater or equal - * one). - */ - void get_boundary_indicators( - std::vector &boundary_indicators) const; + * Returns a vector containing + * all boundary indicators + * assigned to boundary faces of + * this Triangulation + * object. Note, that each + * boundary indicator is reported + * only once. The size of the + * return vector will represent + * the number of different + * indicators (which is greater + * or equal one). + */ + std::vector get_boundary_indicators() const; /** * Copy a triangulation. This diff --git a/deal.II/deal.II/source/grid/tria.cc b/deal.II/deal.II/source/grid/tria.cc index 2e6de959cf..3f9eb96d73 100644 --- a/deal.II/deal.II/source/grid/tria.cc +++ b/deal.II/deal.II/source/grid/tria.cc @@ -124,19 +124,17 @@ Triangulation::get_boundary (const unsigned int number) const #if deal_II_dimension == 1 template <> -void -Triangulation<1>::get_boundary_indicators ( - std::vector &boundary_indicators) const +std::vector +Triangulation<1>::get_boundary_indicators () const { - boundary_indicators.resize(0); + return std::vector (0); } #else template -void -Triangulation::get_boundary_indicators ( - std::vector &boundary_indicators) const +std::vector +Triangulation::get_boundary_indicators () const { std::vector bi_exists(255, false); active_cell_iterator cell=begin_active(); @@ -148,11 +146,13 @@ Triangulation::get_boundary_indicators ( const unsigned int n_bi= std::count(bi_exists.begin(), bi_exists.end(), true); - boundary_indicators.resize(n_bi); + std::vector boundary_indicators(n_bi); unsigned int bi_counter=0; for (unsigned int i=0; i