X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkMeshManager_tool.cxx;h=af15435ffdf8500aac153a788b7cd89cc5fef748;hb=a3620d4e1b64678c8bc31791fd8cb86a80c04256;hp=e39e25fd66ef4e531c2a0d259875f32b3b1d3871;hpb=4c66cb9b724ca030dfd569b546521f700baadacb;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager_tool.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager_tool.cxx index e39e25f..af15435 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager_tool.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager_tool.cxx @@ -31,12 +31,20 @@ void MeshManager_tool::Process() { if (bbGetInputTool()==10) // Undo { - printf("EED Warning! MeshManager_tool Undo Not implemented.\n"); + bbGetInputMeshManagerModel()->Undo(); + std::vector outData = bbGetInputMeshManagerModel()->GetReferencePoint(); + std::vector refNormal = bbGetInputMeshManagerModel()->GetReferenceNormal(); + outData.insert(outData.end(), refNormal.begin(), refNormal.end()); + bbSetOutputOut(outData); } // if Tool 10 Undo if (bbGetInputTool()==20) // Redo { - printf("EED Warning! MeshManager_tool Redo Not implemented.\n"); + bbGetInputMeshManagerModel()->Redo(); + std::vector outData = bbGetInputMeshManagerModel()->GetReferencePoint(); + std::vector refNormal = bbGetInputMeshManagerModel()->GetReferenceNormal(); + outData.insert(outData.end(), refNormal.begin(), refNormal.end()); + bbSetOutputOut(outData); } // if Tool 20 Redo if (bbGetInputTool()==30) // Set @@ -54,7 +62,16 @@ void MeshManager_tool::Process() { bbGetInputMeshManagerModel()->SetMeshMemoryMode( bbGetInputMesh() ); } // if Tool 35 Set memory mode - + if(bbGetInputTool() == 37) // Save State Memory Mode + { + if(bbGetInputDoubleParams().size() == 8){ + std::vector point = {bbGetInputDoubleParams()[0], bbGetInputDoubleParams()[1], bbGetInputDoubleParams()[2]}; + bbGetInputMeshManagerModel()->SetReferencePoint(point); + std::vector normVect = {bbGetInputDoubleParams()[3], bbGetInputDoubleParams()[4], bbGetInputDoubleParams()[5]}; + bbGetInputMeshManagerModel()->SetReferenceNormal(normVect); + bbGetInputMeshManagerModel()->SaveMemoryMode(); + } + } if (bbGetInputTool()==32) // Copy and Set { bbGetInputMeshManagerModel()->CopySetMeshBase( bbGetInputMesh() ); @@ -70,14 +87,7 @@ void MeshManager_tool::Process() { if(bbGetInputMeshes().size() > 1) { - if(bbGetInputMeshManagerModel()->GetNumberOfMeshes() == 1){ - bbGetInputMeshManagerModel()->DeleteAll(); - } - if(bbGetInputMeshManagerModel()->GetNumberOfMeshes() > 1) - { - bbGetInputMeshManagerModel()->DeleteCurrentMesh(); - } - bbGetInputMeshManagerModel()->InsertMeshesAtCurrent(bbGetInputMeshes()); + bbGetInputMeshManagerModel()->ReplaceMesh(bbGetInputMeshes()); } } if(bbGetInputTool() == 60) // Select Mesh by Name @@ -94,6 +104,7 @@ void MeshManager_tool::Process() } else { printf("EED Warning! MeshManager_tool : MeshManagerModel not defined. \n"); }// if MeshManagerModel != NULL + } //=====