// Qt includes #include #include #include #include // CTKVTK includes #include "ctkVTKObjectEventsObserver.h" // STD includes #include #include // VTK includes #include #include #include #include #include int ctkVTKObjectEventsObserverTest1( int argc, char * argv [] ) { QApplication app(argc, argv); int objects = 1000; int events = 100; vtkObject* obj = vtkObject::New(); QObject* topObject = new QObject(0); ctkVTKObjectEventsObserver* observer = new ctkVTKObjectEventsObserver(topObject); for (int i = 0; i < objects; ++i) { QTimer* slotObject = new QTimer(topObject); observer->addConnection(obj, vtkCommand::ModifiedEvent, slotObject, SLOT(stop())); } vtkSmartPointer timerLog = vtkSmartPointer::New(); timerLog->StartTimer(); for (int i = 0; i < events; ++i) { obj->Modified(); } timerLog->StopTimer(); double t1 = timerLog->GetElapsedTime(); qDebug() << events << "events listened by" << objects << "objects (ctkVTKConnection): " << t1 << "seconds"; obj->Delete(); delete topObject; return EXIT_SUCCESS; }