Commit 3225608e authored by Praetorius, Simon's avatar Praetorius, Simon

fillElinfo with refinementPath implemented

parent 098221a6
......@@ -193,6 +193,25 @@ namespace AMDiS {
}
void ElInfo::fillElInfo(const MacroElement *mel, int refinementPathLength, unsigned long refinementPath)
{
std::vector<ElInfo*> elInfo;
elInfo.push_back(mesh->createNewElInfo());
elInfo.push_back(this);
elInfo[0]->setFillFlag(getFillFlag());
elInfo[0]->fillMacroInfo(mel);
int i = 0;
for (; i < refinementPathLength; i++) {
elInfo[(i+1)%2]->fillElInfo(refinementPath & (1<<i), elInfo[i%2]);
}
if (i%2 == 0)
*this = *elInfo[0];
delete elInfo[0];
}
BoundaryType ElInfo::getBoundary(GeoIndex pos, int i)
{
static int indexOffset[3][3] = {
......
......@@ -420,6 +420,9 @@ namespace AMDiS {
*/
virtual void fillElInfo(int ichild, const ElInfo *parentInfo) = 0;
void fillElInfo(const MacroElement *mel, int refinementPathLength, unsigned long refinementPath);
/** \brief
* calculates the Jacobian of the barycentric coordinates on \element and stores
* the matrix in grd_lam. The return value of the function is the absolute
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment