source: issm/oecreview/Archive/24684-25833/ISSM-25558-25559.diff

Last change on this file was 25834, checked in by Mathieu Morlighem, 4 years ago

CHG: added 24684-25833

File size: 3.0 KB
  • ../trunk-jpl/src/c/modules/Trianglex/Trianglex.cpp

     
    4141
    4242        /*Create initial triangulation to call triangulate(). First number of points:*/
    4343        in.numberofpoints=0;
    44         for (Object* & object : domain->objects){
    45                 contour=(Contour<IssmPDouble>*)object;
     44        for (i=0;i<domain->Size();i++){
     45                contour=(Contour<IssmPDouble>*)domain->GetObjectByOffset(i);
    4646                in.numberofpoints+=contour->nods-1;
    4747        }
    48         for (Object* & object : rifts->objects){
    49                 contour=(Contour<IssmPDouble>*)object;
     48        for (i=0;i<rifts->Size();i++){
     49                contour=(Contour<IssmPDouble>*)rifts->GetObjectByOffset(i);
    5050                in.numberofpoints+=contour->nods;
    5151        }
    5252
     
    5757        in.pointlist = xNew<REAL>(in.numberofpoints*2);
    5858
    5959        counter=0;
    60         for (Object* & object : domain->objects){
    61                 contour=(Contour<IssmPDouble>*)object;
     60        for (i=0;i<domain->Size();i++){
     61                contour=(Contour<IssmPDouble>*)domain->GetObjectByOffset(i);
    6262                for (j=0;j<contour->nods-1;j++){
    6363                        in.pointlist[2*counter+0]=contour->x[j];
    6464                        in.pointlist[2*counter+1]=contour->y[j];
     
    6565                        counter++;
    6666                }
    6767        }
    68         for (Object* & object : rifts->objects){
    69                 contour=(Contour<IssmPDouble>*)object;
     68        for (i=0;i<rifts->Size();i++){
     69                contour=(Contour<IssmPDouble>*)rifts->GetObjectByOffset(i);
    7070                for (j=0;j<contour->nods;j++){
    7171                        in.pointlist[2*counter+0]=contour->x[j];
    7272                        in.pointlist[2*counter+1]=contour->y[j];
     
    8484
    8585        /*Build segments. First figure out number of segments: holes and closed outlines have as many segments as vertices: */
    8686        in.numberofsegments=0;
    87         for (Object* & object : domain->objects){
    88                 contour=(Contour<IssmPDouble>*)object;
     87        for (i=0;i<domain->Size();i++){
     88                contour=(Contour<IssmPDouble>*)domain->GetObjectByOffset(i);
    8989                in.numberofsegments+=contour->nods-1;
    9090        }
    91         for (Object* & object : rifts->objects){
    92                 contour=(Contour<IssmPDouble>*)object;
     91        for(i=0;i<rifts->Size();i++){
     92                contour=(Contour<IssmPDouble>*)rifts->GetObjectByOffset(i);
    9393                /*for rifts, we have one less segment as we have vertices*/
    9494                in.numberofsegments+=contour->nods-1;
    9595        }
     
    9898        in.segmentmarkerlist = xNewZeroInit<int>(in.numberofsegments);
    9999        counter=0;
    100100        backcounter=0;
    101         for (Object* & object : domain->objects){
    102                 contour=(Contour<IssmPDouble>*)object;
     101        for (i=0;i<domain->Size();i++){
     102                contour=(Contour<IssmPDouble>*)domain->GetObjectByOffset(i);
    103103                for (j=0;j<contour->nods-2;j++){
    104104                        in.segmentlist[2*counter+0]=counter;
    105105                        in.segmentlist[2*counter+1]=counter+1;
     
    114114                 backcounter=counter;
    115115        }
    116116        counter2=counter;
    117         for (Object* & object : rifts->objects){
    118                 contour=(Contour<IssmPDouble>*)object;
     117        for (i=0;i<rifts->Size();i++){
     118                contour=(Contour<IssmPDouble>*)rifts->GetObjectByOffset(i);
    119119                for (j=0;j<(contour->nods-1);j++){
    120120                        in.segmentlist[2*counter2+0]=counter;
    121121                        in.segmentlist[2*counter2+1]=counter+1;
Note: See TracBrowser for help on using the repository browser.