X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkMeshManager.cxx;h=1110d244ae54e2dbc2a01a77fec2047bc3b91705;hb=9075226c98f81d6936ec2869d429a7155be2b627;hp=cb4cca82146eacf3fbfeb8ca1810acf8ce9c1679;hpb=ccd9515764b83d719668120ccf8496a8fc6e804b;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager.cxx index cb4cca8..1110d24 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager.cxx @@ -6,6 +6,29 @@ namespace bbcreaVtk { +MeshManagerModel_Box::MeshManagerModel_Box( MeshManager *box ) +{ + mBox=box; +} + +MeshManagerModel_Box::~MeshManagerModel_Box( ) +{ +} + +void MeshManagerModel_Box::RefreshOutputs(bool signalBox) +{ + mBox->bbSetOutputMeshBase( GetMeshBase() ); + mBox->bbSetOutputMeshTemp( GetMeshTemp() ); + mBox->bbSetOutputMeshNames( GetMeshNames() ); + mBox->bbSetOutputAllPolyDatas( GetAllPolyDatas() ); + mBox->bbSetOutputMeshSelection( GetCurrentMesh() ); + if(signalBox==true) + { + mBox->bbSignalOutputModification(); + } +} + + BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,MeshManager) BBTK_BLACK_BOX_IMPLEMENTATION(MeshManager,bbtk::AtomicBlackBox); //===== @@ -26,14 +49,25 @@ void MeshManager::Process() // (the one provided in the attribute 'type' of the tag 'input') // bbSetOutputOut( bbGetInputIn() ); // std::cout << "Output value = " <SetMeshBase( bbGetInputMesh() ); - bbSetOutputMeshBase( meshManagerModel->GetMeshBase() ); - bbSetOutputMeshTemp( meshManagerModel->GetMeshTemp() ); - bbSetOutputMeshManagerModel( meshManagerModel ); - } + meshManagerModel_Box = new MeshManagerModel_Box(this); + if(bbGetInputMemoryMode() == false){ + meshManagerModel_Box->MeshMemoryModeOff(); + meshManagerModel_Box->AddMeshes_( bbGetInputMeshVector() ); + meshManagerModel_Box->AddMesh_( bbGetInputMesh() ); + meshManagerModel_Box->ResetHistory(); + } else { + meshManagerModel_Box->MeshMemoryModeOn(); + meshManagerModel_Box->SetHistory(50); + meshManagerModel_Box->AddMesh_( bbGetInputMesh() ); + meshManagerModel_Box->SaveMemoryMode(); + } + //meshManagerModel_Box->SetMeshBase( bbGetInputMesh() ); + meshManagerModel_Box->RefreshOutputs(false); + bbSetOutputMeshManagerModel( meshManagerModel_Box ); + } // if meshManagerModel_Box } //===== @@ -44,7 +78,7 @@ void MeshManager::bbUserSetDefaultValues() // SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX // Here we initialize the input 'In' to 0 // bbSetInputIn(0); - meshManagerModel = NULL; + meshManagerModel_Box = NULL; bbSetInputMesh(NULL); }