diff --git a/FunctionSpace/FunctionSpace.cpp b/FunctionSpace/FunctionSpace.cpp index 9bc12ab6b735748b99fc32180d391215ea4fd629..6709d6f2ef4a31904c2a507a3b230fe45d2ea594 100644 --- a/FunctionSpace/FunctionSpace.cpp +++ b/FunctionSpace/FunctionSpace.cpp @@ -82,13 +82,15 @@ void FunctionSpace::build(GroupOfElement& goe, // Build Dof // buildDof(); + + // Link with GroupOfElement for ordering // + //goe.link(*this); } void FunctionSpace::buildDof(void){ // Get Elements // const unsigned int nElement = goe->getNumber(); - const vector<pair<const MElement*, ElementData> >& - element = goe->getAll(); + const vector<const MElement*>& element = goe->getAll(); // Init Struct // dof = new set<const Dof*, DofComparator>; @@ -100,11 +102,11 @@ void FunctionSpace::buildDof(void){ // Create Dofs // for(unsigned int i = 0; i < nElement; i++){ // Get Dof for this Element - vector<Dof> myDof = getKeys(*(element[i].first)); + vector<Dof> myDof = getKeys(*(element[i])); unsigned int nDof = myDof.size(); // Create new GroupOfDof - GroupOfDof* god = new GroupOfDof(nDof, *(element[i].first)); + GroupOfDof* god = new GroupOfDof(nDof, *(element[i])); (*group)[i] = god; // Add Dof @@ -113,10 +115,7 @@ void FunctionSpace::buildDof(void){ // Map GOD eToGod->insert(pair<const MElement*, const GroupOfDof*> - (element[i].first, god)); - - // Set in ElementData - goe->getElementData(i).setGroupOfDof(*god); + (element[i], god)); } } diff --git a/FunctionSpace/FunctionSpace.h b/FunctionSpace/FunctionSpace.h index 2b513a4842bf097455887a6a07c0e79bc4d04652..af745091731f71bb01cab06b37cf0a8cd99c472f 100644 --- a/FunctionSpace/FunctionSpace.h +++ b/FunctionSpace/FunctionSpace.h @@ -37,6 +37,9 @@ Allow Hybrid Mesh */ +class Mesh; +class GroupOfElement; + class FunctionSpace{ protected: // Geometry //