From 904277ede67fe7fbe9052a4a40cf00c820a4c7ee Mon Sep 17 00:00:00 2001 From: wolf Date: Mon, 7 Aug 2000 13:16:49 +0000 Subject: [PATCH] Add an assertion that the number of subdivisions be reasonable. git-svn-id: https://svn.dealii.org/trunk@3229 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/numerics/data_out.h | 8 ++++++++ deal.II/deal.II/include/numerics/data_out_stack.h | 7 +++++++ deal.II/deal.II/source/numerics/data_out.cc | 3 +++ deal.II/deal.II/source/numerics/data_out_stack.cc | 3 ++- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/deal.II/deal.II/include/numerics/data_out.h b/deal.II/deal.II/include/numerics/data_out.h index cf04324467..8c3e462290 100644 --- a/deal.II/deal.II/include/numerics/data_out.h +++ b/deal.II/deal.II/include/numerics/data_out.h @@ -499,6 +499,14 @@ class DataOut : public DataOut_DoFData virtual typename DoFHandler::cell_iterator next_cell (const typename DoFHandler::cell_iterator &cell); + /** + * Exception + */ + DeclException1 (ExcInvalidNumberOfSubdivisions, + int, + << "The number of subdivisions per patch, " << arg1 + << ", is not valid."); + private: /** * All data needed in one thread diff --git a/deal.II/deal.II/include/numerics/data_out_stack.h b/deal.II/deal.II/include/numerics/data_out_stack.h index be16959583..d438ae5516 100644 --- a/deal.II/deal.II/include/numerics/data_out_stack.h +++ b/deal.II/deal.II/include/numerics/data_out_stack.h @@ -323,6 +323,13 @@ class DataOutStack : public DataOutInterface string, << "You tried to declare a component of a data vector with " << "the name <" << arg1 << ">, but that name is already used."); + /** + * Exception + */ + DeclException1 (ExcInvalidNumberOfSubdivisions, + int, + << "The number of subdivisions per patch, " << arg1 + << ", is not valid."); private: /** diff --git a/deal.II/deal.II/source/numerics/data_out.cc b/deal.II/deal.II/source/numerics/data_out.cc index e27355a9b2..3a5bdb09b9 100644 --- a/deal.II/deal.II/source/numerics/data_out.cc +++ b/deal.II/deal.II/source/numerics/data_out.cc @@ -307,6 +307,9 @@ template void DataOut::build_patches (const unsigned int n_subdivisions, const unsigned int n_threads_) { + Assert (n_subdivisions >= 1, + ExcInvalidNumberOfSubdivisions(n_subdivisions)); + Assert (dofs != 0, typename DataOut_DoFData::ExcNoDoFHandlerSelected()); #ifdef DEAL_II_USE_MT diff --git a/deal.II/deal.II/source/numerics/data_out_stack.cc b/deal.II/deal.II/source/numerics/data_out_stack.cc index 0bf77b4719..dd155aa13e 100644 --- a/deal.II/deal.II/source/numerics/data_out_stack.cc +++ b/deal.II/deal.II/source/numerics/data_out_stack.cc @@ -175,7 +175,8 @@ void DataOutStack::build_patches (const unsigned int n_subdivisions) { // this is mostly copied from the // DataOut class - + Assert (n_subdivisions >= 1, + ExcInvalidNumberOfSubdivisions(n_subdivisions)); Assert (dof_handler != 0, ExcNoDoFHandlerSelected()); const unsigned int n_components = dof_handler->get_fe().n_components(); -- 2.39.5