2 #include <cpPlugins/Interface/ImplicitFunction.h>
3 #include <cpPlugins/Interface/Mesh.h>
6 #include <vtkProperty.h>
11 // -------------------------------------------------------------------------
12 cpPlugins::BasicFilters::Cutter::
16 this->m_ClassName = "cpPlugins::BasicFilters::Cutter";
17 this->m_ClassCategory = "MeshToMeshFilter";
19 this->SetNumberOfInputs( 2 );
20 this->SetNumberOfOutputs( 1 );
21 this->_MakeOutput< cpPlugins::Interface::Mesh >( 0 );
23 this->m_Parameters = this->m_DefaultParameters;
26 // -------------------------------------------------------------------------
27 cpPlugins::BasicFilters::Cutter::
32 // -------------------------------------------------------------------------
33 std::string cpPlugins::BasicFilters::Cutter::
37 cpPlugins::Interface::Mesh* mesh =
38 this->GetInput< cpPlugins::Interface::Mesh >( 0 );
39 cpPlugins::Interface::ImplicitFunction* function =
40 this->GetInput< cpPlugins::Interface::ImplicitFunction >( 1 );
41 if( function == NULL )
42 return( "Cutter: Input data 1 is not a valid implicit function." );
44 vtkCutter* cutter = this->_CreateVTK< vtkCutter >( );
46 cutter->SetInputData( mesh->GetVTK< vtkPolyData >( ) );
47 cutter->SetCutFunction( function->GetVTK< vtkImplicitFunction >( ) );
48 cutter->SetValue( 0, 1 );
49 cutter->GenerateTrianglesOff( );
53 cpPlugins::Interface::Mesh* out =
54 this->GetOutput< cpPlugins::Interface::Mesh >( 0 );
55 out->SetVTK( cutter->GetOutput( ) );