c++ - How to make the code flow without closing the VTK render window? -
i'm using visual studio 2010, vtk 5.6 , configure projects without using cmake.
i'm dealing numerical computing , want generate several plots during runtime using vtk. starting line plot example given in vtk web page managed generate plot want. problem code doesn't continue without closing plot window.
from "main.cpp" file, send command header file, vtk procedure initiated.
residualplotter(x,xdim1d);
"residualplotter" function generates plot. it's given below:
int residualplotter(double* res, int size) { // create table points in vtksmartpointer<vtktable> table = vtksmartpointer<vtktable>::new(); vtksmartpointer<vtkfloatarray> arrx = vtksmartpointer<vtkfloatarray>::new(); arrx->setname("x axis"); table->addcolumn(arrx); vtksmartpointer<vtkfloatarray> arrf = vtksmartpointer<vtkfloatarray>::new(); arrf->setname("function"); table->addcolumn(arrf); // fill in table example values table->setnumberofrows(size); (int = 0; < size; ++i) { table->setvalue(i, 0, i); table->setvalue(i, 1, res[i]); } // set view vtksmartpointer<vtkcontextview> view = vtksmartpointer<vtkcontextview>::new(); view->getrenderer()->setbackground(1.0, 1.0, 1.0); view->getrenderwindow()->setsize(800,600); // add multiple line plots, setting colors etc vtksmartpointer<vtkchartxy> chart = vtksmartpointer<vtkchartxy>::new(); view->getscene()->additem(chart); vtkplot *line = chart->addplot(vtkchart::line); line->setinput(table, 0, 1); line->setcolor(0, 100, 0, 255); line->setwidth(1.75); // set interactor , start vtksmartpointer<vtkrenderwindowinteractor> renderwindowinteractor = vtksmartpointer<vtkrenderwindowinteractor>::new(); renderwindowinteractor->setrenderwindow(view->getrenderwindow()); renderwindowinteractor->initialize(); renderwindowinteractor->start(); return exit_success; }
so, want code continue without need close window. how should modify code?
thank all.
if want render plot, else, update , render again can skip renderwindowinteractor code, , call
view->render();
this render plot data supplied, , control return code. can continue doing , call render() on view whenever want see updated chart.
Comments
Post a Comment