Ice Sheet System Model  4.18
Code documentation
Functions
ProcessRifts.cpp File Reference

split a mesh where a rift (or fault) is present More...

#include "./ProcessRifts.h"

Go to the source code of this file.

Functions

void ProcessRiftsUsage (void)
 
 WRAPPER (ProcessRifts_python)
 

Detailed Description

split a mesh where a rift (or fault) is present

Definition in file ProcessRifts.cpp.

Function Documentation

◆ ProcessRiftsUsage()

void ProcessRiftsUsage ( void  )

Definition at line 7 of file ProcessRifts.cpp.

7  {/*{{{*/
8  _printf_("\n");
9  _printf_(" usage: [index2,x2,y2,segments2,segmentmarkers2,rifts2]=ProcessRifts(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 }/*}}}*/

◆ WRAPPER()

WRAPPER ( ProcessRifts_python  )

Definition at line 13 of file ProcessRifts.cpp.

13  {
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,&ProcessRiftsUsage);
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  ProcessRiftsx(&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  delete riftstruct;
53  xDelete<int>(index);
54  xDelete<double>(x);
55  xDelete<double>(y);
56  xDelete<int>(segments);
57  xDelete<int>(segmentmarkers );
58  MODULEEND();
59 }
WriteData
void WriteData(IssmPDouble **pmatrix, int *pnel, int *matrix, int M, int N)
Definition: WriteJavascriptData.cpp:16
_printf_
#define _printf_(StreamArgs)
Definition: Print.h:22
NRHS
#define NRHS
Definition: BamgConvertMesh.h:52
FetchData
void FetchData(char **pstring, char *stringin)
Definition: FetchJavascriptData.cpp:16
ProcessRiftsx
void ProcessRiftsx(int **pindex, int *pnel, double **px, double **py, int *pnods, int **psegments, int **psegmentmarkers, int *pnum_seg, RiftStruct **priftstruct)
Definition: ProcessRiftsx.cpp:10
NLHS
#define NLHS
Definition: BamgConvertMesh.h:50
ProcessRiftsUsage
void ProcessRiftsUsage(void)
Definition: ProcessRifts.cpp:7
RiftStruct
Definition: RiftStruct.h:8