#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" );
}
// -------------------------------------------------------------------------
_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( "" );