From 636382459a14552a0651669f6245963623c16023 Mon Sep 17 00:00:00 2001 From: Nicolas Marsic <nicolas.marsic@gmail.com> Date: Mon, 28 Jul 2014 14:44:35 +0000 Subject: [PATCH] Better way to include Dofs into DofManager + Better way for FunctionSpace::getKeys(goe, map) --- FunctionSpace/FunctionSpace.cpp | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/FunctionSpace/FunctionSpace.cpp b/FunctionSpace/FunctionSpace.cpp index 780b654338..5f77b0c609 100644 --- a/FunctionSpace/FunctionSpace.cpp +++ b/FunctionSpace/FunctionSpace.cpp @@ -234,23 +234,18 @@ void FunctionSpace::getKeys(const MElement& elem, std::vector<Dof>& dof) const{ void FunctionSpace::getKeys(const GroupOfElement& goe, std::set<Dof>& dof) const{ - // Get Elements // - const vector<const MElement*>& element = goe.getAll(); - const size_t nElement = element.size(); - - // Dof Vector // - vector<Dof> myDof; + // Get Dofs // + const vector<vector<Dof> >& allDofs = getKeys(goe); - // Loop on Elements // - for(size_t e = 0; e < nElement; e++){ - // Get my Dofs - getUnorderedKeys(*element[e], myDof); + // Add them into map // + const size_t size = allDofs.size(); + size_t nDof; - // Add my Dofs - const size_t nDof = myDof.size(); + for(size_t i = 0; i < size; i++){ + nDof = allDofs[i].size(); - for(size_t d = 0; d < nDof; d++) - dof.insert(myDof[d]); + for(size_t j = 0; j < nDof; j++) + dof.insert(allDofs[i][j]); } } -- GitLab