Changeset 12063


Ignore:
Timestamp:
04/19/12 17:13:47 (13 years ago)
Author:
Mathieu Morlighem
Message:

Fixed TriMeshRiftsx

Location:
issm/trunk-jpl/src/c/modules
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/c/modules/TriMeshRiftsx/TriMeshRiftsx.cpp

    r12061 r12063  
    2020/*}}}*/
    2121
    22 void TriMeshRiftsx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,double area,bool order){
     22void TriMeshRiftsx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,DataSet* rifts,double area,bool order){
    2323
    2424        /*indexing: */
     
    3535
    3636        /*intermediary: */
    37         int      counter,backcounter;
     37        int      counter,counter2,backcounter;
    3838        Contour* contour=NULL;
    3939
     
    4747                contour=(Contour*)domain->GetObjectByOffset(i);
    4848                in.numberofpoints+=contour->nods;
     49        }
     50        if (rifts){
     51                for (i=0;i<rifts->Size();i++){
     52                        contour=(Contour*)rifts->GetObjectByOffset(i);
     53                        in.numberofpoints+=contour->nods;
     54                }
    4955        }
    5056        /*number of point attributes: */
     
    6369                }
    6470        }
     71        if(rifts){
     72                for (i=0;i<rifts->Size();i++){
     73                        contour=(Contour*)rifts->GetObjectByOffset(i);
     74                        for (j=0;j<contour->nods;j++){
     75                                in.pointlist[2*counter+0]=contour->x[j];
     76                                in.pointlist[2*counter+1]=contour->y[j];
     77                                counter++;
     78                        }
     79                }
     80        }
    6581       
    6682        /*fill in the point attribute list: */
    67         in.pointattributelist = (REAL *) xmalloc(in.numberofpoints * in.numberofpointattributes * sizeof(REAL));
     83        in.pointattributelist = (REAL*)xmalloc(in.numberofpoints*in.numberofpointattributes*sizeof(REAL));
    6884        for (i=0;i<in.numberofpoints;i++) in.pointattributelist[i] = 0.0;
    6985       
     
    7793                contour=(Contour*)domain->GetObjectByOffset(i);
    7894                in.numberofsegments+=contour->nods;
     95        }
     96        if(rifts){
     97                for(i=0;i<rifts->Size();i++){
     98                        contour=(Contour*)rifts->GetObjectByOffset(i);
     99                        /*for rifts, we have one less segment as we have vertices*/
     100                        in.numberofsegments+=contour->nods-1;
     101                }
    79102        }
    80103       
     
    97120                 counter++;
    98121                 backcounter=counter;
     122        }
     123        counter2=counter;
     124        if(rifts){
     125                for (i=0;i<rifts->Size();i++){
     126                        contour=(Contour*)rifts->GetObjectByOffset(i);
     127                        for (j=0;j<(contour->nods-1);j++){
     128                                in.segmentlist[2*counter2+0]=counter;
     129                                in.segmentlist[2*counter2+1]=counter+1;
     130                                in.segmentmarkerlist[counter2]=2+i;
     131                                counter2++;
     132                                counter++;
     133                        }
     134                        counter++;
     135                }
    99136        }
    100137       
  • TabularUnified issm/trunk-jpl/src/c/modules/TriMeshRiftsx/TriMeshRiftsx.h

    r12061 r12063  
    1111
    1212/* local prototypes: */
    13 void TriMeshRiftsx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,double area,bool order);
     13void TriMeshRiftsx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,DataSet* rifts,double area,bool order);
    1414
    1515#endif  /* _TRIMESHX_H */
  • TabularUnified issm/trunk-jpl/src/c/modules/modules.h

    r12013 r12063  
    112112#include "./TriaSearchx/TriaSearchx.h"
    113113#include "./TriMeshx/TriMeshx.h"
     114#include "./TriMeshRiftsx/TriMeshRiftsx.h"
    114115#include "./ThicknessAbsMisfitx/ThicknessAbsMisfitx.h"
    115116#include "./ThicknessAbsGradientx/ThicknessAbsGradientx.h"
Note: See TracChangeset for help on using the changeset viewer.