Changeset 22896
- Timestamp:
- 07/03/18 20:19:41 (7 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/bamg/Geometry.cpp
r22380 r22896 41 41 Geometry::~Geometry() {/*{{{*/ 42 42 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, MeshGeom.cpp/~Geometry)*/ 43 if(NbRef>0){ _printf_("Trying to delete geometry and NbRef>0, probably due to an error"); return;} 43 44 if(NbRef>0){ _printf_("Trying to delete geometry and NbRef>0, probably due to an error. NbRef:" << NbRef); return;} 44 45 if(vertices) delete [] vertices; vertices=0; 45 46 if(edges) delete [] edges; edges=0; … … 551 552 delete [] head_v; 552 553 delete [] eangle; 554 _printf_("Length of edge " << i << " is 0\n"); 553 555 _error_("Length of edge " << i << " is 0"); 554 556 } -
issm/trunk-jpl/src/m/array/arrayoperations.js
r22894 r22896 325 325 function ArrayRange(lower, upper) { //{{{ 326 326 327 var range = upper - lower ;327 var range = upper - lower + 1; 328 328 return Array.apply(null, Array(range)).map(function (val, ind) {return ind + lower;}); 329 329 -
issm/trunk-jpl/src/m/mesh/bamg.js
r22878 r22896 452 452 bamg_options.coeff=options.getfieldvalue('coeff',1.); 453 453 bamg_options.cutoff=options.getfieldvalue('cutoff',Math.pow(10,-5)); 454 bamg_options.err=options.getfieldvalue('err', 0.01);454 bamg_options.err=options.getfieldvalue('err',[[0.01]]); 455 455 bamg_options.errg=options.getfieldvalue('errg',0.1); 456 456 bamg_options.field=options.getfieldvalue('field',[]); … … 472 472 bamg_options.power=options.getfieldvalue('power',1.); 473 473 bamg_options.splitcorners=options.getfieldvalue('splitcorners',1); 474 bamg_options.verbose=options.getfieldvalue('verbose', 1);474 bamg_options.verbose=options.getfieldvalue('verbose',6); 475 475 //}}} 476 476 -
issm/trunk-jpl/src/m/solve/solve.js
r22880 r22896 233 233 }//}}} 234 234 }//}}} 235 -
issm/trunk-jpl/src/wrappers/BamgMesher/BamgMesher.h
r22878 r22896 47 47 #ifdef _HAVE_JAVASCRIPT_MODULES_ 48 48 /* serial input macros: */ 49 #define BAMGMESHIN VerticesSize_mesh_in, Vertices_mesh_in, EdgesSize_mesh_in, Edges_mesh_in, TrianglesSize_mesh_in, Triangles_mesh_in, CrackedEdgesSize_mesh_in, CrackedEdges_mesh_in, VerticesOnGeomEdgeSize_mesh_in, VerticesOnGeomEdge_mesh_in, VerticesOnGeomVertexSize_mesh_in, VerticesOnGeomVertex_mesh_in, EdgesOnGeomEdgeSize_mesh_in, EdgesOnGeomEdge_mesh_in, IssmSegmentsSize_mesh_in, IssmSegments_mesh_in ,50 #define BAMGGEOMIN VerticesSize_geom_in, Vertices_geom_in, EdgesSize_geom_in, Edges_geom_in, CornersSize_geom_in, Corners_geom_in, RequiredVerticesSize_geom_in, RequiredVertices_geom_in, RequiredEdgesSize_geom_in, RequiredEdges_geom_in, CrackedEdgesSize_geom_in, CrackedEdges_geom_in, SubDomainsSize_geom_in, SubDomains_geom_in ,51 #define BAMGOPTIONS anisomax, cutoff, coeff, errg, gradation, Hessiantype, maxnbv, maxsubdiv, Metrictype, nbjacobi, nbsmooth, omega, power, verbose, Crack, KeepVertices, splitcorners, hmin, hmax, hminVertices , hmaxVertices, hVertices, metric, field, err49 #define BAMGMESHIN VerticesSize_mesh_in, Vertices_mesh_in, EdgesSize_mesh_in, Edges_mesh_in, TrianglesSize_mesh_in, Triangles_mesh_in, CrackedEdgesSize_mesh_in, CrackedEdges_mesh_in, VerticesOnGeomEdgeSize_mesh_in, VerticesOnGeomEdge_mesh_in, VerticesOnGeomVertexSize_mesh_in, VerticesOnGeomVertex_mesh_in, EdgesOnGeomEdgeSize_mesh_in, EdgesOnGeomEdge_mesh_in, IssmSegmentsSize_mesh_in, IssmSegments_mesh_in 50 #define BAMGGEOMIN VerticesSize_geom_in, Vertices_geom_in, EdgesSize_geom_in, Edges_geom_in, CornersSize_geom_in, Corners_geom_in, RequiredVerticesSize_geom_in, RequiredVertices_geom_in, RequiredEdgesSize_geom_in, RequiredEdges_geom_in, CrackedEdgesSize_geom_in, CrackedEdges_geom_in, SubDomainsSize_geom_in, SubDomains_geom_in 51 #define BAMGOPTIONS anisomax, cutoff, coeff, errg, gradation, Hessiantype, maxnbv, maxsubdiv, Metrictype, nbjacobi, nbsmooth, omega, power, verbose, Crack, KeepVertices, splitcorners, hmin, hmax, hminVerticesSize, hminVertices, hmaxVerticesSize, hmaxVertices, hVerticesSize, hVertices, metricSize, metric, fieldSize, field, errSize, err 52 52 /* serial output macros: */ 53 #define BAMGMESHOUT VerticesSize_mesh_out, Vertices_mesh_out, EdgesSize_mesh_out, Edges_mesh_out, TrianglesSize_mesh_out, Triangles_mesh_out, CrackedEdgesSize_mesh_out, CrackedEdges_mesh_out, VerticesOnGeomEdgeSize_mesh_out, VerticesOnGeomEdge_mesh_out, VerticesOnGeomVertexSize_mesh_out, VerticesOnGeomVertex_mesh_out, EdgesOnGeomEdgeSize_mesh_out, EdgesOnGeomEdge_mesh_out, IssmSegmentsSize_mesh_out, IssmSegments_mesh_out53 #define BAMGMESHOUT VerticesSize_mesh_out, Vertices_mesh_out, EdgesSize_mesh_out, Edges_mesh_out, TrianglesSize_mesh_out, Triangles_mesh_out, IssmEdgesSize_mesh_out, IssmEdges_mesh_out, IssmSegmentsSize_mesh_out, IssmSegments_mesh_out, VerticesOnGeomVertexSize_mesh_out, VerticesOnGeomVertex_mesh_out, VerticesOnGeomEdgeSize_mesh_out, VerticesOnGeomEdge_mesh_out, EdgesOnGeomEdgeSize_mesh_out, EdgesOnGeomEdge_mesh_out, SubDomainsSize_mesh_out, SubDomains_mesh_out, SubDomainsFromGeomSize_mesh_out, SubDomainsFromGeom_mesh_out, ElementConnectivitySize_mesh_out, ElementConnectivity_mesh_out, NodalConnectivitySize_mesh_out, NodalConnectivity_mesh_out, NodalElementConnectivitySize_mesh_out, NodalElementConnectivity_mesh_out, CrackedVerticesSize_mesh_out, CrackedVertices_mesh_out, CrackedEdgesSize_mesh_out, CrackedEdges_mesh_out, PreviousNumberingSize_mesh_out, PreviousNumbering_mesh_out 54 54 #define BAMGGEOMOUT VerticesSize_geom_out, Vertices_geom_out, EdgesSize_geom_out, Edges_geom_out, CornersSize_geom_out, Corners_geom_out, RequiredVerticesSize_geom_out, RequiredVertices_geom_out, RequiredEdgesSize_geom_out, RequiredEdges_geom_out, CrackedEdgesSize_geom_out, CrackedEdges_geom_out, SubDomainsSize_geom_out, SubDomains_geom_out 55 #define WRAPPER(modulename) extern "C" { int BamgMesherModule(int* VerticesSize_mesh_out, double* Vertices_mesh_out, int* EdgesSize_mesh_out, double* Edges_mesh_out, int* TrianglesSize_mesh_out, double* Triangles_mesh_out, int* CrackedEdgesSize_mesh_out, double* CrackedEdges_mesh_out, int* VerticesOnGeomEdgeSize_mesh_out, double* VerticesOnGeomEdge_mesh_out, int* VerticesOnGeomVertexSize_mesh_out, double* VerticesOnGeomVertex_mesh_out, int* EdgesOnGeomEdgeSize_mesh_out, double* EdgesOnGeomEdge_mesh_out, int* IssmSegmentsSize_mesh_out, double* IssmSegments_mesh_out, int* VerticesSize_geom_out, double* Vertices_geom_out, int* EdgesSize_geom_out, double* Edges_geom_out, int* CornersSize_geom_out, double* Corners_geom_out, int* RequiredVerticesSize_geom_out, double* RequiredVertices_geom_out, int* RequiredEdgesSize_geom_out, double* RequiredEdges_geom_out, int* CrackedEdgesSize_geom_out, double* CrackedEdges_geom_out, int* SubDomainsSize_geom_out, double* SubDomains_geom_out, int* VerticesSize_mesh_in, double* Vertices_mesh_in, int* EdgesSize_mesh_in, double* Edges_mesh_in, int* TrianglesSize_mesh_in, double* Triangles_mesh_in, int* CrackedEdgesSize_mesh_in, double* CrackedEdges_mesh_in, int* VerticesOnGeomEdgeSize_mesh_in, double* VerticesOnGeomEdge_mesh_in, int* VerticesOnGeomVertexSize_mesh_in, double* VerticesOnGeomVertex_mesh_in, int* EdgesOnGeomEdgeSize_mesh_in, double* EdgesOnGeomEdge_mesh_in, int* IssmSegmentsSize_mesh_in, double* IssmSegments_mesh_in, int* VerticesSize_geom_in, double* Vertices_geom_in, int* EdgesSize_geom_in, double* Edges_geom_in, int* CornersSize_geom_in, double* Corners_geom_in, int* RequiredVerticesSize_geom_in, double* RequiredVertices_geom_in, int* RequiredEdgesSize_geom_in, double* RequiredEdges_geom_in, int* CrackedEdgesSize_geom_in, double* CrackedEdges_geom_in, int* SubDomainsSize_geom_in, double* SubDomains_geom_in, 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, int* hminVerticesSize, double* hminVertices, int* hmaxVerticesSize, double* hmaxVertices, int* hVerticesSize, double* hVertices, int* metricSize, double* metric, int* fieldSize, double* field, int* errSize, double* err)56 #define _DO_NOT_LOAD_GLOBALS_//we only load globals for TriangleModule.js, not other modules! 55 #define WRAPPER(modulename) extern "C" { int BamgMesherModule(int** VerticesSize_mesh_out, double** Vertices_mesh_out, int** EdgesSize_mesh_out, double** Edges_mesh_out, int** TrianglesSize_mesh_out, double** Triangles_mesh_out, int** IssmEdgesSize_mesh_out, double** IssmEdges_mesh_out, int** IssmSegmentsSize_mesh_out, double** IssmSegments_mesh_out, int** VerticesOnGeomVertexSize_mesh_out, double** VerticesOnGeomVertex_mesh_out, int** VerticesOnGeomEdgeSize_mesh_out, double** VerticesOnGeomEdge_mesh_out, int** EdgesOnGeomEdgeSize_mesh_out, double** EdgesOnGeomEdge_mesh_out, int** SubDomainsSize_mesh_out, double** SubDomains_mesh_out, int** SubDomainsFromGeomSize_mesh_out, double** SubDomainsFromGeom_mesh_out, int** ElementConnectivitySize_mesh_out, double** ElementConnectivity_mesh_out, int** NodalConnectivitySize_mesh_out, double** NodalConnectivity_mesh_out, int** NodalElementConnectivitySize_mesh_out, double** NodalElementConnectivity_mesh_out, int** CrackedVerticesSize_mesh_out, double** CrackedVertices_mesh_out, int** CrackedEdgesSize_mesh_out, double** CrackedEdges_mesh_out, int** PreviousNumberingSize_mesh_out, double** PreviousNumbering_mesh_out, int** VerticesSize_geom_out, double** Vertices_geom_out, int** EdgesSize_geom_out, double** Edges_geom_out, int** CornersSize_geom_out, double** Corners_geom_out, int** RequiredVerticesSize_geom_out, double** RequiredVertices_geom_out, int** RequiredEdgesSize_geom_out, double** RequiredEdges_geom_out, int** CrackedEdgesSize_geom_out, double** CrackedEdges_geom_out, int** SubDomainsSize_geom_out, double** SubDomains_geom_out, int* VerticesSize_mesh_in, double* Vertices_mesh_in, int* EdgesSize_mesh_in, double* Edges_mesh_in, int* TrianglesSize_mesh_in, double* Triangles_mesh_in, int* CrackedEdgesSize_mesh_in, double* CrackedEdges_mesh_in, int* VerticesOnGeomEdgeSize_mesh_in, double* VerticesOnGeomEdge_mesh_in, int* VerticesOnGeomVertexSize_mesh_in, double* VerticesOnGeomVertex_mesh_in, int* EdgesOnGeomEdgeSize_mesh_in, double* EdgesOnGeomEdge_mesh_in, int* IssmSegmentsSize_mesh_in, double* IssmSegments_mesh_in, int* VerticesSize_geom_in, double* Vertices_geom_in, int* EdgesSize_geom_in, double* Edges_geom_in, int* CornersSize_geom_in, double* Corners_geom_in, int* RequiredVerticesSize_geom_in, double* RequiredVertices_geom_in, int* RequiredEdgesSize_geom_in, double* RequiredEdges_geom_in, int* CrackedEdgesSize_geom_in, double* CrackedEdges_geom_in, int* SubDomainsSize_geom_in, double* SubDomains_geom_in, 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, int* hminVerticesSize, double* hminVertices, int* hmaxVerticesSize, double* hmaxVertices, int* hVerticesSize, double* hVertices, int* metricSize, double* metric, int* fieldSize, double* field, int* errSize, double* err) 56 57 57 #endif 58 58 -
issm/trunk-jpl/src/wrappers/BamgMesher/BamgMesher.js
r22878 r22896 24 24 return Module.HEAPU32.slice(ptr / 4, ptr / 4 + nods); 25 25 } 26 function BamgMesher( md, bamgmesh, bamggeom, bamgopts) {26 function BamgMesher(bamgmesh_in, bamggeom_in, bamgopts) { 27 27 /* 28 28 usage: var array = Triangle(domain,rifts,area); … … 39 39 //Dynamic allocations: {{{ 40 40 //Retrieve domain arrays, and allocate on Module heap: 41 //For each property, calculate the size and fill with 0 if the 2nd dimension is undefined, then use the int size array to init the double array. 41 42 //input 42 var pVerticesSize_mesh_in = intsToHeap([bamgmesh .Vertices.length, bamgmesh.Vertices[0].length]);43 var pVertices_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh .Vertices));44 var pEdgesSize_mesh_in = intsToHeap([bamgmesh .Edges.length, bamgmesh.Edges[0].length]);45 var pEdges_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh .Edges));46 var pTrianglesSize_mesh_in = intsToHeap([bamgmesh .Triangle.length, bamgmesh.Triangle[0].length]);47 var pTriangles_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh .Triangle));48 var pCrackedEdgesSize_mesh_in = intsToHeap([bamgmesh .CrackedEdges.length, bamgmesh.CrackedEdges[0].length]);49 var pCrackedEdges_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh .CrackedEdges));50 var pVerticesOnGeomEdgeSize_mesh_in = intsToHeap([bamgmesh .VerticesOnGeomEdge.length, bamgmesh.VerticesOnGeomEdge[0].length]);51 var pVerticesOnGeomEdge_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh .VerticesOnGeomEdge));52 var pVerticesOnGeomVertexSize_mesh_in = intsToHeap([bamgmesh .VerticesOnGeomVertex.length, bamgmesh.VerticesOnGeomVertex[0].length]);53 var pVerticesOnGeomVertex_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh .VerticesOnGeomVertex));54 var pEdgesOnGeomEdgeSize_mesh_in = intsToHeap([bamgmesh .EdgesOnGeomEdge.length, bamgmesh.EdgesOnGeomEdge[0].length]);55 var pEdgesOnGeomEdge_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh .EdgesOnGeomEdge));56 var pIssmSegmentsSize_mesh_in = intsToHeap([bamgmesh .IssmSegments.length, bamgmesh.IssmSegments[0].length]);57 var pIssmSegments_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh .IssmSegments));58 59 var pVerticesSize_geom_in = intsToHeap([bamggeom .Vertices.length, bamggeom.Vertices[0].length]);60 var pVertices_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom .Vertices));61 var pEdgesSize_geom_in = intsToHeap([bamggeom .Edges.length, bamggeom.Edges[0].length]);62 var pEdges_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom .Edges));63 var pCornersSize_geom_in = intsToHeap([bamggeom .Corners.length, bamggeom.Corners[0].length]);64 var pCorners_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom .Corners));65 var pRequiredVerticesSize_geom_in = intsToHeap([bamggeom .RequiredVertices.length, bamggeom.RequiredVertices[0].length]);66 var pRequiredVertices_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom .RequiredVertices));67 var pRequired CrackedEdgesSize_geom_in = intsToHeap([bamggeom.RequiredCrackedEdges.length, bamggeom.RequiredCrackedEdges[0].length]);68 var pRequired CrackedEdges_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom.RequiredCrackedEdges));69 var pCrackedEdgesSize_geom_in = intsToHeap([bamggeom .CrackedEdges.length, bamggeom.CrackedEdges[0].length]);70 var pCrackedEdges_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom .CrackedEdges));71 var pSubDomainsSize_geom_in = intsToHeap([bamggeom .SubDomains.length, bamggeom.SubDomains[0].length]);72 var pSubDomains_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom .SubDomains));43 var pVerticesSize_mesh_in = intsToHeap([bamgmesh_in.Vertices.length, bamgmesh_in.Vertices[0] != undefined ? bamgmesh_in.Vertices[0].length : 1]); 44 var pVertices_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh_in.Vertices)); 45 var pEdgesSize_mesh_in = intsToHeap([bamgmesh_in.Edges.length, bamgmesh_in.Edges[0] != undefined ? bamgmesh_in.Edges[0].length : 1]); 46 var pEdges_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh_in.Edges)); 47 var pTrianglesSize_mesh_in = intsToHeap([bamgmesh_in.Triangles.length, bamgmesh_in.Triangles[0] != undefined ? bamgmesh_in.Triangles[0].length : 1]); 48 var pTriangles_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh_in.Triangles)); 49 var pCrackedEdgesSize_mesh_in = intsToHeap([bamgmesh_in.CrackedEdges.length, bamgmesh_in.CrackedEdges[0] != undefined ? bamgmesh_in.CrackedEdges[0].length : 1]); 50 var pCrackedEdges_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh_in.CrackedEdges)); 51 var pVerticesOnGeomEdgeSize_mesh_in = intsToHeap([bamgmesh_in.VerticesOnGeomEdge.length, bamgmesh_in.VerticesOnGeomEdge[0] != undefined ? bamgmesh_in.VerticesOnGeomEdge[0].length : 1]); 52 var pVerticesOnGeomEdge_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh_in.VerticesOnGeomEdge)); 53 var pVerticesOnGeomVertexSize_mesh_in = intsToHeap([bamgmesh_in.VerticesOnGeomVertex.length, bamgmesh_in.VerticesOnGeomVertex[0] != undefined ? bamgmesh_in.VerticesOnGeomVertex[0].length : 1]); 54 var pVerticesOnGeomVertex_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh_in.VerticesOnGeomVertex)); 55 var pEdgesOnGeomEdgeSize_mesh_in = intsToHeap([bamgmesh_in.EdgesOnGeomEdge.length, bamgmesh_in.EdgesOnGeomEdge[0] != undefined ? bamgmesh_in.EdgesOnGeomEdge[0].length : 1]); 56 var pEdgesOnGeomEdge_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh_in.EdgesOnGeomEdge)); 57 var pIssmSegmentsSize_mesh_in = intsToHeap([bamgmesh_in.IssmSegments.length, bamgmesh_in.IssmSegments[0] != undefined ? bamgmesh_in.IssmSegments[0].length : 1]); 58 var pIssmSegments_mesh_in = doublesToHeap(Array.prototype.concat.apply([], bamgmesh_in.IssmSegments)); 59 60 var pVerticesSize_geom_in = intsToHeap([bamggeom_in.Vertices.length, bamggeom_in.Vertices[0] != undefined ? bamggeom_in.Vertices[0].length : 1]); 61 var pVertices_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom_in.Vertices)); 62 var pEdgesSize_geom_in = intsToHeap([bamggeom_in.Edges.length, bamggeom_in.Edges[0] != undefined ? bamggeom_in.Edges[0].length : 1]); 63 var pEdges_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom_in.Edges)); 64 var pCornersSize_geom_in = intsToHeap([bamggeom_in.Corners.length, bamggeom_in.Corners[0] != undefined ? bamggeom_in.Corners[0].length : 1]); 65 var pCorners_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom_in.Corners)); 66 var pRequiredVerticesSize_geom_in = intsToHeap([bamggeom_in.RequiredVertices.length, bamggeom_in.RequiredVertices[0] != undefined ? bamggeom_in.RequiredVertices[0].length : 1]); 67 var pRequiredVertices_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom_in.RequiredVertices)); 68 var pRequiredEdgesSize_geom_in = intsToHeap([bamggeom_in.RequiredEdges.length, bamggeom_in.RequiredEdges[0] != undefined ? bamggeom_in.RequiredEdges[0].length : 1]); 69 var pRequiredEdges_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom_in.RequiredEdges)); 70 var pCrackedEdgesSize_geom_in = intsToHeap([bamggeom_in.CrackedEdges.length, bamggeom_in.CrackedEdges[0] != undefined ? bamggeom_in.CrackedEdges[0].length : 1]); 71 var pCrackedEdges_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom_in.CrackedEdges)); 72 var pSubDomainsSize_geom_in = intsToHeap([bamggeom_in.SubDomains.length, bamggeom_in.SubDomains[0] != undefined ? bamggeom_in.SubDomains[0].length : 1]); 73 var pSubDomains_geom_in = doublesToHeap(Array.prototype.concat.apply([], bamggeom_in.SubDomains)); 73 74 74 75 var anisomax = bamgopts.anisomax; … … 91 92 var hmin = bamgopts.hmin; 92 93 var hmax = bamgopts.hmax; 93 var phminVerticesSize = intsToHeap([bamgopts.hminVertices.length, bamgopts.hminVertices[0] .length]);94 var phminVerticesSize = intsToHeap([bamgopts.hminVertices.length, bamgopts.hminVertices[0] != undefined ? bamgopts.hminVertices[0].length : 1]); 94 95 var phminVertices = doublesToHeap(Array.prototype.concat.apply([], bamgopts.hminVertices)); 95 var phmaxVerticesSize = intsToHeap([bamgopts.hmaxVertices.length, bamgopts.hmaxVertices[0] .length]);96 var phmaxVerticesSize = intsToHeap([bamgopts.hmaxVertices.length, bamgopts.hmaxVertices[0] != undefined ? bamgopts.hmaxVertices[0].length : 1]); 96 97 var phmaxVertices = doublesToHeap(Array.prototype.concat.apply([], bamgopts.hmaxVertices)); 97 var phVerticesSize = intsToHeap([bamgopts.hVertices.length, bamgopts.hVertices[0] .length]);98 var phVerticesSize = intsToHeap([bamgopts.hVertices.length, bamgopts.hVertices[0] != undefined ? bamgopts.hVertices[0].length : 1]); 98 99 var phVertices = doublesToHeap(Array.prototype.concat.apply([], bamgopts.hVertices)); 99 var pmetricSize = intsToHeap([bamgopts.metric.length, bamgopts.metric[0] .length]);100 var pmetricSize = intsToHeap([bamgopts.metric.length, bamgopts.metric[0] != undefined ? bamgopts.metric[0].length : 1]); 100 101 var pmetric = doublesToHeap(Array.prototype.concat.apply([], bamgopts.metric)); 101 var pfieldSize = intsToHeap([bamgopts.field.length, bamgopts.field[0] .length]);102 var pfieldSize = intsToHeap([bamgopts.field.length, bamgopts.field[0] != undefined ? bamgopts.field[0].length : 1]); 102 103 var pfield = doublesToHeap(Array.prototype.concat.apply([], bamgopts.field)); 103 var perrSize = intsToHeap([bamgopts.err.length, bamgopts.err[0] .length]);104 var perrSize = intsToHeap([bamgopts.err.length, bamgopts.err[0] != undefined ? bamgopts.err[0].length : 1]); 104 105 var perr = doublesToHeap(Array.prototype.concat.apply([], bamgopts.err)); 105 106 106 107 //output 107 var pVerticesSize_geom_out = Module._malloc(4); 108 var pVertices_geom_out = Module._malloc(4); 109 var pEdgesSize_geom_out = Module._malloc(4); 110 var pEdges_geom_out = Module._malloc(4); 111 var pCornersSize_geom_out = Module._malloc(4); 112 var pCorners_geom_out = Module._malloc(4); 113 var pRequiredVerticesSize_geom_out = Module._malloc(4); 114 var pRequiredVertices_geom_out = Module._malloc(4); 115 var pRequiredCrackedEdgesSize_geom_out = Module._malloc(4); 116 var pRequiredCrackedEdges_geom_out = Module._malloc(4); 117 var pCrackedEdgesSize_geom_out = Module._malloc(4); 118 var pCrackedEdges_geom_out = Module._malloc(4); 119 var pSubDomainsSize_geom_out = Module._malloc(4); 120 var pSubDomains_geom_out = Module._malloc(4); 121 122 var pVerticesSize_mesh_out = Module._malloc(4); 123 var pVertices_mesh_out = Module._malloc(4); 124 var pEdgesSize_mesh_out = Module._malloc(4); 125 var pEdges_mesh_out = Module._malloc(4); 126 var pTrianglesSize_mesh_out = Module._malloc(4); 127 var pTriangles_mesh_out = Module._malloc(4); 128 var pCrackedEdgesSize_mesh_out = Module._malloc(4); 129 var pCrackedEdges_mesh_out = Module._malloc(4); 130 var pVerticesOnGeomEdgeSize_mesh_out = Module._malloc(4); 131 var pVerticesOnGeomEdge_mesh_out = Module._malloc(4); 132 var pVerticesOnGeomVertexSize_mesh_out = Module._malloc(4); 133 var pVerticesOnGeomVertex_mesh_out = Module._malloc(4); 134 var pEdgesOnGeomEdgeSize_mesh_out = Module._malloc(4); 135 var pEdgesOnGeomEdge_mesh_out = Module._malloc(4); 136 var pIssmSegmentsSize_mesh_out = Module._malloc(4); 137 var pIssmSegments_mesh_out = Module._malloc(4); 108 var pVerticesSize_mesh_out = Module._malloc(4); 109 var pVertices_mesh_out = Module._malloc(4); 110 var pEdgesSize_mesh_out = Module._malloc(4); 111 var pEdges_mesh_out = Module._malloc(4); 112 var pTrianglesSize_mesh_out = Module._malloc(4); 113 var pTriangles_mesh_out = Module._malloc(4); 114 var pIssmEdgesSize_mesh_out = Module._malloc(4); 115 var pIssmEdges_mesh_out = Module._malloc(4); 116 var pIssmSegmentsSize_mesh_out = Module._malloc(4); 117 var pIssmSegments_mesh_out = Module._malloc(4); 118 var pVerticesOnGeomVertexSize_mesh_out = Module._malloc(4); 119 var pVerticesOnGeomVertex_mesh_out = Module._malloc(4); 120 var pVerticesOnGeomEdgeSize_mesh_out = Module._malloc(4); 121 var pVerticesOnGeomEdge_mesh_out = Module._malloc(4); 122 var pEdgesOnGeomEdgeSize_mesh_out = Module._malloc(4); 123 var pEdgesOnGeomEdge_mesh_out = Module._malloc(4); 124 var pSubDomainsSize_mesh_out = Module._malloc(4); 125 var pSubDomains_mesh_out = Module._malloc(4); 126 var pSubDomainsFromGeomSize_mesh_out = Module._malloc(4); 127 var pSubDomainsFromGeom_mesh_out = Module._malloc(4); 128 var pElementConnectivitySize_mesh_out = Module._malloc(4); 129 var pElementConnectivity_mesh_out = Module._malloc(4); 130 var pNodalConnectivitySize_mesh_out = Module._malloc(4); 131 var pNodalConnectivity_mesh_out = Module._malloc(4); 132 var pNodalElementConnectivitySize_mesh_out = Module._malloc(4); 133 var pNodalElementConnectivity_mesh_out = Module._malloc(4); 134 var pCrackedVerticesSize_mesh_out = Module._malloc(4); 135 var pCrackedVertices_mesh_out = Module._malloc(4); 136 var pCrackedEdgesSize_mesh_out = Module._malloc(4); 137 var pCrackedEdges_mesh_out = Module._malloc(4); 138 var pPreviousNumberingSize_mesh_out = Module._malloc(4); 139 var pPreviousNumbering_mesh_out = Module._malloc(4); 140 141 var pVerticesSize_geom_out = Module._malloc(4); 142 var pVertices_geom_out = Module._malloc(4); 143 var pEdgesSize_geom_out = Module._malloc(4); 144 var pEdges_geom_out = Module._malloc(4); 145 var pCornersSize_geom_out = Module._malloc(4); 146 var pCorners_geom_out = Module._malloc(4); 147 var pRequiredVerticesSize_geom_out = Module._malloc(4); 148 var pRequiredVertices_geom_out = Module._malloc(4); 149 var pRequiredEdgesSize_geom_out = Module._malloc(4); 150 var pRequiredEdges_geom_out = Module._malloc(4); 151 var pCrackedEdgesSize_geom_out = Module._malloc(4); 152 var pCrackedEdges_geom_out = Module._malloc(4); 153 var pSubDomainsSize_geom_out = Module._malloc(4); 154 var pSubDomains_geom_out = Module._malloc(4); 138 155 //}}} 139 156 140 157 //Declare BamgMesher module: 141 158 BamgMesherModule = Module.cwrap('BamgMesherModule', 'number',[ 142 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 159 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 143 160 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 144 161 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 145 162 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 146 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number' ]);163 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number']); 147 164 148 165 //Call BamgMesher module: 166 149 167 BamgMesherModule( 150 pVerticesSize_mesh_out, pVertices_mesh_out, pEdgesSize_mesh_out, pEdges_mesh_out, pTrianglesSize_mesh_out, pTriangles_mesh_out, p CrackedEdgesSize_mesh_out, pCrackedEdges_mesh_out, pVerticesOnGeomEdgeSize_mesh_out, pVerticesOnGeomEdge_mesh_out, pVerticesOnGeomVertexSize_mesh_out, pVerticesOnGeomVertex_mesh_out, pEdgesOnGeomEdgeSize_mesh_out, pEdgesOnGeomEdge_mesh_out, pIssmSegmentsSize_mesh_out, pIssmSegments_mesh_out,151 pVerticesSize_geom_out, pVertices_geom_out, pEdgesSize_geom_out, pEdges_geom_out, pCornersSize_geom_out, pCorners_geom_out, pRequiredVerticesSize_geom_out, pRequiredVertices_geom_out, pRequired CrackedEdgesSize_geom_out, pRequiredCrackedEdges_geom_out, pCrackedEdgesSize_geom_out, pCrackedEdges_geom_out, pSubDomaoutsSize_geom_out, pSubDomaouts_geom_out,168 pVerticesSize_mesh_out, pVertices_mesh_out, pEdgesSize_mesh_out, pEdges_mesh_out, pTrianglesSize_mesh_out, pTriangles_mesh_out, pIssmEdgesSize_mesh_out, pIssmEdges_mesh_out, pIssmSegmentsSize_mesh_out, pIssmSegments_mesh_out, pVerticesOnGeomVertexSize_mesh_out, pVerticesOnGeomVertex_mesh_out, pVerticesOnGeomEdgeSize_mesh_out, pVerticesOnGeomEdge_mesh_out, pEdgesOnGeomEdgeSize_mesh_out, pEdgesOnGeomEdge_mesh_out, pSubDomainsSize_mesh_out, pSubDomains_mesh_out, pSubDomainsFromGeomSize_mesh_out, pSubDomainsFromGeom_mesh_out, pElementConnectivitySize_mesh_out, pElementConnectivity_mesh_out, pNodalConnectivitySize_mesh_out, pNodalConnectivity_mesh_out, pNodalElementConnectivitySize_mesh_out, pNodalElementConnectivity_mesh_out, pCrackedVerticesSize_mesh_out, pCrackedVertices_mesh_out, pCrackedEdgesSize_mesh_out, pCrackedEdges_mesh_out, pPreviousNumberingSize_mesh_out, pPreviousNumbering_mesh_out, 169 pVerticesSize_geom_out, pVertices_geom_out, pEdgesSize_geom_out, pEdges_geom_out, pCornersSize_geom_out, pCorners_geom_out, pRequiredVerticesSize_geom_out, pRequiredVertices_geom_out, pRequiredEdgesSize_geom_out, pRequiredEdges_geom_out, pCrackedEdgesSize_geom_out, pCrackedEdges_geom_out, pSubDomainsSize_geom_out, pSubDomains_geom_out, 152 170 pVerticesSize_mesh_in, pVertices_mesh_in, pEdgesSize_mesh_in, pEdges_mesh_in, pTrianglesSize_mesh_in, pTriangles_mesh_in, pCrackedEdgesSize_mesh_in, pCrackedEdges_mesh_in, pVerticesOnGeomEdgeSize_mesh_in, pVerticesOnGeomEdge_mesh_in, pVerticesOnGeomVertexSize_mesh_in, pVerticesOnGeomVertex_mesh_in, pEdgesOnGeomEdgeSize_mesh_in, pEdgesOnGeomEdge_mesh_in, pIssmSegmentsSize_mesh_in, pIssmSegments_mesh_in, 153 pVerticesSize_geom_in, pVertices_geom_in, pEdgesSize_geom_in, pEdges_geom_in, pCornersSize_geom_in, pCorners_geom_in, pRequiredVerticesSize_geom_in, pRequiredVertices_geom_in, pRequired CrackedEdgesSize_geom_in, pRequiredCrackedEdges_geom_in, pCrackedEdgesSize_geom_in, pCrackedEdges_geom_in, pSubDomaoutsSize_geom_in, pSubDomaouts_geom_in,171 pVerticesSize_geom_in, pVertices_geom_in, pEdgesSize_geom_in, pEdges_geom_in, pCornersSize_geom_in, pCorners_geom_in, pRequiredVerticesSize_geom_in, pRequiredVertices_geom_in, pRequiredEdgesSize_geom_in, pRequiredEdges_geom_in, pCrackedEdgesSize_geom_in, pCrackedEdges_geom_in, pSubDomainsSize_geom_in, pSubDomains_geom_in, 154 172 anisomax, cutoff, coeff, errg, gradation, Hessiantype, maxnbv, maxsubdiv, Metrictype, nbjacobi, nbsmooth, omega, power, verbose, Crack, KeepVertices, splitcorners, hmin, hmax, phminVerticesSize, phminVertices, phmaxVerticesSize, phmaxVertices, phVerticesSize, phVertices, pmetricSize, pmetric, pfieldSize, pfield, perrSize, perr); 155 173 156 174 /*Dynamic copying from heap: {{{*/ 157 175 //recover mesh: 158 var bamgmeshout = bamgmesh(); 159 var bamggeomout = bamggeom(); 160 161 bamgmeshout.VerticesSize = heapToint(pVerticesSize_mesh_out, 2); 162 bamgmeshout.Vertices = heapToDoubles(heapToDoubles(pVertices_mesh_out), bamgmeshout.VerticesSize); 163 bamgmeshout.EdgesSize = heapToint(pEdgesSize_mesh_out, 2); 164 bamgmeshout.Edges = heapToDoubles(heapToDoubles(pEdges_mesh_out), bamgmeshout.EdgesSize); 165 bamgmeshout.TrianglesSize = heapToint(pTrianglesSize_mesh_out, 2); 166 bamgmeshout.Triangles = heapToDoubles(heapToDoubles(pTriangles_mesh_out), bamgmeshout.TrianglesSize); 167 bamgmeshout.CrackedEdgesSize = heapToint(pCrackedEdgesSize_mesh_out, 2); 168 bamgmeshout.CrackedEdges = heapToDoubles(heapToDoubles(pCrackedEdges_mesh_out), bamgmeshout.CrackedEdgesSize); 169 bamgmeshout.VerticesOnGeomEdgeSize = heapToint(pVerticesOnGeomEdgeSize_mesh_out, 2); 170 bamgmeshout.VerticesOnGeomEdge = heapToDoubles(heapToDoubles(pVerticesOnGeomEdge_mesh_out), bamgmeshout.VerticesOnGeomEdgeSize); 171 bamgmeshout.VerticesOnGeomVertexSize = heapToint(pVerticesOnGeomVertexSize_mesh_out, 2); 172 bamgmeshout.VerticesOnGeomVertex = heapToDoubles(heapToDoubles(pVerticesOnGeomVertex_mesh_out), bamgmeshout.VerticesOnGeomVertexSize); 173 bamgmeshout.EdgesOnGeomEdgeSize = heapToint(pEdgesOnGeomEdgeSize_mesh_out, 2); 174 bamgmeshout.EdgesOnGeomEdge = heapToDoubles(heapToDoubles(pEdgesOnGeomEdge_mesh_out), bamgmeshout.EdgesOnGeomEdgeSize); 175 bamgmeshout.IssmSegmentsSize = heapToint(pIssmSegmentsSize_mesh_out, 2); 176 bamgmeshout.IssmSegments = heapToDoubles(heapToDoubles(pIssmSegments_mesh_out), bamgmeshout.IssmSegmentsSize); 177 178 bamggeomout.VerticesSize = heapToint(pVerticesSize_mesh_out, 2); 179 bamggeomout.Vertices = heapToDoubles(heapToDoubles(pVertices_mesh_out), bamggeomout.VerticesSize); 180 bamggeomout.EdgesSize = heapToint(pEdgesSize_mesh_out, 2); 181 bamggeomout.Edges = heapToDoubles(heapToDoubles(pEdges_mesh_out), bamggeomout.EdgesSize); 182 bamggeomout.CornersSize = heapToint(pCornersSize_mesh_out, 2); 183 bamggeomout.Corners = heapToDoubles(heapToDoubles(pCorners_mesh_out), bamggeomout.CornersSize); 184 bamggeomout.RequiredVerticesSize = heapToint(pRequiredVerticesSize_mesh_out, 2); 185 bamggeomout.RequiredVertices = heapToDoubles(heapToDoubles(pRequiredVertices_mesh_out), bamggeomout.RequiredVerticesSize); 186 bamggeomout.RequiredCrackedEdgesSize = heapToint(pRequiredCrackedEdgesSize_mesh_out, 2); 187 bamggeomout.RequiredCrackedEdges = heapToDoubles(heapToDoubles(pRequiredCrackedEdges_mesh_out), bamggeomout.RequiredCrackedEdgesSize); 188 bamggeomout.CrackedEdgesSize = heapToint(pCrackedEdgesSize_mesh_out, 2); 189 bamggeomout.CrackedEdges = heapToDoubles(heapToDoubles(pCrackedEdges_mesh_out), bamggeomout.CrackedEdgesSize); 190 bamggeomout.SubDomainSize = heapToint(pSubDomainsSize_mesh_out, 2); 191 bamggeomout.SubDomains = heapToDoubles(heapToDoubles(pSubDomains_mesh_out), bamggeomout.SubDomainsSize); 176 var bamgmeshout = new bamgmesh(); 177 var bamggeomout = new bamggeom(); 178 179 bamgmeshout.VerticesSize = heapToInts(pVerticesSize_mesh_out, 2); 180 bamgmeshout.Vertices = heapToDoubles(pVertices_mesh_out, bamgmeshout.VerticesSize); 181 bamgmeshout.EdgesSize = heapToInts(pEdgesSize_mesh_out, 2); 182 bamgmeshout.Edges = heapToDoubles(pEdges_mesh_out, bamgmeshout.EdgesSize); 183 bamgmeshout.TrianglesSize = heapToInts(pTrianglesSize_mesh_out, 2); 184 bamgmeshout.Triangles = heapToDoubles(pTriangles_mesh_out, bamgmeshout.TrianglesSize); 185 bamgmeshout.IssmEdgesSize = heapToInts(pIssmEdgesSize_mesh_out, 2); 186 bamgmeshout.IssmEdges = heapToDoubles(pIssmEdges_mesh_out, bamgmeshout.IssmEdgesSize); 187 bamgmeshout.IssmSegmentsSize = heapToInts(pIssmSegmentsSize_mesh_out, 2); 188 bamgmeshout.IssmSegments = heapToDoubles(pIssmSegments_mesh_out, bamgmeshout.IssmSegmentsSize); 189 bamgmeshout.VerticesOnGeomVertexSize = heapToInts(pVerticesOnGeomVertexSize_mesh_out, 2); 190 bamgmeshout.VerticesOnGeomVertex = heapToDoubles(pVerticesOnGeomVertex_mesh_out, bamgmeshout.VerticesOnGeomVertexSize); 191 bamgmeshout.VerticesOnGeomEdgeSize = heapToInts(pVerticesOnGeomEdgeSize_mesh_out, 2); 192 bamgmeshout.VerticesOnGeomEdge = heapToDoubles(pVerticesOnGeomEdge_mesh_out, bamgmeshout.VerticesOnGeomEdgeSize); 193 bamgmeshout.EdgesOnGeomEdgeSize = heapToInts(pEdgesOnGeomEdgeSize_mesh_out, 2); 194 bamgmeshout.EdgesOnGeomEdge = heapToDoubles(pEdgesOnGeomEdge_mesh_out, bamgmeshout.EdgesOnGeomEdgeSize); 195 bamgmeshout.SubDomainsSize = heapToInts(pSubDomainsSize_mesh_out, 2); 196 bamgmeshout.SubDomains = heapToDoubles(pSubDomains_mesh_out, bamgmeshout.SubDomainsSize); 197 bamgmeshout.SubDomainsFromGeomSize = heapToInts(pSubDomainsFromGeomSize_mesh_out, 2); 198 bamgmeshout.SubDomainsFromGeom = heapToDoubles(pSubDomainsFromGeom_mesh_out, bamgmeshout.SubDomainsFromGeomSize); 199 bamgmeshout.ElementConnectivitySize = heapToInts(pElementConnectivitySize_mesh_out, 2); 200 bamgmeshout.ElementConnectivity = heapToDoubles(pElementConnectivity_mesh_out, bamgmeshout.ElementConnectivitySize); 201 bamgmeshout.NodalConnectivitySize = heapToInts(pNodalConnectivitySize_mesh_out, 2); 202 bamgmeshout.NodalConnectivity = heapToDoubles(pNodalConnectivity_mesh_out, bamgmeshout.NodalConnectivitySize); 203 bamgmeshout.NodalElementConnectivitySize = heapToInts(pNodalElementConnectivitySize_mesh_out, 2); 204 bamgmeshout.NodalElementConnectivity = heapToDoubles(pNodalElementConnectivity_mesh_out, bamgmeshout.NodalElementConnectivitySize); 205 bamgmeshout.CrackedVerticesSize = heapToInts(pCrackedVerticesSize_mesh_out, 2); 206 bamgmeshout.CrackedVertices = heapToDoubles(pCrackedVertices_mesh_out, bamgmeshout.CrackedVerticesSize); 207 bamgmeshout.CrackedEdgesSize = heapToInts(pCrackedEdgesSize_mesh_out, 2); 208 bamgmeshout.CrackedEdges = heapToDoubles(pCrackedEdges_mesh_out, bamgmeshout.CrackedEdgesSize); 209 bamgmeshout.PreviousNumberingSize = heapToInts(pPreviousNumberingSize_mesh_out, 2); 210 bamgmeshout.PreviousNumbering = heapToDoubles(pPreviousNumbering_mesh_out, bamgmeshout.PreviousNumberingSize); 211 212 bamggeomout.VerticesSize = heapToInts(pVerticesSize_geom_out, 2); 213 bamggeomout.Vertices = heapToDoubles(pVertices_geom_out, bamggeomout.VerticesSize); 214 bamggeomout.EdgesSize = heapToInts(pEdgesSize_geom_out, 2); 215 bamggeomout.Edges = heapToDoubles(pEdges_geom_out, bamggeomout.EdgesSize); 216 bamggeomout.CornersSize = heapToInts(pCornersSize_geom_out, 2); 217 bamggeomout.Corners = heapToDoubles(pCorners_geom_out, bamggeomout.CornersSize); 218 bamggeomout.RequiredVerticesSize = heapToInts(pRequiredVerticesSize_geom_out, 2); 219 bamggeomout.RequiredVertices = heapToDoubles(pRequiredVertices_geom_out, bamggeomout.RequiredVerticesSize); 220 bamggeomout.RequiredEdgesSize = heapToInts(pRequiredEdgesSize_geom_out, 2); 221 bamggeomout.RequiredEdges = heapToDoubles(pRequiredEdges_geom_out, bamggeomout.RequiredEdgesSize); 222 bamggeomout.CrackedEdgesSize = heapToInts(pCrackedEdgesSize_geom_out, 2); 223 bamggeomout.CrackedEdges = heapToDoubles(pCrackedEdges_geom_out, bamggeomout.CrackedEdgesSize); 224 bamggeomout.SubDomainsSize = heapToInts(pSubDomainsSize_geom_out, 2); 225 bamggeomout.SubDomains = heapToDoubles(pSubDomains_geom_out, bamggeomout.SubDomainsSize); 192 226 /*}}}*/ 193 227 … … 195 229 196 230 /*Free ressources: */ 231 Module._free(pVerticesSize_mesh_out); 232 Module._free(pVertices_mesh_out); 233 Module._free(pEdgesSize_mesh_out); 234 Module._free(pEdges_mesh_out); 235 Module._free(pTrianglesSize_mesh_out); 236 Module._free(pTriangles_mesh_out); 237 Module._free(pIssmEdgesSize_mesh_out); 238 Module._free(pIssmEdges_mesh_out); 239 Module._free(pIssmSegmentsSize_mesh_out); 240 Module._free(pIssmSegments_mesh_out); 241 Module._free(pVerticesOnGeomVertexSize_mesh_out); 242 Module._free(pVerticesOnGeomVertex_mesh_out); 243 Module._free(pVerticesOnGeomEdgeSize_mesh_out); 244 Module._free(pVerticesOnGeomEdge_mesh_out); 245 Module._free(pEdgesOnGeomEdgeSize_mesh_out); 246 Module._free(pEdgesOnGeomEdge_mesh_out); 247 Module._free(pSubDomainsSize_mesh_out); 248 Module._free(pSubDomains_mesh_out); 249 Module._free(pSubDomainsFromGeomSize_mesh_out); 250 Module._free(pSubDomainsFromGeom_mesh_out); 251 Module._free(pElementConnectivitySize_mesh_out); 252 Module._free(pElementConnectivity_mesh_out); 253 Module._free(pNodalConnectivitySize_mesh_out); 254 Module._free(pNodalConnectivity_mesh_out); 255 Module._free(pNodalElementConnectivitySize_mesh_out); 256 Module._free(pNodalElementConnectivity_mesh_out); 257 Module._free(pCrackedVerticesSize_mesh_out); 258 Module._free(pCrackedVertices_mesh_out); 259 Module._free(pCrackedEdgesSize_mesh_out); 260 Module._free(pCrackedEdges_mesh_out); 261 Module._free(pPreviousNumberingSize_mesh_out); 262 Module._free(pPreviousNumbering_mesh_out); 263 264 Module._free(pVerticesSize_geom_out); 265 Module._free(pVertices_geom_out); 266 Module._free(pEdgesSize_geom_out); 267 Module._free(pEdges_geom_out); 268 Module._free(pCornersSize_geom_out); 269 Module._free(pCorners_geom_out); 270 Module._free(pRequiredVerticesSize_geom_out); 271 Module._free(pRequiredVertices_geom_out); 272 Module._free(pRequiredEdgesSize_geom_out); 273 Module._free(pRequiredEdges_geom_out); 274 Module._free(pCrackedEdgesSize_geom_out); 275 Module._free(pCrackedEdges_geom_out); 276 Module._free(pSubDomainsSize_geom_out); 277 Module._free(pSubDomains_geom_out); 278 197 279 Module._free(pVerticesSize_mesh_in); 198 280 Module._free(pVertices_mesh_in); … … 220 302 Module._free(pRequiredVerticesSize_geom_in); 221 303 Module._free(pRequiredVertices_geom_in); 222 Module._free(pRequired CrackedEdgesSize_geom_in);223 Module._free(pRequired CrackedEdges_geom_in);304 Module._free(pRequiredEdgesSize_geom_in); 305 Module._free(pRequiredEdges_geom_in); 224 306 Module._free(pCrackedEdgesSize_geom_in); 225 307 Module._free(pCrackedEdges_geom_in); 226 308 Module._free(pSubDomainsSize_geom_in); 227 309 Module._free(pSubDomains_geom_in); 228 229 Module._free(pVerticesSize_geom_out);230 Module._free(pVertices_geom_out);231 Module._free(pEdgesSize_geom_out);232 Module._free(pEdges_geom_out);233 Module._free(pCornersSize_geom_out);234 Module._free(pCorners_geom_out);235 Module._free(pRequiredVerticesSize_geom_out);236 Module._free(pRequiredVertices_geom_out);237 Module._free(pRequiredCrackedEdgesSize_geom_out);238 Module._free(pRequiredCrackedEdges_geom_out);239 Module._free(pCrackedEdgesSize_geom_out);240 Module._free(pCrackedEdges_geom_out);241 Module._free(pSubDomainsSize_geom_out);242 Module._free(pSubDomains_geom_out);243 244 Module._free(pVerticesSize_mesh_out);245 Module._free(pVertices_mesh_out);246 Module._free(pEdgesSize_mesh_out);247 Module._free(pEdges_mesh_out);248 Module._free(pTrianglesSize_mesh_out);249 Module._free(pTriangles_mesh_out);250 Module._free(pCrackedEdgesSize_mesh_out);251 Module._free(pCrackedEdges_mesh_out);252 Module._free(pVerticesOnGeomEdgeSize_mesh_out);253 Module._free(pVerticesOnGeomEdge_mesh_out);254 Module._free(pVerticesOnGeomVertexSize_mesh_out);255 Module._free(pVerticesOnGeomVertex_mesh_out);256 Module._free(pEdgesOnGeomEdgeSize_mesh_out);257 Module._free(pEdgesOnGeomEdge_mesh_out);258 Module._free(pIssmSegmentsSize_mesh_out);259 Module._free(pIssmSegments_mesh_out);260 310 261 311 Module._free(phminVerticesSize); -
issm/trunk-jpl/src/wrappers/javascript/Makefile.am
r22878 r22896 83 83 endif 84 84 85 IssmModule_SOURCES = ../Triangle/Triangle.cpp \ 85 IssmModule_SOURCES = ../BamgMesher/BamgMesher.cpp \ 86 ../Triangle/Triangle.cpp \ 86 87 ../NodeConnectivity/NodeConnectivity.cpp\ 87 88 ../ContourToMesh/ContourToMesh.cpp\ … … 92 93 ../Issm/issm.cpp 93 94 94 IssmModule_CXXFLAGS= -fPIC -D_DO_NOT_LOAD_GLOBALS_ --memory-init-file 0 $(AM_CXXFLAGS) $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS) -s EXPORTED_FUNCTIONS="['_ TriangleModule','_NodeConnectivityModule','_ContourToMeshModule','_ElementConnectivityModule','_InterpFromGridToMeshModule','_InterpFromMeshToMesh2dModule','_IssmConfigModule','_IssmModule']" -s DISABLE_EXCEPTION_CATCHING=0 -s ALLOW_MEMORY_GROWTH=1 -s INVOKE_RUN=095 IssmModule_CXXFLAGS= -fPIC -D_DO_NOT_LOAD_GLOBALS_ --memory-init-file 0 $(AM_CXXFLAGS) $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS) -s EXPORTED_FUNCTIONS="['_BamgMesherModule','_TriangleModule','_NodeConnectivityModule','_ContourToMeshModule','_ElementConnectivityModule','_InterpFromGridToMeshModule','_InterpFromMeshToMesh2dModule','_IssmConfigModule','_IssmModule']" -s DISABLE_EXCEPTION_CATCHING=0 -s ALLOW_MEMORY_GROWTH=1 -s INVOKE_RUN=0 95 96 IssmModule_LDADD = ${deps} $(TRIANGLELIB) $(GSLLIB) 96 97 #}}} -
issm/trunk-jpl/src/wrappers/javascript/io/FetchJavascriptData.cpp
r22878 r22896 124 124 } 125 125 /*}}}*/ 126 /*FUNCTION FetchData(BamgGeom** pbamggeom, double* vertices, int nods){{{*/126 /*FUNCTION FetchData(BamgGeom** pbamggeom, 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){{{*/ 127 127 void FetchData(BamgGeom** pbamggeom, 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){ 128 128 … … 143 143 } 144 144 /*}}}*/ 145 /*FUNCTION FetchData(BamgMesh** pbamgmesh, double* vertices, int nods){{{*/145 /*FUNCTION FetchData(BamgMesh** pbamgmesh, int* VerticesSize, double* Vertices, int* EdgesSize, double* Edges, int* TrianglesSize, double* Triangles, int* CrackedEdgesSize, double* CrackedEdges, int* VerticesOnGeomEdgeSize, double* VerticesOnGeomEdge, int* VerticesOnGeomVertexSize, double* VerticesOnGeomVertex, int* EdgesOnGeomEdgeSize, double* EdgesOnGeomEdge, int* IssmSegmentsSize, double* IssmSegments){{{*/ 146 146 void FetchData(BamgMesh** pbamgmesh, int* VerticesSize, double* Vertices, int* EdgesSize, double* Edges, int* TrianglesSize, double* Triangles, int* CrackedEdgesSize, double* CrackedEdges, int* VerticesOnGeomEdgeSize, double* VerticesOnGeomEdge, int* VerticesOnGeomVertexSize, double* VerticesOnGeomVertex, int* EdgesOnGeomEdgeSize, double* EdgesOnGeomEdge, int* IssmSegmentsSize, double* IssmSegments){ 147 147 … … 163 163 } 164 164 /*}}}*/ 165 /*FUNCTION FetchData(Bamg Mesh** pbamgopts, double* vertices, int nods){{{*/166 void FetchData(BamgOpts** pbamgopts, double anisomax, double c utoff, 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, int* hminVerticesSize, double* hminVertices, int* hmaxVerticesSize, double* hmaxVertices, int* hVerticesSize, double* hVertices, int* metricSize, double* metric, int* fieldSize, double* field, int* errSize, double* err){165 /*FUNCTION 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, int* hminVerticesSize, double* hminVertices, int* hmaxVerticesSize, double* hmaxVertices, int* hVerticesSize, double* hVertices, int* metricSize, double* metric, int* fieldSize, double* field, int* errSize, double* err){{{*/ 166 void FetchData(BamgOpts** pbamgopts, double anisomax, double coeff, double cutoff, 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, int* hminVerticesSize, double* hminVertices, int* hmaxVerticesSize, double* hmaxVertices, int* hVerticesSize, double* hVertices, int* metricSize, double* metric, int* fieldSize, double* field, int* errSize, double* err){ 167 167 168 168 BamgOpts *bamgopts = new BamgOpts(); -
issm/trunk-jpl/src/wrappers/javascript/io/WriteJavascriptData.cpp
r22689 r22896 14 14 /*Primitive data types*/ 15 15 /*FUNCTION WriteData(IssmPDouble** pmatrix, int* pnel, int* matrix, int M,int N){{{*/ 16 void WriteData(IssmPDouble** pmatrix, int* pnel, int* matrix, int M,int N){16 void WriteData(IssmPDouble** pmatrix, int* pnel, int* matrix, int M,int N){ 17 17 18 18 if(pmatrix && matrix){ … … 27 27 /*}}}*/ 28 28 /*FUNCTION WriteData(IssmPDouble** pmatrix, int* pM, int* pN, , int* matrix, int M,int N){{{*/ 29 void WriteData(IssmPDouble** pmatrix, int* pM, int* pN, int* matrix, int M, int N){29 void WriteData(IssmPDouble** pmatrix, int* pM, int* pN, int* matrix, int M, int N){ 30 30 31 31 if(pmatrix && matrix){ 32 32 33 33 /*Copy matrix: */ 34 35 for (int i=0;i<M*N;i++) dmatrix[i]=(IssmPDouble)matrix[i];34 IssmPDouble* dmatrix = xNew<IssmPDouble>(M*N); 35 for (int i=0;i<M*N;i++) dmatrix[i]=(IssmPDouble)matrix[i]; 36 36 *pmatrix=dmatrix; 37 37 *pM=M; … … 41 41 /*}}}*/ 42 42 /*FUNCTION WriteData(IssmPDouble** pmatrix, int* pM, IssmPDouble* pN, , int* matrix, int M,int N){{{*/ 43 void WriteData(IssmPDouble** pmatrix, int* pM, int* pN, IssmPDouble* matrix, int M, int N){43 void WriteData(IssmPDouble** pmatrix, int* pM, int* pN, IssmPDouble* matrix, int M, int N){ 44 44 45 45 if(pmatrix && matrix){ … … 47 47 /*Copy matrix: */ 48 48 IssmPDouble* dmatrix = xNew<IssmPDouble>(M*N); 49 for (int i=0;i<M*N;i++) dmatrix[i]=matrix[i];49 for (int i=0;i<M*N;i++) dmatrix[i]=matrix[i]; 50 50 *pmatrix=dmatrix; 51 if(pM)*pM=M;52 if(pN)*pN=N;51 *pM=M; 52 *pN=N; 53 53 } 54 } 55 /*}}}*/ 56 /*FUNCTION WriteData(IssmPDouble** pmatrix, int** pSize, IssmPDouble* matrix, int* size){{{*/ 57 void WriteData(IssmPDouble** pmatrix, int** pSize, IssmPDouble* matrix, int* size){ 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; 54 69 } 55 70 /*}}}*/ … … 120 135 } 121 136 /*}}}*/ 137 138 /*ISSM objects*/ 139 /*FUNCTION 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){{{*/ 140 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){ 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 } 151 /*}}}*/ 152 /*FUNCTION 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){{{*/ 153 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){ 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 } 173 /*}}}*/ -
issm/trunk-jpl/src/wrappers/javascript/io/javascriptio.h
r22878 r22896 18 18 #include "../../../c/shared/shared.h" 19 19 20 void WriteData(IssmPDouble** pmatrix,int* pnel, int* matrix, int M,int N); 21 void WriteData(IssmPDouble** pmatrix,int* pM, int* pN, int* matrix, int M, int N); 22 void WriteData(IssmPDouble** pmatrix,int* pM, int* pN, IssmPDouble* matrix, int M, int N); 20 void WriteData(IssmPDouble** pmatrix, int* pnel, int* matrix, int M,int N); 21 void WriteData(IssmPDouble** pmatrix, int* pM, int* pN, int* matrix, int M, int N); 22 void WriteData(IssmPDouble** pmatrix, int* pM, int* pN, IssmPDouble* matrix, int M, int N); 23 void WriteData(IssmPDouble** pmatrix, int** pSize, IssmPDouble* matrix, int* size); 23 24 void WriteData(IssmPDouble** px, int* pnods, int* vector, int M); 24 25 void WriteData(IssmPDouble** px, int* pnods, double* vector, int M); … … 27 28 void WriteData(IssmPDouble** pdataref, IssmSeqVec<double>* vector); 28 29 void WriteData(IssmPDouble** pdouble, void*); 30 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); 31 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); 29 32 30 33 void FetchData(char** pstring, char* stringin);
Note:
See TracChangeset
for help on using the changeset viewer.