- Timestamp:
- 06/26/18 19:33:59 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/wrappers/javascript/io/FetchJavascriptData.cpp
r19768 r22877 122 122 123 123 *pcontours=contours; 124 } 125 /*}}}*/ 126 /*FUNCTION FetchData(BamgGeom** pbamggeom, double* vertices, int nods){{{*/ 127 void FetchData(BamgGeom** pbamggeom, double* Vertices, int* VerticesSize, double* Edges, int* EdgesSize, double* Corners, int* CornersSize, double* RequiredVertices, int* RequiredVerticesSize, double* RequiredCrackedEdges, int* RequiredCrackedEdgesSize, double* CrackedEdges, int* CrackedEdgesSize, double* SubDomains, int* SubDomainsSize){ 128 129 /*Initialize output*/ 130 BamgGeom* bamggeom = new BamgGeom(); 131 132 /*Fetch all fields*/ 133 FetchData(&bamggeom->Vertices, &bamggeom->VerticesSize[0], &bamggeom->VerticesSize[1], Vertices, VerticesSize[0], VerticesSize[1]); 134 FetchData(&bamggeom->Edges, &bamggeom->EdgesSize[0], &bamggeom->EdgesSize[1], Edges, EdgesSize[0], EdgesSize[1]); 135 FetchData(&bamggeom->Corners, &bamggeom->CornersSize[0], &bamggeom->CornersSize[1], Corners, CornersSize[0], CornersSize[1]); 136 FetchData(&bamggeom->RequiredVertices, &bamggeom->RequiredVerticesSize[0], &bamggeom->RequiredVerticesSize[1], RequiredVertices, RequiredVerticesSize[0], RequiredVerticesSize[1]); 137 FetchData(&bamggeom->RequiredEdges, &bamggeom->RequiredEdgesSize[0], &bamggeom->RequiredEdgesSize[1], RequiredEdges, RequiredEdgesSize[0], RequiredEdgesSize[1]); 138 FetchData(&bamggeom->CrackedEdges, &bamggeom->CrackedEdgesSize[0], &bamggeom->CrackedEdgesSize[1], CrackedEdges, CrackedEdgesSize[0], CrackedEdgesSize[1]); 139 FetchData(&bamggeom->SubDomains, &bamggeom->SubDomainsSize[0], &bamggeom->SubDomainsSize[1], SubDomains, SubDomainsSize[0], SubDomainsSize[1]); 140 141 /*Assign output pointers:*/ 142 *pbamggeom = bamggeom; 143 } 144 /*}}}*/ 145 /*FUNCTION FetchData(BamgMesh** pbamgmesh, double* vertices, int nods){{{*/ 146 void FetchData(BamgMesh** pbamgmesh, double* Vertices, int* VerticesSize, double* Edges, int* EdgesSize, double* Triangles, int* TrianglesSize, double* CrackedEdges, int* CrackedEdgesSize, double* VerticesOnGeomEdge, int* VerticesOnGeomEdgeSize, double* VerticesOnGeomVertex, int* VerticesOnGeomVertexSize, double* EdgesOnGeomEdge, int* EdgesOnGeomEdgeSize, double* IssmSegments, int* IssmSegmentsSize){ 147 148 /*Initialize output*/ 149 BamgMesh* bamgmesh = new BamgMesh(); 150 151 /*Fetch all fields*/ 152 FetchData(&bamggeom->Vertices, &bamggeom->VerticesSize[0], &bamggeom->VerticesSize[1], Vertices, VerticesSize[0], VerticesSize[1]); 153 FetchData(&bamggeom->Edges, &bamggeom->EdgesSize[0], &bamggeom->EdgesSize[1], Edges, EdgesSize[0], EdgesSize[1]); 154 FetchData(&bamggeom->Triangles, &bamggeom->TrianglesSize[0], &bamggeom->TrianglesSize[1], Triangles, TrianglesSize[0], TrianglesSize[1]); 155 FetchData(&bamggeom->CrackedEdges, &bamggeom->CrackedEdgesSize[0], &bamggeom->CrackedEdgesSize[1], CrackedEdges, CrackedEdgesSize[0], CrackedEdgesSize[1]); 156 FetchData(&bamggeom->VerticesOnGeomEdge, &bamggeom->VerticesOnGeomEdgeSize[0], &bamggeom->VerticesOnGeomEdgeSize[1], VerticesOnGeomEdge, VerticesOnGeomEdgeSize[0], VerticesOnGeomEdgeSize[1]); 157 FetchData(&bamggeom->VerticesOnGeomVertex, &bamggeom->VerticesOnGeomVertexSize[0], &bamggeom->VerticesOnGeomVertexSize[1], VerticesOnGeomVertex, VerticesOnGeomVertexSize[0], VerticesOnGeomVertexSize[1]); 158 FetchData(&bamggeom->EdgesOnGeomEdge, &bamggeom->EdgesOnGeomEdgeSize[0], &bamggeom->EdgesOnGeomEdgeSize[1], EdgesOnGeomEdge, EdgesOnGeomEdgeSize[0], EdgesOnGeomEdgeSize[1]); 159 FetchData(&bamggeom->IssmSegments, &bamggeom->IssmSegmentsSize[0], &bamggeom->IssmSegmentsSize[1], IssmSegments, IssmSegmentsSize[0], IssmSegmentsSize[1]); 160 161 /*Assign output pointers:*/ 162 *pbamgmesh = bamgmesh; 163 } 164 /*}}}*/ 165 /*FUNCTION FetchData(BamgMesh** pbamgopts, double* vertices, int nods){{{*/ 166 void FetchData(BamgOpts** pbamgopts, double anisomax, double cutoff, double coeff, double errg, double gradation, int Hessiantype, int maxnbv, double maxsubdiv, int Metrictype, int nbjacobi, int nbsmooth, double omega, double power, int verbose, int Crack, int KeepVertices, int splitcorners, double hmin, double hmax, double* hminVertices, double* hmaxVertices, double* hVertices, double* metric, double* field, double err){ 167 168 BamgOpts *bamgopts = new BamgOpts(); 169 170 /*Parameters*/ 171 bamgopts->anisomax = anisomax; 172 bamgopts->coeff = coeff; 173 bamgopts->cutoff = cutoff; 174 bamgopts->errg = errg; 175 bamgopts->gradation = gradation; 176 bamgopts->Hessiantype = Hessiantype; 177 bamgopts->maxnbv = maxnbv; 178 bamgopts->maxsubdiv = maxsubdiv; 179 bamgopts->Metrictype = Metrictype; 180 bamgopts->nbjacobi = nbjacobi; 181 bamgopts->nbsmooth = nbsmooth; 182 bamgopts->omega = omega; 183 bamgopts->power = power; 184 bamgopts->verbose = verbose; 185 186 /*Flags*/ 187 bamgopts->Crack = Crack; 188 bamgopts->KeepVertices = KeepVertices; 189 bamgopts->splitcorners = splitcorners; 190 191 /*Metric related*/ 192 bamgopts->hmin = hmin; 193 bamgopts->hmax = hmax; 194 bamgopts->hminVertices = xNew<IssmPDouble>(hminVerticesNods); xMemCpy<IssmPDouble>(bamgopts->hminVertices, hminVertices, hminVerticesNods); 195 bamgopts->hmaxVertices = xNew<IssmPDouble>(hmaxVerticesNods); xMemCpy<IssmPDouble>(bamgopts->hmaxVertices, hmaxVertices, hmaxVerticesNods); 196 bamgopts->hVertices = xNew<IssmPDouble>(hVerticesNods); xMemCpy<IssmPDouble>(bamgopts->hVertices, hVertices, hVerticesNods); 197 bamgopts->field = xNew<IssmPDouble>(fieldNods); xMemCpy<IssmPDouble>(bamgopts->field, field, fieldNods); 198 bamgopts->metric = xNew<IssmPDouble>(metricNods); xMemCpy<IssmPDouble>(bamgopts->metric, metric, metricNods); 199 bamgopts->err = err; 200 201 *pbamgopts = bamgopts; 124 202 } 125 203 /*}}}*/
Note:
See TracChangeset
for help on using the changeset viewer.