diff --git a/AMDiS/src/Debug.cc b/AMDiS/src/Debug.cc index 2d6476735ec252e6acc9d5d37c734eee6eae37c8..ce387cfaea469a3bd197dd53ee2893398abefb19 100644 --- a/AMDiS/src/Debug.cc +++ b/AMDiS/src/Debug.cc @@ -195,6 +195,21 @@ namespace AMDiS { } + Element* getElement(Mesh *mesh, int elIndex) + { + TraverseStack stack; + ElInfo *elInfo = stack.traverseFirst(mesh, -1, Mesh::CALL_EVERY_EL_PREORDER); + while (elInfo) { + if (elInfo->getElement()->getIndex() == elIndex) + return elInfo->getElement(); + + elInfo = stack.traverseNext(elInfo); + } + + return NULL; + } + + Element* getParentElement(Mesh *mesh, int elIndex) { TraverseStack stack; diff --git a/AMDiS/src/Debug.h b/AMDiS/src/Debug.h index 8432077f1bc8fb9be1a0d17be0118a658836a0a7..e22caac8472eed9c9f0278321d1fd1f4a1ccb8a6 100644 --- a/AMDiS/src/Debug.h +++ b/AMDiS/src/Debug.h @@ -90,6 +90,8 @@ namespace AMDiS { Element* getParentElement(Mesh *mesh, int elIndex); + Element* getElement(Mesh *mesh, int elIndex); + void printElementInfo(Element *el); void printInfoByDof(FiniteElemSpace *feSpace, DegreeOfFreedom dof);