]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager.h
#3507 Undo and Redo Meshes
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMeshManager.h
index 315ee5dcd947d313e21861f1d341aa7c39ba20a9..02dc68943c26769fea3333cc9fb3a286f1d4be43 100644 (file)
@@ -13,6 +13,8 @@
 namespace bbcreaVtk
 {
 
+class MeshManagerModel_Box;
+
 class bbcreaVtk_EXPORT MeshManager
  : 
    public bbtk::AtomicBlackBox
@@ -22,18 +24,35 @@ class bbcreaVtk_EXPORT MeshManager
 // 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)
 //===== 
   BBTK_DECLARE_INPUT(Mesh,vtkPolyData*);
+  BBTK_DECLARE_INPUT(MeshVector, std::vector<vtkPolyData*>);
   BBTK_DECLARE_OUTPUT(MeshBase,vtkPolyData*);
   BBTK_DECLARE_OUTPUT(MeshTemp,vtkPolyData*);
+  BBTK_DECLARE_OUTPUT(MeshNames,std::vector<std::string>);
   BBTK_DECLARE_OUTPUT(MeshManagerModel,MeshManagerModel*);
+  BBTK_DECLARE_OUTPUT(AllPolyDatas, std::vector<vtkPolyData*>);
+  BBTK_DECLARE_OUTPUT(MeshSelection, int);
   BBTK_PROCESS(Process);
   void Process();
     
-  MeshManagerModel *meshManagerModel;
+  MeshManagerModel_Box *meshManagerModel_Box;
 //===== 
 // 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)
 //===== 
 };
 
+class MeshManagerModel_Box : public MeshManagerModel
+{
+public :
+    MeshManagerModel_Box(MeshManager *box);
+    ~MeshManagerModel_Box();
+    virtual void RefreshOutputs(bool signalBox);
+protected:
+private:
+    MeshManager *mBox;
+};
+
+
+
 BBTK_BEGIN_DESCRIBE_BLACK_BOX(MeshManager,bbtk::AtomicBlackBox);
   BBTK_NAME("MeshManager");
   BBTK_AUTHOR("InfoDev");
@@ -41,9 +60,13 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(MeshManager,bbtk::AtomicBlackBox);
   BBTK_CATEGORY("empty");
 
   BBTK_INPUT(MeshManager,Mesh,"Mesh",vtkPolyData*,"");
+  BBTK_INPUT(MeshManager,MeshVector,"Vector of Meshes",std::vector<vtkPolyData*>,"");
   BBTK_OUTPUT(MeshManager,MeshBase,"Mesh Base",vtkPolyData*,"");
   BBTK_OUTPUT(MeshManager,MeshTemp,"Mesh Temp",vtkPolyData*,"");
+  BBTK_OUTPUT(MeshManager,MeshNames,"Mesh Names",std::vector<std::string>,"");
   BBTK_OUTPUT(MeshManager,MeshManagerModel,"Mesh manager model",MeshManagerModel*,"");
+  BBTK_OUTPUT(MeshManager,AllPolyDatas,"PolyData vector (all mesh bases)",std::vector<vtkPolyData*>,"");
+  BBTK_OUTPUT(MeshManager,MeshSelection,"Current Mesh", int,"");
 
 BBTK_END_DESCRIBE_BLACK_BOX(MeshManager);
 //=====