From: Peter Munch Date: Sat, 1 Apr 2023 07:03:27 +0000 (+0200) Subject: FEPointEvaluation: disconnect from MappingInfo X-Git-Tag: v9.5.0-rc1~380^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8152f845c7ffa9e7313126c42f8f6310e03194ce;p=dealii.git FEPointEvaluation: disconnect from MappingInfo --- diff --git a/include/deal.II/matrix_free/fe_point_evaluation.h b/include/deal.II/matrix_free/fe_point_evaluation.h index dd447cbe00..c1ef8b53a0 100644 --- a/include/deal.II/matrix_free/fe_point_evaluation.h +++ b/include/deal.II/matrix_free/fe_point_evaluation.h @@ -455,6 +455,11 @@ public: const FiniteElement & fe, const unsigned int first_selected_component = 0); + /** + * Destructor. + */ + ~FEPointEvaluation(); + /** * Set up the mapping information for the given cell, e.g., by computing the * Jacobian of the mapping for the given points if gradients of the functions @@ -786,6 +791,12 @@ private: */ bool fast_path; + /** + * Connection to NonMatching::MappingInfo to check wheter mapping data + * has been invalidated. + */ + boost::signals2::connection connection_is_reinitialized; + /** * Bool indicating if class is reinitialized and data vectors a resized. */ @@ -839,12 +850,20 @@ FEPointEvaluation::FEPointEvaluation( , is_reinitialized(false) { setup(first_selected_component); - mapping_info.connect_is_reinitialized( + connection_is_reinitialized = mapping_info.connect_is_reinitialized( [this]() { this->is_reinitialized = false; }); } +template +FEPointEvaluation::~FEPointEvaluation() +{ + connection_is_reinitialized.disconnect(); +} + + + template void FEPointEvaluation::setup(