void main() { init(); // Main process loop. while(1) { // Read ADC inputs processMat(); } }
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); }
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; }