X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkMeshReduction_DecimatePro.cxx;h=04b33a218c0d0184a1f4d520206039c54b3cf705;hb=a3620d4e1b64678c8bc31791fd8cb86a80c04256;hp=6848c8acc188f1ef86892beffda2190dc427224d;hpb=65e6726aedff4ac39e4c6c9021ca9b3e9165095d;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.cxx index 6848c8a..04b33a2 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.cxx @@ -15,7 +15,6 @@ BBTK_BLACK_BOX_IMPLEMENTATION(MeshReduction_DecimatePro,bbtk::AtomicBlackBox); //===== void MeshReduction_DecimatePro::Process() { - // THE MAIN PROCESSING METHOD BODY // Here we simply set the input 'In' value to the output 'Out' // And print out the output value @@ -27,51 +26,51 @@ void MeshReduction_DecimatePro::Process() // (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') - - if (firsttime==true) { firsttime = false; decimatepro = vtkDecimatePro::New(); } - decimatepro->SetInputData( bbGetInputIn() ); - decimatepro->SetTargetReduction( bbGetInputTargetReduction() ); - decimatepro->PreserveTopologyOn(); - decimatepro->Update(); - bbSetOutputOut(decimatepro->GetOutput() ); + if (bbGetInputIn()!=NULL) + { + decimatepro->SetInputData( bbGetInputIn() ); + decimatepro->SetTargetReduction( bbGetInputTargetReduction() ); + decimatepro->PreserveTopologyOn(); + decimatepro->Update(); + bbSetOutputOut(decimatepro->GetOutput() ); + } else { + bbSetOutputOut( NULL ); + } // if In } //===== // 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 MeshReduction_DecimatePro::bbUserSetDefaultValues() { - -// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX +// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX // Here we initialize the input 'In' to 0 firsttime = true; decimatepro = NULL; bbSetInputIn(NULL); bbSetInputTargetReduction(0.5); + 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 MeshReduction_DecimatePro::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 MeshReduction_DecimatePro::bbUserFinalizeProcessing() { - // THE FINALIZATION METHOD BODY : // Here does nothing // but this is where you should desallocate the internal/output pointers @@ -80,10 +79,9 @@ void MeshReduction_DecimatePro::bbUserFinalizeProcessing() if (decimatepro!=NULL) { decimatepro->Delete(); - } - -} + } } -// EO namespace bbcreaVtk + +}// EO namespace bbcreaVtk