c++ - Program Stops automatically right after a short render -


i'm having small issue vtk. when launch program, starts render , automatically stops while should keep on rendering. cannot see error may come from. wrote other piece of code exact same rendering works fine.

so here constructor of class:

drawing::drawing(void) {     translation = vtksmartpointer<vtktransform>::new();     ctxview = vtkcontextview::new();     win = ctxview->getrenderwindow();     ren = ctxview->getrenderer();     cam = ren->getactivecamera();      ren->setbackground(.0,.0,.0); } 

here piece of code not working:

void drawing::read(){      std::string filename = bunny;     // read data file     vtksmartpointer<vtkxmlpolydatareader> reader =vtksmartpointer<vtkxmlpolydatareader>::new();     reader->setfilename(filename.c_str());     reader->update();      cout << "file found , loaded : " << filename << endl ;      vtksmartpointer<vtkpolydatamapper> mapper = vtksmartpointer<vtkpolydatamapper>::new();     mapper->setinputconnection(reader->getoutputport());      mainactor = vtksmartpointer<vtkactor>::new();     mainactor->setmapper(mapper);      ren->addactor(mainactor);      win->polygonsmoothingon();     win->render();     win->start(); } 

and here piece of code working:

void otherread(){     std::string filename = bunny;     // read data file     vtksmartpointer<vtkxmlpolydatareader> reader =vtksmartpointer<vtkxmlpolydatareader>::new();     reader->setfilename(filename.c_str());     reader->update();      cout << "file found , loaded : " << filename << endl ;      // visualize     vtksmartpointer<vtkpolydatamapper> mapper = vtksmartpointer<vtkpolydatamapper>::new();     mapper->setinputconnection(reader->getoutputport());      mainactor = vtksmartpointer<vtkactor>::new();     mainactor->setmapper(mapper);      vtksmartpointer<vtkrenderer> renderer = vtksmartpointer<vtkrenderer>::new();     vtksmartpointer<vtkrenderwindow> renderwindow = vtksmartpointer<vtkrenderwindow>::new();     renderwindow->addrenderer(renderer);     vtksmartpointer<vtkrenderwindowinteractor> renderwindowinteractor = vtksmartpointer<vtkrenderwindowinteractor>::new();     renderwindowinteractor->setrenderwindow(renderwindow);      vtkrenderwindowinteractor *iren = vtkrenderwindowinteractor::new();     iren->setrenderwindow(renderwindow);      vtkinteractorstylemultitouchcamera *style =     vtkinteractorstylemultitouchcamera::new();     iren->setinteractorstyle(style);      renderer->addactor(mainactor);     renderer->setbackground(0,0,0); // background color green      renderwindow->polygonsmoothingon();     renderwindow->render();     renderwindowinteractor->start(); } 

i don't know if it's vtk or c++ problem actually. output of not-working piece of code few milliseconds window , program exists while otherread() gives normal rendering without exiting program.

thanks in advance help

so indeed vtk problem. 1 basic might still not easy figure out when you're starting vtk. i'm posting answer, documentation not big on vtk might other newbies. in fact, event loop window has started. can done following lines:

vtkrenderwindowinteractor *iren = vtkrenderwindowinteractor::new(); iren->setrenderwindow(win); vtkinteractorstylemultitouchcamera *style = vtkinteractorstylemultitouchcamera::new(); iren->setinteractorstyle(style);  //start event loop iren->initialize(); iren->start(); 

hope helps :)


Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -