]> Creatis software - cpPlugins.git/blobdiff - appli/examples/example_ReadQuadEdgeMesh.cxx
...
[cpPlugins.git] / appli / examples / example_ReadQuadEdgeMesh.cxx
index 655acad6f10d1dd8519add128f1a101db38c4542..49f7d6adf000d460c294ab818eba2b88243248da 100644 (file)
@@ -19,7 +19,7 @@ int main( int argc, char* argv[] )
   } // fi
   std::string plugins_file = argv[ 1 ];
   std::string input_mesh_file = argv[ 2 ];
-  std::string dimensions = argv[ 3 ];
+  unsigned int dimensions = std::atoi( argv[ 3 ] );
   std::string pixel_type = argv[ 4 ];
 
   // Create interface
@@ -31,14 +31,11 @@ int main( int argc, char* argv[] )
 
   // Create objects
   typedef cpPlugins::Interface::ProcessObject TProcessObject;
-  typedef TProcessObject::TParameters         TParameters;
-  cpPlugins::Interface::ProcessObject* reader;
+  typedef cpPlugins::Interface::Parameters    TParameters;
+  cpPlugins::Interface::ProcessObject::Pointer reader;
 
-  reader =
-    dynamic_cast< TProcessObject* >(
-      plugins.CreateObject( "cpPlugins::Plugins::MeshReader" )
-      );
-  if( reader == NULL )
+  reader = plugins.CreateProcessObject( "cpPlugins::Plugins::MeshReader" );
+  if( reader.IsNull( ) )
   {
     std::cerr << "No suitable reader found in plugins." << std::endl;
     return( 1 );
@@ -47,9 +44,9 @@ int main( int argc, char* argv[] )
 
   // Configure reader
   TParameters reader_params = reader->GetDefaultParameters( );
-  reader_params[ "FileName" ].second = input_mesh_file;
-  reader_params[ "PixelType" ].second = pixel_type;
-  reader_params[ "MeshDimension" ].second = dimensions;
+  reader_params.SetValueAsString( "FileName", input_mesh_file );
+  reader_params.SetValueAsString( "PixelType", pixel_type );
+  reader_params.SetValueAsUint( "MeshDimension", dimensions );
   reader->SetParameters( reader_params );
 
   // Execute reader
@@ -58,9 +55,6 @@ int main( int argc, char* argv[] )
   if( msg != "" )
     std::cerr << "ERROR: " << msg << std::endl;
 
-  // Free memory
-  delete reader;
-
   return( 0 );
 }