diff --git a/FunctionSpace/BasisTest.cpp b/FunctionSpace/BasisTest.cpp index 24cebdb53564e37d6a8fc016db7b75a6afb51bde..8723e2538c4ebd57412f8e1b679f2375d1e9838a 100644 --- a/FunctionSpace/BasisTest.cpp +++ b/FunctionSpace/BasisTest.cpp @@ -1,6 +1,8 @@ #include <iostream> -#include "Mesh.h" + #include "Gmsh.h" +#include "Mesh.h" +#include "GroupOfElement.h" #include "QuadNodeBasis.h" #include "QuadEdgeBasis.h" @@ -23,15 +25,16 @@ int ain(int argc, char** argv){ // Get Mesh // Mesh msh(argv[1]); + GroupOfElement goe = msh.getFromPhysical(7); // Writer for .msh WriterMsh writer; - writer.setDomain(msh.getGroup(2).getAll()); + writer.setDomain(goe.getAll()); // Plot Basis // HexNodeBasis b(1); - PlotBasis plot(msh.getGroup(2), b, writer); + PlotBasis plot(goe, b, writer); plot.plot("basis"); // Stop Gmsh // diff --git a/FunctionSpace/FunctionSpace.cpp b/FunctionSpace/FunctionSpace.cpp index ddfc234522e51b7e02fccd929cf7c299d6d94522..13fb8ec94a4c33300dd621c4a7c8364d972fc978 100644 --- a/FunctionSpace/FunctionSpace.cpp +++ b/FunctionSpace/FunctionSpace.cpp @@ -3,17 +3,21 @@ using namespace std; -FunctionSpace::FunctionSpace(const GroupOfElement& goe, int basisType, int order){ +FunctionSpace::FunctionSpace(const GroupOfElement& goe, Mesh& mesh, + int basisType, int order){ // Save GroupOfElement & Mesh // this->goe = &goe; - this->mesh = &(goe.getMesh()); + this->mesh = &mesh; // Get Geo Data (WARNING HOMOGENE MESH REQUIRED)// - MElement& element = goe.get(0); - int elementType = element.getType(); - int nVertex = element.getNumVertices(); - int nEdge = element.getNumEdges(); - int nFace = element.getNumFaces(); + const MElement& element = goe.get(0); + MElement& myElement = + const_cast<MElement&>(element); + + int elementType = myElement.getType(); + int nVertex = myElement.getNumVertices(); + int nEdge = myElement.getNumEdges(); + int nFace = myElement.getNumFaces(); // Init Struct // type = basisType; diff --git a/FunctionSpace/FunctionSpace.h b/FunctionSpace/FunctionSpace.h index 8f2adadacde95adbd33c6c43e5262dd87a0c5bf7..91bf93d3ef3417b60a2ae34882d2ad091e78ed40 100644 --- a/FunctionSpace/FunctionSpace.h +++ b/FunctionSpace/FunctionSpace.h @@ -37,7 +37,7 @@ class FunctionSpace{ int type; public: - FunctionSpace(const GroupOfElement& goe, + FunctionSpace(const GroupOfElement& goe, Mesh& mesh, int basisType, int order); virtual ~FunctionSpace(void);