source: issm/trunk/src/wrappers/TriMeshProcessRifts/TriMeshProcessRifts.cpp@ 15396

Last change on this file since 15396 was 15396, checked in by Mathieu Morlighem, 12 years ago

merged trunk-jpl and trunk for revision 15394

File size: 1.6 KB
Line 
1/*!\file: TriMeshProcessRifts.cpp
2 * \brief split a mesh where a rift (or fault) is present
3 */
4
5#include "./TriMeshProcessRifts.h"
6
7void TriMeshProcessRiftsUsage(void){/*{{{*/
8 _printf_("\n");
9 _printf_(" usage: [index2,x2,y2,segments2,segmentmarkers2,rifts2]=TriMeshProcessrifts(index1,x1,y1,segments1,segmentmarkers1) \n");
10 _printf_(" where: (index1,x1,y1,segments1,segmentmarkers1) is an initial triangulation.\n");
11 _printf_(" index2,x2,y2,segments2,segmentmarkers2,rifts2 is the resulting triangulation where rifts have been processed.\n");
12}/*}}}*/
13WRAPPER(TriMeshProcessRifts){
14
15 /* returned quantities: */
16 RiftStruct *riftstruct = NULL;
17
18 /* input: */
19 int nel,nods;
20 int *index = NULL;
21 double *x = NULL;
22 double *y = NULL;
23 int *segments = NULL;
24 int *segmentmarkers = NULL;
25 int num_seg;
26
27 /*Boot module*/
28 MODULEBOOT();
29
30 /*checks on arguments on the matlab side: */
31 CHECKARGUMENTS(NLHS,NRHS,&TriMeshProcessRiftsUsage);
32
33 /*Fetch data */
34 FetchData(&index,&nel,NULL,INDEXIN);
35 FetchData(&x,&nods,XIN);
36 FetchData(&y,NULL,YIN);
37 FetchData(&segments,&num_seg,NULL,SEGMENTSIN);
38 FetchData(&segmentmarkers,NULL,SEGMENTMARKERSIN);
39
40 /*call x layer*/
41 TriMeshProcessRiftsx(&index,&nel,&x,&y,&nods,&segments,&segmentmarkers,&num_seg,&riftstruct);
42
43 /*Output : */
44 WriteData(INDEXOUT,index,nel,3);
45 WriteData(XOUT,x,nods,1);
46 WriteData(YOUT,y,nods,1);
47 WriteData(SEGMENTSOUT,segments,num_seg,3);
48 WriteData(SEGMENTMARKERSOUT,segmentmarkers,num_seg,1);
49 WriteData(RIFTSTRUCT,riftstruct);
50
51 /*end module: */
52 MODULEEND();
53}
Note: See TracBrowser for help on using the repository browser.