#include "Cutter.h" #include #include #include #include #include // ------------------------------------------------------------------------- cpPlugins::BasicFilters::Cutter:: Cutter( ) : Superclass( ) { this->SetNumberOfInputs( 2 ); this->SetNumberOfOutputs( 1 ); this->_MakeOutput< cpPlugins::Interface::Mesh >( 0 ); } // ------------------------------------------------------------------------- cpPlugins::BasicFilters::Cutter:: ~Cutter( ) { } // ------------------------------------------------------------------------- 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 ); 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 ); out->SetVTK( cutter->GetOutput( ) ); return( "" ); } // eof - $RCSfile$