Changeset 12086


Ignore:
Timestamp:
04/20/12 14:27:30 (13 years ago)
Author:
Mathieu Morlighem
Message:

Fixed checks

Location:
issm/trunk-jpl/src/c/shared/TriMesh
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/shared/TriMesh/SplitMeshForRifts.cpp

    r12080 r12086  
    4747        segmentmarkerlist=*psegmentmarkerlist;
    4848
    49 
    5049        /*Establish list of segments that belong to a rift: */
    51         RiftSegmentsFromSegments(&nriftsegs,&riftsegments,nel,index,nsegs,segments); /*riftsegments of size nriftsegsx4 (4 for first element on segment,second element,
    52                                                                                                                                                                    first node and second snode)*/
     50        /*riftsegments of size nriftsegsx4 (4 for first element on segment,second element,first node and second snode)*/
     51        RiftSegmentsFromSegments(&nriftsegs,&riftsegments,nel,index,nsegs,segments);
    5352
    5453        /*Go through all nodes of the rift segments, and start splitting the mesh: */
     
    7069                                DetermineGridElementListOnOneSideOfRift(&NumGridElementListOnOneSideOfRift,&GridElementListOnOneSideOfRift,i,nriftsegs,riftsegments,node,index,nel);
    7170                       
    72                                 /*Summary: we have for node, a list of elements (GridElementListOnOneSideOfRift, of size NumGridElementListOnOneSideOfRift) that all contain node
    73                                  *and that are on the same side of the rift. For all these elements, we clone node into another node, and we swap all instances of node in the triangulation
    74                                  *for those elements, to the new node.*/
     71                                /*Summary: we have for node, a list of elements
     72                                 * (GridElementListOnOneSideOfRift, of size
     73                                 * NumGridElementListOnOneSideOfRift) that all contain node
     74                                 *and that are on the same side of the rift. For all these
     75                                 elements, we clone node into another node, and we swap all
     76                                 instances of node in the triangulation *for those elements, to the
     77                                 new node.*/
    7578                               
    7679                                //augment number of nodes
  • issm/trunk-jpl/src/c/shared/TriMesh/TriMeshUtils.cpp

    r12080 r12086  
    278278                                for (k=0;k<3;k++){
    279279                                        if ((x[(int)*(index+el1*3+k)-1]==x[(int)*(segments+3*j+0)-1]) && (y[(int)*(index+el1*3+k)-1]==y[(int)*(segments+3*j+0)-1])){
    280                                                 *(segments+3*j+0)=*(index+el1*3+k); _assert_(segments[3*j+0]<nods);
     280                                                *(segments+3*j+0)=*(index+el1*3+k); _assert_(segments[3*j+0]<nods+1);
    281281                                                break;
    282282                                        }
     
    284284                                for (k=0;k<3;k++){
    285285                                        if ((x[(int)*(index+el1*3+k)-1]==x[(int)*(segments+3*j+1)-1])  && (y[(int)*(index+el1*3+k)-1]==y[(int)*(segments+3*j+1)-1])){
    286                                                 *(segments+3*j+1)=*(index+el1*3+k); _assert_(segments[3*j+1]<nods);
     286                                                *(segments+3*j+1)=*(index+el1*3+k); _assert_(segments[3*j+1]<nods+1);
    287287                                                break;
    288288                                        }
     
    293293                                for (k=0;k<3;k++){
    294294                                        if ((x[(int)*(index+el2*3+k)-1]==x[(int)*(segments+3*j+0)-1]) && (y[(int)*(index+el2*3+k)-1]==y[(int)*(segments+3*j+0)-1])){
    295                                                 *(segments+3*(nsegs+i)+0)=*(index+el2*3+k); _assert_(segments[3*(nsegs+i)+0]<nods);
     295                                                *(segments+3*(nsegs+i)+0)=*(index+el2*3+k); _assert_(segments[3*(nsegs+i)+0]<nods+1);
    296296                                                break;
    297297                                        }
     
    299299                                for (k=0;k<3;k++){
    300300                                        if ((x[(int)*(index+el2*3+k)-1]==x[(int)*(segments+3*j+1)-1]) && (y[(int)*(index+el2*3+k)-1]==y[(int)*(segments+3*j+1)-1])){
    301                                                 *(segments+3*(nsegs+i)+1)=*(index+el2*3+k); _assert_(segments[3*(nsegs+i)+1]<nods);
     301                                                *(segments+3*(nsegs+i)+1)=*(index+el2*3+k); _assert_(segments[3*(nsegs+i)+1]<nods+1);
    302302                                                break;
    303303                                        }
     
    309309                                for (k=0;k<3;k++){
    310310                                        if ((x[(int)*(index+el2*3+k)-1]==x[(int)*(segments+3*j+0)-1]) && (y[(int)*(index+el2*3+k)-1]==y[(int)*(segments+3*j+0)-1])){
    311                                                 *(segments+3*j+0)=*(index+el2*3+k); _assert_(segments[3*j+0]<nods);
     311                                                *(segments+3*j+0)=*(index+el2*3+k); _assert_(segments[3*j+0]<nods+1);
    312312                                                break;
    313313                                        }
     
    315315                                for (k=0;k<3;k++){
    316316                                        if ((x[(int)*(index+el2*3+k)-1]==x[(int)*(segments+3*j+1)-1]) && (y[(int)*(index+el2*3+k)-1]==y[(int)*(segments+3*j+1)-1])){
    317                                                 *(segments+3*j+1)=*(index+el2*3+k);_assert_(segments[3*j+1]<nods);
     317                                                *(segments+3*j+1)=*(index+el2*3+k);_assert_(segments[3*j+1]<nods+1);
    318318                                                break;
    319319                                        }
     
    324324                                for (k=0;k<3;k++){
    325325                                        if ((x[(int)*(index+el1*3+k)-1]==x[(int)*(segments+3*j+0)-1]) && (y[(int)*(index+el1*3+k)-1]==y[(int)*(segments+3*j+0)-1])){
    326                                                 *(segments+3*(nsegs+i)+0)=*(index+el1*3+k);_assert_(segments[3*(nsegs+i)+0]<nods);
     326                                                *(segments+3*(nsegs+i)+0)=*(index+el1*3+k);_assert_(segments[3*(nsegs+i)+0]<nods+1);
    327327                                                break;
    328328                                        }
     
    330330                                for (k=0;k<3;k++){
    331331                                        if ((x[(int)*(index+el1*3+k)-1]==x[(int)*(segments+3*j+1)-1]) && (y[(int)*(index+el1*3+k)-1]==y[(int)*(segments+3*j+1)-1])){
    332                                                 *(segments+3*(nsegs+i)+1)=*(index+el1*3+k);_assert_(segments[3*(nsegs+i)+1]<nods);
     332                                                *(segments+3*(nsegs+i)+1)=*(index+el1*3+k);_assert_(segments[3*(nsegs+i)+1]<nods+1);
    333333                                                break;
    334334                                        }
     
    436436                for (j=0;j<numsegs;j++){
    437437                        if (segmentmarkerlist[j]==(2+i)){
    438                                 riftsegment[3*counter+0]=segments[3*j+0];_assert_(riftsegment[3*counter+0]<nods);
    439                                 riftsegment[3*counter+1]=segments[3*j+1];_assert_(riftsegment[3*counter+1]<nods);
    440                                 riftsegment[3*counter+2]=segments[3*j+2];_assert_(riftsegment[3*counter+2]<nel);
     438                                riftsegment[3*counter+0]=segments[3*j+0];_assert_(riftsegment[3*counter+0]<nods+1);
     439                                riftsegment[3*counter+1]=segments[3*j+1];_assert_(riftsegment[3*counter+1]<nods+1);
     440                                riftsegment[3*counter+2]=segments[3*j+2];_assert_(riftsegment[3*counter+2]<nel+1);
    441441                                counter++;
    442442                        }
     
    743743        double* riftstips=NULL;
    744744
    745 
    746745        /*Allocate byproduct of this routine, riftstips: */
    747746        riftstips=(double*)xmalloc(numrifts*2*sizeof(double));
     
    753752                numsegs=riftsnumsegments[i];
    754753       
    755                        
    756754                /*Allocate copy of riftsegments and riftpairs,
    757755                 *as well as ordering vector: */
     
    778776                        }
    779777                        /* Make sure node3 faces node1 and node4 faces node2: */
    780                         _assert_(node1<nods && node4<nods);
    781                         if ((x[node1]==x[node4]) && (y[node1]==y[node4])){
     778                        _assert_(node1<nods+1 && node4<nods+1);
     779                        _assert_(node1>0 && node4>0);
     780                        if ((x[node1-1]==x[node4-1]) && (y[node1-1]==y[node4-1])){
    782781                                /*Swap node3 and node4:*/
    783782                                temp_node=node3;
Note: See TracChangeset for help on using the changeset viewer.