//===== // 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 "bbcreaVtkMeshReduction_DecimatePro.h" #include "bbcreaVtkPackage.h" namespace bbcreaVtk { BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,MeshReduction_DecimatePro) BBTK_BLACK_BOX_IMPLEMENTATION(MeshReduction_DecimatePro,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 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 // 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') if (firsttime==true) { firsttime = false; decimatepro = vtkDecimatePro::New(); } printf("EED MeshReduction_DecimatePro::DoProcess %s %p \n", bbGetFullName().c_str(), bbGetInputIn() ); 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 // 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 } //===== // 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 // if any if (decimatepro!=NULL) { decimatepro->Delete(); } } } // EO namespace bbcreaVtk