Ice Sheet System Model  4.18
Code documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Functions
WriteJavascriptData.cpp File Reference
#include "./javascriptio.h"
#include "./../../../c/datastructures/datastructures.h"

Go to the source code of this file.

Functions

void WriteData (IssmPDouble **pmatrix, int *pnel, int *matrix, int M, int N)
 
void WriteData (IssmPDouble **pmatrix, int *pM, int *pN, int *matrix, int M, int N)
 
void WriteData (IssmPDouble **pmatrix, int *pM, int *pN, IssmPDouble *matrix, int M, int N)
 
void WriteData (IssmPDouble **pmatrix, int **pSize, IssmPDouble *matrix, int *size)
 
void WriteData (IssmPDouble **px, int *pnods, double *vector, int M)
 
void WriteData (IssmPDouble **px, int *pnods, int *vector, int M)
 
void WriteData (IssmPDouble **pdataref, IssmSeqVec< double > *vector)
 
void WriteData (IssmPDouble *pdouble, IssmPDouble doublein)
 
void WriteData (IssmPDouble **pdouble, void *)
 
void WriteData (char **pstring, char *stringin)
 
void WriteData (int **VerticesSize, double **Vertices, int **EdgesSize, double **Edges, int **CornersSize, double **Corners, int **RequiredVerticesSize, double **RequiredVertices, int **RequiredEdgesSize, double **RequiredEdges, int **CrackedEdgesSize, double **CrackedEdges, int **SubDomainsSize, double **SubDomains, BamgGeom *bamggeom)
 
void WriteData (int **VerticesSize, double **Vertices, int **EdgesSize, double **Edges, int **TrianglesSize, double **Triangles, int **IssmEdgesSize, double **IssmEdges, int **IssmSegmentsSize, double **IssmSegments, int **VerticesOnGeomVertexSize, double **VerticesOnGeomVertex, int **VerticesOnGeomEdgeSize, double **VerticesOnGeomEdge, int **EdgesOnGeomEdgeSize, double **EdgesOnGeomEdge, int **SubDomainsSize, double **SubDomains, int **SubDomainsFromGeomSize, double **SubDomainsFromGeom, int **ElementConnectivitySize, double **ElementConnectivity, int **NodalConnectivitySize, double **NodalConnectivity, int **NodalElementConnectivitySize, double **NodalElementConnectivity, int **CrackedVerticesSize, double **CrackedVertices, int **CrackedEdgesSize, double **CrackedEdges, int **PreviousNumberingSize, double **PreviousNumbering, BamgMesh *bamgmesh)
 

Function Documentation

◆ WriteData() [1/12]

void WriteData ( IssmPDouble **  pmatrix,
int *  pnel,
int *  matrix,
int  M,
int  N 
)

Definition at line 16 of file WriteJavascriptData.cpp.

16  {
17 
18  if(pmatrix && matrix){
19 
20  /*Copy matrix: */
21  IssmPDouble* dmatrix = xNew<IssmPDouble>(M*N);
22  for (int i=0;i<M*N;i++)dmatrix[i]=(IssmPDouble)matrix[i];
23  *pmatrix=dmatrix;
24  *pnel=M;
25  }
26 }

◆ WriteData() [2/12]

void WriteData ( IssmPDouble **  pmatrix,
int *  pM,
int *  pN,
int *  matrix,
int  M,
int  N 
)

Definition at line 29 of file WriteJavascriptData.cpp.

29  {
30 
31  if(pmatrix && matrix){
32 
33  /*Copy matrix: */
34  IssmPDouble* dmatrix = xNew<IssmPDouble>(M*N);
35  for (int i=0;i<M*N;i++) dmatrix[i]=(IssmPDouble)matrix[i];
36  *pmatrix=dmatrix;
37  *pM=M;
38  *pN=N;
39  }
40 }

◆ WriteData() [3/12]

void WriteData ( IssmPDouble **  pmatrix,
int *  pM,
int *  pN,
IssmPDouble matrix,
int  M,
int  N 
)

Definition at line 43 of file WriteJavascriptData.cpp.

43  {
44 
45  if(pmatrix && matrix){
46 
47  /*Copy matrix: */
48  IssmPDouble* dmatrix = xNew<IssmPDouble>(M*N);
49  for (int i=0;i<M*N;i++) dmatrix[i]=matrix[i];
50  *pmatrix=dmatrix;
51  *pM=M;
52  *pN=N;
53  }
54 }

◆ WriteData() [4/12]

void WriteData ( IssmPDouble **  pmatrix,
int **  pSize,
IssmPDouble matrix,
int *  size 
)

Definition at line 57 of file WriteJavascriptData.cpp.

57  {
58 
59  int M = size[0];
60  int N = size[1];
61  int* imatrix = xNew<int>(2);
62  IssmPDouble* dmatrix = xNew<IssmPDouble>(M*N);
63 
64  /*Copy matrix: */
65  for (int i=0;i<2;i++) imatrix[i]=size[i];
66  for (int i=0;i<M*N;i++) dmatrix[i]=matrix[i];
67  *pmatrix=dmatrix;
68  *pSize=imatrix;
69 }

◆ WriteData() [5/12]

void WriteData ( IssmPDouble **  px,
int *  pnods,
double *  vector,
int  M 
)

Definition at line 72 of file WriteJavascriptData.cpp.

72  {
73 
74  if(px && vector){
75 
76  IssmPDouble* dx=xNew<IssmPDouble>(M);
77  for(int i=0;i<M;i++)dx[i]=vector[i];
78  *px=dx;
79  *pnods=M;
80  }
81 }

◆ WriteData() [6/12]

void WriteData ( IssmPDouble **  px,
int *  pnods,
int *  vector,
int  M 
)

Definition at line 84 of file WriteJavascriptData.cpp.

84  {
85 
86  if(px && vector){
87 
88  IssmPDouble* dx=xNew<IssmPDouble>(M);
89  for(int i=0;i<M;i++)dx[i]=(IssmPDouble)vector[i];
90  *px=dx;
91  *pnods=M;
92  }
93 }

◆ WriteData() [7/12]

void WriteData ( IssmPDouble **  pdataref,
IssmSeqVec< double > *  vector 
)

Definition at line 96 of file WriteJavascriptData.cpp.

96  {
97 
98  double* dataref=NULL;
99  double* vector_ptr=NULL;
100  int rows;
101 
102  if(vector){
103  /*call toolkit routine: */
104  vector_ptr=vector->ToMPISerial();
105  vector->GetSize(&rows);
106 
107  /*now create the js vector */
108  dataref=xNew<double>(rows);
109  for(int i=0;i<rows;i++) dataref[i]=vector_ptr[i];
110  }
111 
112  /*Clean-up and return*/
113  xDelete<double>(vector_ptr);
114  *pdataref=dataref;
115 }

◆ WriteData() [8/12]

void WriteData ( IssmPDouble pdouble,
IssmPDouble  doublein 
)

Definition at line 118 of file WriteJavascriptData.cpp.

118  {
119 
120  *pdouble=doublein;
121 }

◆ WriteData() [9/12]

void WriteData ( IssmPDouble **  pdouble,
void *   
)

Definition at line 124 of file WriteJavascriptData.cpp.

124  {
125  //do nothing
126 }

◆ WriteData() [10/12]

void WriteData ( char **  pstring,
char *  stringin 
)

Definition at line 129 of file WriteJavascriptData.cpp.

129  {
130 
131  char* string=xNew<char>(strlen(stringin)+1);
132  xMemCpy<char>(string,stringin,strlen(stringin)+1);
133 
134  *pstring=string;
135 }

◆ WriteData() [11/12]

void WriteData ( int **  VerticesSize,
double **  Vertices,
int **  EdgesSize,
double **  Edges,
int **  CornersSize,
double **  Corners,
int **  RequiredVerticesSize,
double **  RequiredVertices,
int **  RequiredEdgesSize,
double **  RequiredEdges,
int **  CrackedEdgesSize,
double **  CrackedEdges,
int **  SubDomainsSize,
double **  SubDomains,
BamgGeom bamggeom 
)

Definition at line 140 of file WriteJavascriptData.cpp.

140  {
141 
142  /*Assign each field to output*/
143  WriteData(Vertices, VerticesSize, bamggeom->Vertices, bamggeom->VerticesSize);
144  WriteData(Edges, EdgesSize, bamggeom->Edges, bamggeom->EdgesSize);
145  WriteData(Corners, CornersSize, bamggeom->Corners, bamggeom->CornersSize);
146  WriteData(RequiredVertices, RequiredVerticesSize, bamggeom->RequiredVertices, bamggeom->RequiredVerticesSize);
147  WriteData(RequiredEdges, RequiredEdgesSize, bamggeom->RequiredEdges, bamggeom->RequiredEdgesSize);
148  WriteData(CrackedEdges, CrackedEdgesSize, bamggeom->CrackedEdges, bamggeom->CrackedEdgesSize);
149  WriteData(SubDomains, SubDomainsSize, bamggeom->SubDomains, bamggeom->SubDomainsSize);
150 }

◆ WriteData() [12/12]

void WriteData ( int **  VerticesSize,
double **  Vertices,
int **  EdgesSize,
double **  Edges,
int **  TrianglesSize,
double **  Triangles,
int **  IssmEdgesSize,
double **  IssmEdges,
int **  IssmSegmentsSize,
double **  IssmSegments,
int **  VerticesOnGeomVertexSize,
double **  VerticesOnGeomVertex,
int **  VerticesOnGeomEdgeSize,
double **  VerticesOnGeomEdge,
int **  EdgesOnGeomEdgeSize,
double **  EdgesOnGeomEdge,
int **  SubDomainsSize,
double **  SubDomains,
int **  SubDomainsFromGeomSize,
double **  SubDomainsFromGeom,
int **  ElementConnectivitySize,
double **  ElementConnectivity,
int **  NodalConnectivitySize,
double **  NodalConnectivity,
int **  NodalElementConnectivitySize,
double **  NodalElementConnectivity,
int **  CrackedVerticesSize,
double **  CrackedVertices,
int **  CrackedEdgesSize,
double **  CrackedEdges,
int **  PreviousNumberingSize,
double **  PreviousNumbering,
BamgMesh bamgmesh 
)

Definition at line 153 of file WriteJavascriptData.cpp.

153  {
154 
155  /*Assign each field to output*/
156  WriteData(Vertices, VerticesSize, bamgmesh->Vertices, bamgmesh->VerticesSize);
157  WriteData(Edges, EdgesSize, bamgmesh->Edges, bamgmesh->EdgesSize);
158  WriteData(Triangles, TrianglesSize, bamgmesh->Triangles, bamgmesh->TrianglesSize);
159  WriteData(IssmEdges, IssmEdgesSize, bamgmesh->IssmEdges, bamgmesh->IssmEdgesSize);
160  WriteData(IssmSegments, IssmSegmentsSize, bamgmesh->IssmSegments, bamgmesh->IssmSegmentsSize);
161  WriteData(VerticesOnGeomVertex, VerticesOnGeomVertexSize, bamgmesh->VerticesOnGeomVertex, bamgmesh->VerticesOnGeomVertexSize);
162  WriteData(VerticesOnGeomEdge, VerticesOnGeomEdgeSize, bamgmesh->VerticesOnGeomEdge, bamgmesh->VerticesOnGeomEdgeSize);
163  WriteData(EdgesOnGeomEdge, EdgesOnGeomEdgeSize, bamgmesh->EdgesOnGeomEdge, bamgmesh->EdgesOnGeomEdgeSize);
164  WriteData(SubDomains, SubDomainsSize, bamgmesh->SubDomains, bamgmesh->SubDomainsSize);
165  WriteData(SubDomainsFromGeom, SubDomainsFromGeomSize, bamgmesh->SubDomainsFromGeom, bamgmesh->SubDomainsFromGeomSize);
166  WriteData(ElementConnectivity, ElementConnectivitySize, bamgmesh->ElementConnectivity, bamgmesh->ElementConnectivitySize);
167  WriteData(NodalConnectivity, NodalConnectivitySize, bamgmesh->NodalConnectivity, bamgmesh->NodalConnectivitySize);
168  WriteData(NodalElementConnectivity, NodalElementConnectivitySize, bamgmesh->NodalElementConnectivity, bamgmesh->NodalElementConnectivitySize);
169  WriteData(CrackedVertices, CrackedVerticesSize, bamgmesh->CrackedVertices, bamgmesh->CrackedVerticesSize);
170  WriteData(CrackedEdges, CrackedEdgesSize, bamgmesh->CrackedEdges, bamgmesh->CrackedEdgesSize);
171  WriteData(PreviousNumbering, PreviousNumberingSize, bamgmesh->PreviousNumbering, bamgmesh->VerticesSize); //PreviousNumbering just resuses Vertices' Size
172 }
BamgGeom::RequiredVertices
double * RequiredVertices
Definition: BamgGeom.h:19
BamgGeom::Edges
double * Edges
Definition: BamgGeom.h:13
Vertices
Declaration of Vertices class.
Definition: Vertices.h:15
BamgGeom::CrackedEdges
double * CrackedEdges
Definition: BamgGeom.h:23
BamgGeom::CornersSize
int CornersSize[2]
Definition: BamgGeom.h:16
IssmSeqVec::ToMPISerial
doubletype * ToMPISerial(void)
Definition: IssmSeqVec.h:207
BamgMesh::VerticesOnGeomVertexSize
int VerticesOnGeomVertexSize[2]
Definition: BamgMesh.h:19
BamgMesh::EdgesOnGeomEdge
double * EdgesOnGeomEdge
Definition: BamgMesh.h:24
BamgMesh::NodalConnectivitySize
int NodalConnectivitySize[2]
Definition: BamgMesh.h:42
BamgMesh::NodalElementConnectivity
double * NodalElementConnectivity
Definition: BamgMesh.h:45
BamgGeom::Corners
double * Corners
Definition: BamgGeom.h:17
BamgMesh::VerticesOnGeomEdgeSize
int VerticesOnGeomEdgeSize[2]
Definition: BamgMesh.h:21
BamgGeom::RequiredEdgesSize
int RequiredEdgesSize[2]
Definition: BamgGeom.h:20
BamgMesh::NodalConnectivity
double * NodalConnectivity
Definition: BamgMesh.h:43
BamgMesh::Vertices
double * Vertices
Definition: BamgMesh.h:12
BamgMesh::SubDomainsSize
int SubDomainsSize[2]
Definition: BamgMesh.h:26
BamgGeom::SubDomainsSize
int SubDomainsSize[2]
Definition: BamgGeom.h:24
BamgMesh::CrackedVertices
double * CrackedVertices
Definition: BamgMesh.h:31
BamgMesh::ElementConnectivity
double * ElementConnectivity
Definition: BamgMesh.h:41
BamgGeom::SubDomains
double * SubDomains
Definition: BamgGeom.h:25
BamgMesh::SubDomains
double * SubDomains
Definition: BamgMesh.h:27
BamgMesh::EdgesOnGeomEdgeSize
int EdgesOnGeomEdgeSize[2]
Definition: BamgMesh.h:23
BamgMesh::VerticesSize
int VerticesSize[2]
Definition: BamgMesh.h:11
BamgMesh::CrackedVerticesSize
int CrackedVerticesSize[2]
Definition: BamgMesh.h:30
BamgGeom::CrackedEdgesSize
int CrackedEdgesSize[2]
Definition: BamgGeom.h:22
BamgMesh::VerticesOnGeomEdge
double * VerticesOnGeomEdge
Definition: BamgMesh.h:22
BamgMesh::EdgesSize
int EdgesSize[2]
Definition: BamgMesh.h:14
BamgMesh::SubDomainsFromGeom
double * SubDomainsFromGeom
Definition: BamgMesh.h:29
BamgGeom::RequiredVerticesSize
int RequiredVerticesSize[2]
Definition: BamgGeom.h:18
BamgMesh::PreviousNumbering
double * PreviousNumbering
Definition: BamgMesh.h:13
IssmSeqVec::GetSize
void GetSize(int *pM)
Definition: IssmSeqVec.h:136
BamgMesh::Edges
double * Edges
Definition: BamgMesh.h:15
BamgMesh::SubDomainsFromGeomSize
int SubDomainsFromGeomSize[2]
Definition: BamgMesh.h:28
BamgMesh::IssmSegmentsSize
int IssmSegmentsSize[2]
Definition: BamgMesh.h:38
BamgGeom::VerticesSize
int VerticesSize[2]
Definition: BamgGeom.h:10
BamgMesh::TrianglesSize
int TrianglesSize[2]
Definition: BamgMesh.h:16
BamgGeom::EdgesSize
int EdgesSize[2]
Definition: BamgGeom.h:12
BamgMesh::VerticesOnGeomVertex
double * VerticesOnGeomVertex
Definition: BamgMesh.h:20
BamgMesh::IssmEdgesSize
int IssmEdgesSize[2]
Definition: BamgMesh.h:36
BamgGeom::Vertices
double * Vertices
Definition: BamgGeom.h:11
BamgMesh::NodalElementConnectivitySize
int NodalElementConnectivitySize[2]
Definition: BamgMesh.h:44
BamgGeom::RequiredEdges
double * RequiredEdges
Definition: BamgGeom.h:21
BamgMesh::IssmSegments
double * IssmSegments
Definition: BamgMesh.h:39
IssmPDouble
IssmDouble IssmPDouble
Definition: types.h:38
WriteData
void WriteData(IssmPDouble **pmatrix, int *pnel, int *matrix, int M, int N)
Definition: WriteJavascriptData.cpp:16
BamgMesh::ElementConnectivitySize
int ElementConnectivitySize[2]
Definition: BamgMesh.h:40
BamgMesh::CrackedEdges
double * CrackedEdges
Definition: BamgMesh.h:33
BamgMesh::Triangles
double * Triangles
Definition: BamgMesh.h:17
BamgMesh::IssmEdges
double * IssmEdges
Definition: BamgMesh.h:37
BamgMesh::CrackedEdgesSize
int CrackedEdgesSize[2]
Definition: BamgMesh.h:32