]> Creatis software - cpPlugins.git/blob - appli/examples/plugins/example_ShowSphere.cxx
...
[cpPlugins.git] / appli / examples / plugins / example_ShowSphere.cxx
1 #include <iostream>
2 #include <cpPlugins/Interface.h>
3
4 #include <vtkRenderer.h>
5 #include <vtkRenderWindow.h>
6 #include <vtkRenderWindowInteractor.h>
7 #include <vtkSmartPointer.h>
8
9 int main( int argc, char* argv[] )
10 {
11   // Load interface
12   cpPlugins::Interface* interface = NULL;
13   try
14   {
15     interface = new cpPlugins::Interface( );
16     interface->GuessAccesiblePlugins( );
17   }
18   catch( std::exception& err )
19   {
20     if( interface != NULL )
21       delete interface;
22     std::cerr
23       << "Error caught: "
24       << err.what( )
25       << std::endl;
26     return( 1 );
27
28   } // yrt
29
30   // Create filters
31   cpPlugins::ProcessObject::Pointer sphere;
32   int ret = 0;
33   try
34   {
35     sphere = interface->Create( "MeshSources", "SphereSource" );
36     if( sphere.IsNull( ) )
37     {
38       std::cerr
39         << "\"MeshSources::SphereSource\" creation failed."
40         << std::endl;
41       ret = 1;
42
43     } // fi
44   }
45   catch( std::exception& err )
46   {
47     std::cerr
48       << "Filter creation failed: "
49       << err.what( )
50       << std::endl;
51     ret = 1;
52
53   } // yrt
54   sphere->GetParameters( )->SetReal( "Radius", 5 );
55   sphere->GetParameters( )->SetUint( "ThetaResolution", 100 );
56   sphere->GetParameters( )->SetUint( "PhiResolution", 100 );
57   sphere->Update( );
58
59   // Prepare scene
60   vtkSmartPointer< vtkRenderer > ren =
61     vtkSmartPointer< vtkRenderer >::New( );
62   ren->SetBackground( 0, 0, 0 );
63   ren->AddActor( sphere->GetOutput( "Output" )->GetVTKActor( ) );
64
65   vtkSmartPointer< vtkRenderWindow > win =
66     vtkSmartPointer< vtkRenderWindow >::New( );
67   win->AddRenderer( ren );
68   win->SetSize( 500, 500 );
69
70   vtkSmartPointer< vtkRenderWindowInteractor > iren =
71     vtkSmartPointer< vtkRenderWindowInteractor >::New( );
72   iren->SetRenderWindow( win );
73
74   iren->Initialize( );
75   ren->Render( );
76   ren->ResetCamera( );
77   iren->Start( );
78
79   // Ok finish
80   delete interface;
81   return( ret );
82 }
83
84 // eof - $RCSfile$