Index: /issm/trunk-jpl/src/c/modules/TriMeshRiftsx/TriMeshRiftsx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/TriMeshRiftsx/TriMeshRiftsx.cpp	(revision 12062)
+++ /issm/trunk-jpl/src/c/modules/TriMeshRiftsx/TriMeshRiftsx.cpp	(revision 12063)
@@ -20,5 +20,5 @@
 /*}}}*/
 
-void TriMeshRiftsx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,double area,bool order){
+void TriMeshRiftsx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,DataSet* rifts,double area,bool order){
 
 	/*indexing: */
@@ -35,5 +35,5 @@
 
 	/*intermediary: */
-	int      counter,backcounter;
+	int      counter,counter2,backcounter;
 	Contour* contour=NULL;
 
@@ -47,4 +47,10 @@
 		contour=(Contour*)domain->GetObjectByOffset(i);
 		in.numberofpoints+=contour->nods;
+	}
+	if (rifts){
+		for (i=0;i<rifts->Size();i++){
+			contour=(Contour*)rifts->GetObjectByOffset(i);
+			in.numberofpoints+=contour->nods;
+		}
 	}
 	/*number of point attributes: */
@@ -63,7 +69,17 @@
 		}
 	}
+	if(rifts){
+		for (i=0;i<rifts->Size();i++){
+			contour=(Contour*)rifts->GetObjectByOffset(i);
+			for (j=0;j<contour->nods;j++){
+				in.pointlist[2*counter+0]=contour->x[j];
+				in.pointlist[2*counter+1]=contour->y[j];
+				counter++;
+			}
+		}
+	}
 	
 	/*fill in the point attribute list: */
-	in.pointattributelist = (REAL *) xmalloc(in.numberofpoints * in.numberofpointattributes * sizeof(REAL));
+	in.pointattributelist = (REAL*)xmalloc(in.numberofpoints*in.numberofpointattributes*sizeof(REAL));
 	for (i=0;i<in.numberofpoints;i++) in.pointattributelist[i] = 0.0;
 	
@@ -77,4 +93,11 @@
 		contour=(Contour*)domain->GetObjectByOffset(i);
 		in.numberofsegments+=contour->nods;
+	}
+	if(rifts){
+		for(i=0;i<rifts->Size();i++){
+			contour=(Contour*)rifts->GetObjectByOffset(i);
+			/*for rifts, we have one less segment as we have vertices*/
+			in.numberofsegments+=contour->nods-1;
+		}
 	}
 	
@@ -97,4 +120,18 @@
 		 counter++;
 		 backcounter=counter;
+	}
+	counter2=counter;
+	if(rifts){
+		for (i=0;i<rifts->Size();i++){
+			contour=(Contour*)rifts->GetObjectByOffset(i);
+			for (j=0;j<(contour->nods-1);j++){
+				in.segmentlist[2*counter2+0]=counter;
+				in.segmentlist[2*counter2+1]=counter+1;
+				in.segmentmarkerlist[counter2]=2+i;
+				counter2++;
+				counter++;
+			}
+			counter++;
+		}
 	}
 	
Index: /issm/trunk-jpl/src/c/modules/TriMeshRiftsx/TriMeshRiftsx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/TriMeshRiftsx/TriMeshRiftsx.h	(revision 12062)
+++ /issm/trunk-jpl/src/c/modules/TriMeshRiftsx/TriMeshRiftsx.h	(revision 12063)
@@ -11,5 +11,5 @@
 
 /* local prototypes: */
-void TriMeshRiftsx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,double area,bool order);
+void TriMeshRiftsx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,DataSet* rifts,double area,bool order);
 
 #endif  /* _TRIMESHX_H */
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 12062)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 12063)
@@ -112,4 +112,5 @@
 #include "./TriaSearchx/TriaSearchx.h"
 #include "./TriMeshx/TriMeshx.h"
+#include "./TriMeshRiftsx/TriMeshRiftsx.h"
 #include "./ThicknessAbsMisfitx/ThicknessAbsMisfitx.h"
 #include "./ThicknessAbsGradientx/ThicknessAbsGradientx.h"
