1 | /*!\file: TriMeshProcessRifts.cpp
|
---|
2 | * \brief split a mesh where a rift (or fault) is present
|
---|
3 | */
|
---|
4 |
|
---|
5 | #include "./TriMeshProcessRifts.h"
|
---|
6 |
|
---|
7 | void 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 | }/*}}}*/
|
---|
13 | WRAPPER(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 | }
|
---|