Ignore:
Timestamp:
08/28/18 09:45:51 (7 years ago)
Author:
Mathieu Morlighem
Message:

merged trunk-jpl and trunk for revision 23187

Location:
issm/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk

  • issm/trunk/src

  • issm/trunk/src/wrappers/javascript/io/WriteJavascriptData.cpp

    r22758 r23189  
    1414/*Primitive data types*/
    1515/*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){
     16void WriteData(IssmPDouble** pmatrix, int* pnel, int* matrix, int M,int N){
    1717
    1818        if(pmatrix && matrix){
     
    2727/*}}}*/
    2828/*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){
     29void WriteData(IssmPDouble** pmatrix, int* pM, int* pN, int* matrix, int M, int N){
    3030
    3131        if(pmatrix && matrix){
    3232
    3333                /*Copy matrix: */
    34                 IssmPDouble* dmatrix = xNew<IssmPDouble>(M*N);
    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];
    3636                *pmatrix=dmatrix;
    3737                *pM=M;
     
    4141/*}}}*/
    4242/*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){
     43void WriteData(IssmPDouble** pmatrix, int* pM, int* pN, IssmPDouble* matrix, int M, int N){
    4444
    4545        if(pmatrix && matrix){
     
    4747                /*Copy matrix: */
    4848                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];
    5050                *pmatrix=dmatrix;
    51                 if(pM)*pM=M;
    52                 if(pN)*pN=N;
     51                *pM=M;
     52                *pN=N;
    5353        }
     54}
     55/*}}}*/
     56/*FUNCTION WriteData(IssmPDouble** pmatrix, int** pSize, IssmPDouble* matrix, int* size){{{*/
     57void 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;
    5469}
    5570/*}}}*/
     
    120135}
    121136/*}}}*/
     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){{{*/
     140void 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){{{*/
     153void 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/*}}}*/
Note: See TracChangeset for help on using the changeset viewer.