Changeset 12085


Ignore:
Timestamp:
04/20/12 14:27:19 (13 years ago)
Author:
Mathieu Morlighem
Message:

Fixed WriteData

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/modules/TriMeshProcessRifts/TriMeshProcessRifts.cpp

    r12081 r12085  
    196196
    197197        /*Output : */
    198         pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
    199         mxSetM(pmxa_array,3);
    200         mxSetN(pmxa_array,nel);
    201         mxSetPr(pmxa_array,index_in);
    202         mexCallMATLAB( 1, &plhs[0], 1, &pmxa_array, "transpose");
    203 
    204         pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
    205         mxSetM(pmxa_array,1);
    206         mxSetN(pmxa_array,nods);
    207         mxSetPr(pmxa_array,x_in);
    208         mexCallMATLAB( 1, &plhs[1], 1, &pmxa_array, "transpose");
    209 
    210         pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
    211         mxSetM(pmxa_array,1);
    212         mxSetN(pmxa_array,nods);
    213         mxSetPr(pmxa_array,y_in);
    214         mexCallMATLAB( 1, &plhs[2], 1, &pmxa_array, "transpose");
    215 
    216        
    217         pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
    218         mxSetM(pmxa_array,3);
    219         mxSetN(pmxa_array,num_seg);
    220         mxSetPr(pmxa_array,segments_in);
    221         mexCallMATLAB( 1, &plhs[3], 1, &pmxa_array, "transpose");
    222        
    223 
    224         pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
    225         mxSetM(pmxa_array,1);
    226         mxSetN(pmxa_array,num_seg);
    227         mxSetPr(pmxa_array,segmentmarkers_in);
    228         mexCallMATLAB( 1, &plhs[4], 1, &pmxa_array, "transpose");
     198        WriteData(&plhs[0],index_in,nel,3);
     199        //pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
     200        //mxSetM(pmxa_array,3);
     201        //mxSetN(pmxa_array,nel);
     202        //mxSetPr(pmxa_array,index_in);
     203        //mexCallMATLAB( 1, &plhs[0], 1, &pmxa_array, "transpose");
     204
     205        WriteData(&plhs[1],x_in,nods,1);
     206        //pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
     207        //mxSetM(pmxa_array,1);
     208        //mxSetN(pmxa_array,nods);
     209        //mxSetPr(pmxa_array,x_in);
     210        //mexCallMATLAB( 1, &plhs[1], 1, &pmxa_array, "transpose");
     211
     212        WriteData(&plhs[2],y_in,nods,1);
     213        //pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
     214        //mxSetM(pmxa_array,1);
     215        //mxSetN(pmxa_array,nods);
     216        //mxSetPr(pmxa_array,y_in);
     217        //mexCallMATLAB( 1, &plhs[2], 1, &pmxa_array, "transpose");
     218
     219        WriteData(&plhs[3],segments_in,num_seg,3);
     220//pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
     221//mxSetM(pmxa_array,3);
     222//mxSetN(pmxa_array,num_seg);
     223//mxSetPr(pmxa_array,segments_in);
     224//mexCallMATLAB( 1, &plhs[3], 1, &pmxa_array, "transpose");
     225
     226        WriteData(&plhs[4],segmentmarkers_in,num_seg,1);
     227        //pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
     228        //mxSetM(pmxa_array,1);
     229        //mxSetN(pmxa_array,num_seg);
     230        //mxSetPr(pmxa_array,segmentmarkers_in);
     231        //mexCallMATLAB( 1, &plhs[4], 1, &pmxa_array, "transpose");
    229232
    230233        if(riftflag){
     
    247250               
    248251                for (i=0;i<out_numrifts;i++){
     252
    249253                        /*Segments: */
    250                         pmxa_array2= mxCreateDoubleMatrix(0,0,mxREAL);
    251                         mxSetM(pmxa_array2,3);
    252                         mxSetN(pmxa_array2,out_riftsnumsegments[i]);
    253                         mxSetPr(pmxa_array2,out_riftssegments[i]);
    254                         mexCallMATLAB( 1, &pmxa_array3, 1, &pmxa_array2, "transpose");
    255                        
     254                        WriteData(&pmxa_array3,out_riftssegments[i],out_riftsnumsegments[i],3);
     255                        //pmxa_array2= mxCreateDoubleMatrix(0,0,mxREAL);
     256                        //mxSetM(pmxa_array2,3);
     257                        //mxSetN(pmxa_array2,out_riftsnumsegments[i]);
     258                        //mxSetPr(pmxa_array2,out_riftssegments[i]);
     259                        //mexCallMATLAB( 1, &pmxa_array3, 1, &pmxa_array2, "transpose");
    256260                        mxSetField(pmxa_array,i,"segments",pmxa_array3);
    257261                        mxSetField(pmxa_array,i,"numsegs",mxCreateDoubleScalar((double)out_riftsnumsegments[i]));
    258262
    259263                        /*Element pairs: */
    260                         pmxa_array2= mxCreateDoubleMatrix(0,0,mxREAL);
    261                         mxSetM(pmxa_array2,2);
    262                         mxSetN(pmxa_array2,out_riftsnumpairs[i]);
    263                         mxSetPr(pmxa_array2,out_riftspairs[i]);
    264                         mexCallMATLAB( 1, &pmxa_array3, 1, &pmxa_array2, "transpose");
    265                        
     264                        WriteData(&pmxa_array3,out_riftspairs[i],out_riftsnumpairs[i],2);
     265                        //pmxa_array2= mxCreateDoubleMatrix(0,0,mxREAL);
     266                        //mxSetM(pmxa_array2,2);
     267                        //mxSetN(pmxa_array2,out_riftsnumpairs[i]);
     268                        //mxSetPr(pmxa_array2,out_riftspairs[i]);
     269                        //mexCallMATLAB( 1, &pmxa_array3, 1, &pmxa_array2, "transpose");
    266270                        mxSetField(pmxa_array,i,"pairs",pmxa_array3);
    267271
     
    269273                        pmxa_array2= mxCreateDoubleMatrix(0,0,mxREAL);
    270274                        mxSetM(pmxa_array2,1);
    271                         pair=(double*)xmalloc(2*sizeof(double));
     275                        pair=(double*)mxMalloc(2*sizeof(double));
    272276                        pair[0]=*(out_riftstips+2*i+0);
    273277                        pair[1]=*(out_riftstips+2*i+1);
     
    277281
    278282                        /*Penalty pairs: */
    279                         pmxa_array2= mxCreateDoubleMatrix(0,0,mxREAL);
    280                         mxSetM(pmxa_array2,7);
    281                         mxSetN(pmxa_array2,out_riftsnumpenaltypairs[i]);
    282                         mxSetPr(pmxa_array2,out_riftspenaltypairs[i]);
    283                         mexCallMATLAB( 1, &pmxa_array3, 1, &pmxa_array2, "transpose");
    284                        
     283                        WriteData(&pmxa_array3,out_riftspenaltypairs[i],out_riftsnumpenaltypairs[i],7);
     284                        //pmxa_array2= mxCreateDoubleMatrix(0,0,mxREAL);
     285                        //mxSetM(pmxa_array2,7);
     286                        //mxSetN(pmxa_array2,out_riftsnumpenaltypairs[i]);
     287                        //mxSetPr(pmxa_array2,out_riftspenaltypairs[i]);
     288                        //mexCallMATLAB( 1, &pmxa_array3, 1, &pmxa_array2, "transpose");
    285289                        mxSetField(pmxa_array,i,"penaltypairs",pmxa_array3);
    286290
     
    292296
    293297                        /*State: */
    294                         state=(double*)xmalloc(out_riftsnumpenaltypairs[i]*sizeof(double));
     298                        state=(double*)mxMalloc(out_riftsnumpenaltypairs[i]*sizeof(double));
    295299                        for(j=0;j<out_riftsnumpenaltypairs[i];j++)state[j]=FreeEnum;
    296300                        pmxa_array2= mxCreateDoubleMatrix(0,0,mxREAL);
     
    305309        else{
    306310                /*output NaN :*/
    307                 pNaN=(double*)xmalloc(sizeof(double));
     311                pNaN=(double*)mxMalloc(sizeof(double));
    308312                *pNaN=NAN;
    309313                pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
Note: See TracChangeset for help on using the changeset viewer.