Changeset 3341


Ignore:
Timestamp:
03/26/10 11:06:00 (15 years ago)
Author:
Mathieu Morlighem
Message:

ElementEdges must be in trigo direction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/Bamgx/objects/Triangles.cpp

    r3335 r3341  
    628628                bamgmesh->ElementEdges=(double*)xmalloc(4*edge4->nb()*sizeof(double));
    629629                for (i=0;i<edge4->nb();i++){
    630                         bamgmesh->ElementEdges[i*4+0]=edge4->i(i)+1;// back to M indexing
    631                         bamgmesh->ElementEdges[i*4+1]=edge4->j(i)+1;// back to M indexing
     630                        /*Invert first two vertices if necessary*/
     631                        bool found=false;
     632                        for (j=0;j<3;j++){
     633                                if (triangles[(int)elemedge[2*i+0]](j)==vertices+edge4->i(i)){
     634                                        if (triangles[(int)elemedge[2*i+0]]((j+1)%3)==vertices+edge4->j(i)){
     635                                                //trigonometric direction
     636                                                bamgmesh->ElementEdges[i*4+0]=edge4->i(i)+1;// back to M indexing
     637                                                bamgmesh->ElementEdges[i*4+1]=edge4->j(i)+1;// back to M indexing
     638                                        }
     639                                        else{
     640                                                bamgmesh->ElementEdges[i*4+0]=edge4->j(i)+1;// back to M indexing
     641                                                bamgmesh->ElementEdges[i*4+1]=edge4->i(i)+1;// back to M indexing
     642                                        }
     643                                        found=true;
     644                                        break;
     645                                }
     646                        }
     647                        ISSMASSERT(found);
    632648                        bamgmesh->ElementEdges[i*4+2]=elemedge[2*i+0]+1; // back to M indexing
    633649                        bamgmesh->ElementEdges[i*4+3]=elemedge[2*i+1]+1; // back to M indexing
Note: See TracChangeset for help on using the changeset viewer.