#include <vtkCutter.h>
#include <vtkProperty.h>
-// -------------------------------------------------------------------------
-vtkAlgorithm* cpPlugins::BasicFilters::Cutter::
-GetVTKAlgorithm( )
-{
- return( this->m_Algorithm );
-}
-// -------------------------------------------------------------------------
-const vtkAlgorithm* cpPlugins::BasicFilters::Cutter::
-GetVTKAlgorithm( ) const
-{
- return( this->m_Algorithm );
-}
+#include <vtkPlane.h>
// -------------------------------------------------------------------------
cpPlugins::BasicFilters::Cutter::
Cutter( )
- : Superclass( ),
- m_Algorithm( NULL )
+ : 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" );
+ this->_AddInput( "InputFunction" );
+ this->_MakeOutput< cpPlugins::Interface::Mesh >( "Output" );
}
// -------------------------------------------------------------------------
cpPlugins::BasicFilters::Cutter::
~Cutter( )
{
- if( this->m_Algorithm != NULL )
- this->m_Algorithm->Delete( );
}
// -------------------------------------------------------------------------
{
// Get inputs
cpPlugins::Interface::Mesh* mesh =
- this->GetInput< cpPlugins::Interface::Mesh >( 0 );
+ this->GetInput< cpPlugins::Interface::Mesh >( "InputMesh" );
cpPlugins::Interface::ImplicitFunction* function =
- this->GetInput< cpPlugins::Interface::ImplicitFunction >( 1 );
+ this->GetInput< cpPlugins::Interface::ImplicitFunction >(
+ "InputFunction"
+ );
if( function == NULL )
return( "Cutter: Input data 1 is not a valid implicit function." );
- if( this->m_Algorithm != NULL )
- this->m_Algorithm->Delete( );
-
- vtkCutter* cutter = vtkCutter::New( );
- cutter->SetInputData( mesh->GetVTKMesh( ) );
- cutter->SetCutFunction( function->GetVTKImplicitFunction( ) );
+ vtkCutter* cutter = this->_CreateVTK< vtkCutter >( );
+ cutter->DebugOn( );
+ cutter->SetInputData( mesh->GetVTK< vtkPolyData >( ) );
+ cutter->SetCutFunction( function->GetVTK< vtkImplicitFunction >( ) );
+ cutter->SetValue( 0, 1 );
cutter->GenerateTrianglesOff( );
- this->m_Algorithm = cutter;
+ cutter->Update( );
// Execute filter
- this->m_Algorithm->Update( );
cpPlugins::Interface::Mesh* out =
- this->GetOutput< cpPlugins::Interface::Mesh >( 0 );
- out->SetVTKMesh( this->m_Algorithm->GetOutput( ) );
+ this->GetOutput< cpPlugins::Interface::Mesh >( "Output" );
+ out->SetVTK( cutter->GetOutput( ) );
return( "" );
}