#include #include #include #include #include #include #include #include #include #include #include #include #include int main( int argc, char* argv[] ) { if( argc < 5 ) { std::cerr << "Usage: " << argv[ 0 ] << " plugins_file" << " input_mesh" << " dimensions pixel_type" << std::endl; return( 1 ); } // fi std::string plugins_file = argv[ 1 ]; std::string input_mesh_file = argv[ 2 ]; unsigned int dimensions = std::atoi( argv[ 3 ] ); std::string pixel_type = argv[ 4 ]; // Create interface typedef cpPlugins::Interface::Interface TInterface; typedef TInterface::TClasses TClasses; TInterface plugins; plugins.Load( plugins_file ); // Create objects typedef cpPlugins::Interface::ProcessObject TProcessObject; typedef cpPlugins::Interface::Parameters TParameters; cpPlugins::Interface::ProcessObject::Pointer reader; reader = plugins.CreateProcessObject( "cpPlugins::Plugins::MeshReader" ); if( reader.IsNull( ) ) { std::cerr << "No suitable reader found in plugins." << std::endl; return( 1 ); } // fi // Configure reader TParameters reader_params = reader->GetDefaultParameters( ); reader_params.SetValueAsString( "FileName", input_mesh_file ); reader_params.SetValueAsString( "PixelType", pixel_type ); reader_params.SetValueAsUint( "MeshDimension", dimensions ); reader->SetParameters( reader_params ); // Execute reader std::string msg = reader->Update( ); if( msg != "" ) std::cerr << "ERROR: " << msg << std::endl; // Create actor vtkSmartPointer< vtkActor > actor = vtkSmartPointer< vtkActor >::New( ); actor->SetMapper( dynamic_cast< cpPlugins::Interface::Mesh* >( reader->GetOutput( 0 ) )-> GetVTKMapper( ) ); actor->GetProperty( )->SetColor( 1, 1, 0 ); actor->GetProperty( )->SetOpacity( 0.5 ); // Configure visualization objects vtkSmartPointer< vtkRenderer > renderer = vtkSmartPointer< vtkRenderer >::New( ); renderer->SetBackground( 0.1, 0.3, 0.5 ); vtkSmartPointer< vtkRenderWindow > window = vtkSmartPointer< vtkRenderWindow >::New( ); window->AddRenderer( renderer ); window->SetSize( 800, 800 ); // Set up the interaction vtkSmartPointer< vtkRenderWindowInteractor > interactor = vtkSmartPointer< vtkRenderWindowInteractor >::New( ); window->SetInteractor( interactor ); // Associate actors renderer->AddActor( actor ); // Begin interaction window->Render( ); interactor->Start( ); return( 0 ); } // eof - $RCSfile$