Skip to content
Snippets Groups Projects
Commit 5d3f46f7 authored by Koen Hillewaert's avatar Koen Hillewaert
Browse files

further bug fix in reorientation of quadrangle

parent 3386c0f1
No related branches found
No related tags found
No related merge requests found
......@@ -353,7 +353,7 @@ void MQuadrangle9::reorient(int rot, bool swap) {
MQuadrangle::reorient(rot,swap);
MVertex* tmp[4];
if (swap) for (int i=0;i<4;i++) tmp[i] = _vs[(9-i-rot)%4]; // edge swapped
if (swap) for (int i=0;i<4;i++) tmp[i] = _vs[(7-i+rot)%4]; // edge swapped
else for (int i=0;i<4;i++) tmp[i] = _vs[(4+i-rot)%4];
std::memcpy(_vs,tmp,4*sizeof(MVertex*));
}
......@@ -371,7 +371,7 @@ void MQuadrangleN::reorient(int rot, bool swap) {
if (swap) {
for (int iEdge=0;iEdge<4;iEdge++) {
int edgeIdx = ((9-iEdge-rot)%4)*nbEdgePts;
int edgeIdx = ((7-iEdge+rot)%4)*nbEdgePts;
for (int i=nbEdgePts-1;i>=0;i--) tmp.push_back(_vs[edgeIdx+i]);
}
}
......@@ -387,11 +387,11 @@ void MQuadrangleN::reorient(int rot, bool swap) {
if (_vs.size() >= idx) {
nbEdgePts = order - 3;
if (order > 2) {
if (swap) for (int i=0;i<4;i++) tmp.push_back(_vs[idx + (8-i-rot)%4]);
if (swap) for (int i=0;i<4;i++) tmp.push_back(_vs[idx + (4-i+rot)%4]);
else for (int i=0;i<4;i++) tmp.push_back(_vs[idx + (4+i-rot)%4]);
idx += 4;
if (order > 3) {
if (swap) for (int i=0;i<4;i++) tmp.push_back(_vs[idx + (9-i-rot)%4]);
if (swap) for (int i=0;i<4;i++) tmp.push_back(_vs[idx + (7-i+rot)%4]);
else for (int i=0;i<4;i++) tmp.push_back(_vs[idx + (4+i-rot)%4]);
idx += 4;
if (order > 4) Msg::Error("Reorientation of quad not supported above order 4");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment