Skip to content
Snippets Groups Projects
Commit 90ad93aa authored by Amaury Johnen's avatar Amaury Johnen
Browse files

fix bug reorientation triangle

parent e177ac48
No related branches found
No related tags found
No related merge requests found
...@@ -336,17 +336,20 @@ std::map<std::tuple<int, int, int>, indicesReoriented> MTriangleN::_tuple2indice ...@@ -336,17 +336,20 @@ std::map<std::tuple<int, int, int>, indicesReoriented> MTriangleN::_tuple2indice
namespace namespace
{ {
void _getIndicesReorientedTri(int order, int rot, bool swap, void _getIndicesReorientedTri(int order, int rot, bool swap,
indicesReoriented &indices) { indicesReoriented &indices)
{
fullMatrix<double> ref = gmshGenerateMonomialsTriangle(order); fullMatrix<double> ref = gmshGenerateMonomialsTriangle(order);
indices.resize(ref.size1()); indices.resize(ref.size1());
for (int i = 0; i < ref.size1(); ++i) { for (int i = 0; i < ref.size1(); ++i) {
double u0 = ref(i, 0);
double v0 = ref(i, 1);
double u = ref(i, 0); double u = ref(i, 0);
double v = ref(i, 1); double v = ref(i, 1);
double tmp; double tmp;
switch (rot) { switch (rot) {
case 1: tmp = u; u = 1 - u - v; v = tmp; break; case 1: tmp = u; u = order - u - v; v = tmp; break;
case 2: tmp = v; v = 1 - u - v; u = tmp; break; case 2: tmp = v; v = order - u - v; u = tmp; break;
} }
if (swap) { if (swap) {
tmp = u; tmp = u;
...@@ -354,6 +357,8 @@ namespace ...@@ -354,6 +357,8 @@ namespace
v = tmp; v = tmp;
} }
for (int j = 0; j < ref.size1(); ++j) { for (int j = 0; j < ref.size1(); ++j) {
double u1 = ref(j, 0);
double v1 = ref(j, 1);
if (u == ref(j, 0) && v == ref(j, 1)) { if (u == ref(j, 0) && v == ref(j, 1)) {
indices[i] = j; indices[i] = j;
break; break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment