DeleteGLTree.cpp 958 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
#include "mex.h"
#include "GLTree.cpp"
/* the gateway function */
//la chiamata deve essere DeleteGLtree(Tree)

void mexFunction( int nlhs, mxArray *plhs[1], 
                  int nrhs, const mxArray *prhs[1])
{
    
    
    //dichiarazione variabili
    GLTREE* Tree;
    double *ptrtree;
    
    
    
     if(nrhs!=1){ mexErrMsgTxt("Only one input supported.");}
    
    
    
    
    ptrtree = mxGetPr(prhs[0]);//puntatore all'albero precedentemente fornito
    
    
    Tree=(GLTREE*)((long)(ptrtree[0]));//ritrasformo il puntatore passato
    
    if(Tree==NULL)
    { mexErrMsgTxt("Invalid tree pointer");
    }
    
    
    //chiamo il distruttore
    
     delete Tree;
//    Tree.~GLTREE();
    
   
   
    
    
    
    
    
    //trying to remake it a tree pointer
    // verifico se la conversione riporta al puntatore originario
    //ptr=(GLTREE*)(long(ptrtree[0]));
    // mexPrintf("puntatore= %4.4x\n",ptr);
    
    
    
}