Changeset 5010


Ignore:
Timestamp:
08/06/10 08:29:39 (15 years ago)
Author:
Mathieu Morlighem
Message:

better error message

File:
1 edited

Legend:

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

    r4997 r5010  
    45714571
    45724572        // computation of the det
    4573         int Nberr=0;
     4573        int number_of_errors=0;
    45744574        for (i=0;i<nbt;i++) {
    45754575                MeshVertex & v0 = triangles[i][0];
     
    45794579                //If this is not a boundary triangle
    45804580                if ( &v0 && &v1 &&  &v2 ){
     4581
     4582                        /*Compute determinant*/
    45814583                        triangles[i].det= det(v0,v1,v2);
    4582                         if (triangles[i].det <=0 && Nberr++ <10){
    4583                                 if(Nberr==1)
    4584                                  if (strfrom){
    4585                                          ISSMERROR("Fatal error %s (SetInCoor) : area of Triangle %i < 0",strfrom,i);
    4586                                  }
    4587                                  else{
    4588                                          ISSMERROR("Fatal error (SetInCoor) : area of Triangle %i < 0",i);
    4589                                  }
     4584
     4585                        /*Check that determinant is positive*/
     4586                        if (triangles[i].det <=0){
     4587
     4588                                /*increase number_of_errors and print error only for the first 20 triangles*/
     4589                                number_of_errors++;
     4590                                if (number_of_errors<20){
     4591                                        printf("Area of Triangle %i < 0 (det=%i)\n",i+1,triangles[i].det);
     4592                                }
    45904593                        }
    45914594                }
     
    45944597                else triangles[i].det=-1;
    45954598        }
     4599
     4600        if (number_of_errors) ISSMERROR("Fatal error: some triangles have negative areas, see above");
    45964601}
    45974602/*}}}1*/
Note: See TracChangeset for help on using the changeset viewer.