X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkTrimmedExtrusionFilter.cxx;fp=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkTrimmedExtrusionFilter.cxx;h=886ff894674f0c3cc0d97c090a877ac222f982d4;hb=7be08bdfdb30264f4aa4a82b842cbce9d3cd5fb1;hp=0000000000000000000000000000000000000000;hpb=a58b0ef3e9adb0fd28caeb807b7fd2c904c4363a;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkTrimmedExtrusionFilter.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkTrimmedExtrusionFilter.cxx new file mode 100644 index 0000000..886ff89 --- /dev/null +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkTrimmedExtrusionFilter.cxx @@ -0,0 +1,124 @@ +//===== +// 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) +//===== +#include "bbcreaVtkTrimmedExtrusionFilter.h" +#include "bbcreaVtkPackage.h" + + + +namespace bbcreaVtk +{ + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,TrimmedExtrusionFilter) +BBTK_BLACK_BOX_IMPLEMENTATION(TrimmedExtrusionFilter,bbtk::AtomicBlackBox); +//===== +// 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 TrimmedExtrusionFilter::Process() +{ + +// THE MAIN PROCESSING METHOD BODY +// Here we simply set the input 'In' value to the output 'Out' +// And print out the output value +// INPUT/OUTPUT ACCESSORS ARE OF THE FORM : +// void bbSet{Input|Output}NAME(const TYPE&) +// const TYPE& bbGet{Input|Output}NAME() const +// Where : +// * NAME is the name of the input/output +// (the one provided in the attribute 'name' of the tag 'input') +// * TYPE is the C++ type of the input/output +// (the one provided in the attribute 'type' of the tag 'input') +// bbSetOutputOut( bbGetInputIn() ); +// std::cout << "Output value = " <Delete(); + } + extrusion = vtkTrimmedExtrusionFilter::New(); + std::vector dir=bbGetInputDirection(); + if (dir.size()==3) + { + extrusion->SetExtrusionDirection( dir[0],dir[1],dir[2] ); + } else { + extrusion->SetExtrusionDirection( 1,0,0 ); + } + extrusion->SetInputData( bbGetInputIn() ); + extrusion->SetTrimSurfaceData( bbGetInputIn2() ); + if (bbGetInputType()==0) + { + extrusion->SetExtrusionStrategy(vtkTrimmedExtrusionFilter::BOUNDARY_EDGES); + } else { + extrusion->SetExtrusionStrategy(vtkTrimmedExtrusionFilter::ALL_EDGES); + } + extrusion->Update(); + bbSetOutputOut( extrusion->GetTrimSurface() ); + } else { + printf("EED Warning!!! TrimmedExtrusionFilter::Process Either In or In2 is missing \n"); + } // 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 TrimmedExtrusionFilter::bbUserSetDefaultValues() +{ + +// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX +// Here we initialize the input 'In' to 0 + extrusion=NULL; + bbSetInputIn(NULL); + bbSetInputIn2(NULL); + bbSetInputType(0); + + std::vector dir; + dir.push_back(1); + dir.push_back(0); + dir.push_back(0); + bbSetInputDirection( dir ); + +} +//===== +// 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 TrimmedExtrusionFilter::bbUserInitializeProcessing() +{ + +// THE INITIALIZATION METHOD BODY : +// Here does nothing +// but this is where you should allocate the internal/output pointers +// 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 TrimmedExtrusionFilter::bbUserFinalizeProcessing() +{ + +// THE FINALIZATION METHOD BODY : +// Here does nothing +// but this is where you should desallocate the internal/output pointers +// if any + +} +} +// EO namespace bbcreaVtk + +