Ice Sheet System Model  4.18
Code documentation
Functions
Triangle.cpp File Reference
#include "./Triangle.h"

Go to the source code of this file.

Functions

void TriangleUsage (void)
 
 WRAPPER (Triangle_python)
 

Function Documentation

◆ TriangleUsage()

void TriangleUsage ( void  )

Definition at line 7 of file Triangle.cpp.

7  {/*{{{*/
8  _printf_("\n");
9  _printf_(" usage: [index,x,y,segments,segmentmarkers]=Triangle(domainoutlinefilename,rifts,area) \n");
10  _printf_(" where: index,x,y defines a triangulation, segments is an array made \n");
11  _printf_(" of exterior segments to the mesh domain outline, segmentmarkers is an array flagging each segment, \n");
12  _printf_(" outlinefilename an Argus domain outline file, \n");
13  _printf_(" area is the maximum area desired for any element of the resulting mesh, \n");
14  _printf_("\n");
15 }/*}}}*/

◆ WRAPPER()

WRAPPER ( Triangle_python  )

Definition at line 16 of file Triangle.cpp.

16  {
17 
18  /*intermediary: */
19  double area;
20  Contours *domain = NULL;
21  Contours *rifts = NULL;
22 
23  /* output: */
24  int *index = NULL;
25  double *x = NULL;
26  double *y = NULL;
27  int *segments = NULL;
28  int *segmentmarkerlist = NULL;
29  int nel,nods,nsegs;
30 
31  /*Boot module: */
32  MODULEBOOT();
33 
34  /*checks on arguments: */
35  CHECKARGUMENTS(NLHS,NRHS,&TriangleUsage);
36 
37  /*Fetch data needed for meshing: */
38  FetchData(&domain,DOMAINOUTLINE);
39  FetchData(&rifts,RIFTSOUTLINE);
40  FetchData(&area,AREA);
41 
42  /*call x core: */
43  Trianglex(&index,&x,&y,&segments,&segmentmarkerlist,&nel,&nods,&nsegs,domain,rifts,area);
44 
45  /*write outputs: */
46  WriteData(INDEX,index,nel,3);
47  WriteData(X,x,nods);
48  WriteData(Y,y,nods);
49  WriteData(SEGMENTS,segments,nsegs,3);
50  WriteData(SEGMENTMARKERLIST,segmentmarkerlist,nsegs);
51 
52  /*free ressources: */
53  delete domain;
54  delete rifts;
55  xDelete<int>(index);
56  xDelete<double>(x);
57  xDelete<double>(y);
58  xDelete<int>(segments);
59  xDelete<int>(segmentmarkerlist);
60 
61  /*end module: */
62  MODULEEND();
63 }
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
Contours
Declaration of Contours class.
Definition: Contours.h:10
TriangleUsage
void TriangleUsage(void)
Definition: Triangle.cpp:7
FetchData
void FetchData(char **pstring, char *stringin)
Definition: FetchJavascriptData.cpp:16
NLHS
#define NLHS
Definition: BamgConvertMesh.h:50
Trianglex
void Trianglex(int **pindex, IssmPDouble **px, IssmPDouble **py, int **psegments, int **psegmentmarkerlist, int *pnels, int *pnods, int *pnsegs, Contours *domain, Contours *rifts, double area)
Definition: Trianglex.cpp:19