#include #ifdef cpExtensions_QT4 #include #include #include #include #include #include #include #include #include /* TODO #include #include #include #include #include */ #endif // cpExtensions_QT4 //---------------------------------------------------------------------------- int main( int argc, char* argv[] ) { #ifdef cpExtensions_QT4 // Manage inputs if( argc < 2 ) { std::cerr << "Usage: " << argv[ 0 ] << " image_file(s)" << std::endl; return( 1 ); } // fi // Create interface cpPlugins::Interface::Plugins::Pointer interface = cpPlugins::Interface::Plugins::New( ); try { interface->LoadEnvironments( ); interface->GuessPlugins( ); } catch( std::exception& err ) { std::cerr << "Error caught: " << err.what( ) << std::endl; return( 1 ); } // yrt // Create workspace typedef cpPlugins::Interface::Workspace _TWorkspace; _TWorkspace::Pointer ws = _TWorkspace::New( ); ws->PrintExecutionOn( ); // Configure filters auto reader = ws->CreateFilter( "IO", "ImageReader", "reader" ); auto widget = ws->CreateFilter( "Widgets", "SplineWidget", "spline" ); ws->Connect( "reader", "spline", "Output", "Input" ); auto params = reader->GetParameters( ); for( int i = 1; i < argc; ++i ) params->AddToOpenFileNameList( "FileNames", argv[ i ] ); // Execute reader try { reader->Update( ); } catch( std::exception& err ) { std::cerr << "Error caugth: " << err.what( ) << std::endl; return( 1 ); } // yrt // Qt initialization QApplication app( argc, argv ); QMainWindow wnd; wnd.setGeometry( 0, 0, 1024, 768 ); cpExtensions::QT::ImageWidget view( &wnd ); view.SetImage( reader->GetOutputData< vtkImageData >( "Output" ), 2, "image" ); widget->AddInteractor( view.GetInteractor( ) ); widget->Update( ); // Start application and show data wnd.setCentralWidget( &view ); wnd.show( ); int r = app.exec( ); widget->Modified( ); widget->Update( ); widget->GetOutputData< vtkPolyData >( "Output" )->Print( std::cout ); return( r ); #else // cpExtensions_QT4 return( 0 ); #endif // cpExtensions_QT4 } // eof - $RCSfile$