Пример #1
0
void main() {	
    init();
    // Main process loop.
    while(1) {
        // Read ADC inputs
        processMat();
    }
}
Пример #2
0
void MatWindow::setTexture(Ogre::Entity* ent)
{
    //Remove old materials
    for(int i=0; i<=treeMat->topLevelItemCount(); ++i){
        QTreeWidgetItem* item = treeMat->topLevelItem(i);
        delete item;
        item = treeMat->takeTopLevelItem(i);
        delete item;
        item = 0;
    }
    QTreeWidgetItem* item = treeMat->takeTopLevelItem(0);
    delete item;
    item = 0;

    //add new materials
    for(unsigned int i=0; i<ent->getNumSubEntities(); ++i){
        QTreeWidgetItem* item = new QTreeWidgetItem(treeMat);
        item->setText(0, ent->getSubEntity(i)->getMaterialName().c_str());
    }
    treeMat->setCurrentItem(treeMat->topLevelItem(0));
    QTreeWidgetItem* currentItem = treeMat->currentItem();

    processMat(currentItem);
}
Пример #3
0
void mexFunction( int nlhs, mxArray *plhs[], 
		  int nrhs, const mxArray*prhs[] )
     
{ 
    double *A; 
    double *C,*D; 
    int rC, cC, rD, cD, ntemp; 
    int  dims[3];
    
    /* Check for proper number of arguments */
    if (nrhs != 2)
    { 
        mexErrMsgTxt("Two input arguments required."); 
    } 
    else if (nlhs > 1) 
    {
        mexErrMsgTxt("Too many output arguments."); 
    } 
    
    /* Check the dimensions of D.  D can be m * 1 or 1 * n. */ 
    rD = mxGetM(D_IN); 
    cD = mxGetN(D_IN);   /* F = length(D) */
    if(cD == 1)
    {
        ntemp = rD;
        rD = cD;
        cD = ntemp;
    }
    
    if (!mxIsDouble(C_IN) || !mxIsDouble(D_IN)/*|| (MIN(r, f) != 1)*/) 
    {
        mexErrMsgTxt("processMat requires the input arguments must be of type double."); 
    } 
   
    /* [r, c] = size(C) */
    rC = mxGetM(C_IN);
    cC = mxGetN(C_IN);
       
     /* Create a matrix for the return argument */ 
    dims[0] = rC;
    dims[1] = cC;    
    dims[2] = cD;
    A_OUT = mxCreateNumericArray(3, dims, mxDOUBLE_CLASS, mxREAL);
    /* Assign pointers to the various parameters */ 
    A = mxGetPr(A_OUT);
    
    C = mxGetPr(C_IN); 
    D = mxGetPr(D_IN);
        
    /* Do the actual computations in a subroutine */
    processMat(A, C, D, rC, cC, rD, cD);
    
   /* Reshape the out put */
    if(rC ==1)
    {
        if( cC == 1)
        {
            mxSetM(A_OUT, cD);
            mxSetN(A_OUT, cC);
        }
        else
        {
            mxSetM(A_OUT, cC);
            mxSetN(A_OUT, cD);
        }
    }
    else if(cC == 1)
    {
        mxSetM(A_OUT, rC);
        mxSetN(A_OUT, cD);
    }    
    return;    
}