X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkLinearExtrusionFilter.cxx;h=0c16df888c6381f2b1b20f72c68cbb381ecdd69a;hb=690b561e62bf9835b94cf248a6747b50b0641df7;hp=5d0ea977c3e1ba62ad0f761a7419814bcba95914;hpb=7be08bdfdb30264f4aa4a82b842cbce9d3cd5fb1;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx index 5d0ea97..0c16df8 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx @@ -3,7 +3,7 @@ //===== #include "bbcreaVtkLinearExtrusionFilter.h" #include "bbcreaVtkPackage.h" - +#include namespace bbcreaVtk { @@ -15,7 +15,6 @@ BBTK_BLACK_BOX_IMPLEMENTATION(LinearExtrusionFilter,bbtk::AtomicBlackBox); //===== void LinearExtrusionFilter::Process() { - // THE MAIN PROCESSING METHOD BODY // Here we simply set the input 'In' value to the output 'Out' // And print out the output value @@ -29,23 +28,25 @@ void LinearExtrusionFilter::Process() // (the one provided in the attribute 'type' of the tag 'input') // bbSetOutputOut( bbGetInputIn() ); // std::cout << "Output value = " <Delete(); - } - if (triangleFilter!=NULL) - { - triangleFilter->Delete(); - } + extrude->Delete(); + extrude=NULL; + } + if (triangleFilter!=NULL) + { + triangleFilter->Delete(); + triangleFilter=NULL; + } - extrude = vtkLinearExtrusionFilter::New(); - triangleFilter = vtkTriangleFilter::New(); + if (bbGetInputIn()!=NULL) + { + std::vector dir = bbGetInputDirection(); + extrude = vtkLinearExtrusionFilter::New(); + triangleFilter = vtkTriangleFilter::New(); extrude->SetInputData( bbGetInputIn() ); extrude->SetExtrusionTypeToNormalExtrusion(); - std::vector dir = bbGetInputDirection(); if (dir.size()==3) { extrude->SetVector( dir[0],dir[1],dir[2] ); @@ -57,55 +58,52 @@ void LinearExtrusionFilter::Process() triangleFilter->SetInputData( extrude->GetOutput() ); triangleFilter->Update( ); bbSetOutputOut( triangleFilter->GetOutput() ); - } // if bbGetInputIn + } else { + bbSetOutputOut( NULL ); + }// if bbGetInputIn } + //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== void LinearExtrusionFilter::bbUserSetDefaultValues() { - // SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX // Here we initialize the input 'In' to 0 - extrude = NULL; triangleFilter = NULL; bbSetInputIn(NULL); - std::vector dir; dir.push_back(1); dir.push_back(0); dir.push_back(0); bbSetInputDirection( dir ); bbSetInputScalarFactor(0); - + bbSetOutputOut( NULL ); } + //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== void LinearExtrusionFilter::bbUserInitializeProcessing() { - // THE INITIALIZATION METHOD BODY : // Here does nothing // but this is where you should allocate the internal/output pointers -// if any - - +// if any } + //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== void LinearExtrusionFilter::bbUserFinalizeProcessing() { - // THE FINALIZATION METHOD BODY : // Here does nothing // but this is where you should desallocate the internal/output pointers // if any - } -} -// EO namespace bbcreaVtk + +} // EO namespace bbcreaVtk