]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/BasicFilters/Cutter.cxx
...
[cpPlugins.git] / lib / cpPlugins / Plugins / BasicFilters / Cutter.cxx
index 32a7c5a3b1e3ad1af7c1a1cdb69d52df5ba279ca..a0b051d16c7d173977a9894edc5458f17f9c2b62 100644 (file)
@@ -5,19 +5,17 @@
 #include <vtkCutter.h>
 #include <vtkProperty.h>
 
+
+#include <vtkPlane.h>
+
 // -------------------------------------------------------------------------
 cpPlugins::BasicFilters::Cutter::
 Cutter( )
   : Superclass( )
 {
-  this->m_ClassName = "cpPlugins::BasicFilters::Cutter";
-  this->m_ClassCategory = "MeshToMeshFilter";
-
-  this->SetNumberOfInputs( 2 );
-  this->SetNumberOfOutputs( 1 );
-  this->_MakeOutput< cpPlugins::Interface::Mesh >( 0 );
-
-  this->m_Parameters = this->m_DefaultParameters;
+  this->_AddInput( "InputMesh", true );
+  this->_AddInput( "InputFunction", true );
+  this->_AddOutput< cpPlugins::Interface::Mesh >( "Output" );
 }
 
 // -------------------------------------------------------------------------
@@ -31,22 +29,24 @@ std::string cpPlugins::BasicFilters::Cutter::
 _GenerateData( )
 {
   // Get inputs
-  cpPlugins::Interface::Mesh* mesh =
-    this->GetInput< cpPlugins::Interface::Mesh >( 0 );
-  cpPlugins::Interface::ImplicitFunction* function =
-    this->GetInput< cpPlugins::Interface::ImplicitFunction >( 1 );
+  auto mesh = this->GetInputData< cpPlugins::Interface::Mesh >( "InputMesh" );
+  auto function =
+    this->GetInputData< cpPlugins::Interface::ImplicitFunction >(
+      "InputFunction"
+      );
   if( function == NULL )
     return( "Cutter: Input data 1 is not a valid implicit function." );
 
   vtkCutter* cutter = this->_CreateVTK< vtkCutter >( );
+  cutter->DebugOn( );
   cutter->SetInputData( mesh->GetVTK< vtkPolyData >( ) );
   cutter->SetCutFunction( function->GetVTK< vtkImplicitFunction >( ) );
+  cutter->SetValue( 0, 1 );
   cutter->GenerateTrianglesOff( );
   cutter->Update( );
 
   // Execute filter
-  cpPlugins::Interface::Mesh* out =
-    this->GetOutput< cpPlugins::Interface::Mesh >( 0 );
+  auto out = this->GetOutputData< cpPlugins::Interface::Mesh >( "Output" );
   out->SetVTK( cutter->GetOutput( ) );
 
   return( "" );