]> Creatis software - creaVtk.git/blob - bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager.h
#3507 Undo and Redo Meshes
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMeshManager.h
1 //===== 
2 // 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)
3 //===== 
4 #ifndef __bbcreaVtkMeshManager_h_INCLUDED__
5 #define __bbcreaVtkMeshManager_h_INCLUDED__
6
7 #include "bbcreaVtk_EXPORT.h"
8 #include "bbtkAtomicBlackBox.h"
9 #include "iostream"
10 #include <vtkPolyData.h>
11 #include <MeshManagerModel.h>
12
13 namespace bbcreaVtk
14 {
15
16 class MeshManagerModel_Box;
17
18 class bbcreaVtk_EXPORT MeshManager
19  : 
20    public bbtk::AtomicBlackBox
21 {
22   BBTK_BLACK_BOX_INTERFACE(MeshManager,bbtk::AtomicBlackBox);
23 //===== 
24 // 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)
25 //===== 
26   BBTK_DECLARE_INPUT(Mesh,vtkPolyData*);
27   BBTK_DECLARE_INPUT(MeshVector, std::vector<vtkPolyData*>);
28   BBTK_DECLARE_INPUT(MemoryMode, bool);
29   BBTK_DECLARE_OUTPUT(MeshBase,vtkPolyData*);
30   BBTK_DECLARE_OUTPUT(MeshTemp,vtkPolyData*);
31   BBTK_DECLARE_OUTPUT(MeshNames,std::vector<std::string>);
32   BBTK_DECLARE_OUTPUT(MeshManagerModel,MeshManagerModel*);
33   BBTK_DECLARE_OUTPUT(AllPolyDatas, std::vector<vtkPolyData*>);
34   BBTK_DECLARE_OUTPUT(MeshSelection, int);
35   BBTK_PROCESS(Process);
36   void Process();
37     
38   MeshManagerModel_Box *meshManagerModel_Box;
39 //===== 
40 // 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)
41 //===== 
42 };
43
44 class MeshManagerModel_Box : public MeshManagerModel
45 {
46 public :
47     MeshManagerModel_Box(MeshManager *box);
48     ~MeshManagerModel_Box();
49     virtual void RefreshOutputs(bool signalBox);
50 protected:
51 private:
52     MeshManager *mBox;
53 };
54
55
56
57 BBTK_BEGIN_DESCRIBE_BLACK_BOX(MeshManager,bbtk::AtomicBlackBox);
58   BBTK_NAME("MeshManager");
59   BBTK_AUTHOR("InfoDev");
60   BBTK_DESCRIPTION("No Description.");
61   BBTK_CATEGORY("empty");
62
63   BBTK_INPUT(MeshManager,Mesh,"Mesh",vtkPolyData*,"");
64   BBTK_INPUT(MeshManager,MeshVector,"Vector of Meshes",std::vector<vtkPolyData*>,"");
65   BBTK_INPUT(MeshManager,MemoryMode,"Memory Mode, default false", bool,"");
66   BBTK_OUTPUT(MeshManager,MeshBase,"Mesh Base",vtkPolyData*,"");
67   BBTK_OUTPUT(MeshManager,MeshTemp,"Mesh Temp",vtkPolyData*,"");
68   BBTK_OUTPUT(MeshManager,MeshNames,"Mesh Names",std::vector<std::string>,"");
69   BBTK_OUTPUT(MeshManager,MeshManagerModel,"Mesh manager model",MeshManagerModel*,"");
70   BBTK_OUTPUT(MeshManager,AllPolyDatas,"PolyData vector (all mesh bases)",std::vector<vtkPolyData*>,"");
71   BBTK_OUTPUT(MeshManager,MeshSelection,"Current Mesh", int,"");
72
73 BBTK_END_DESCRIBE_BLACK_BOX(MeshManager);
74 //===== 
75 // 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)
76 //===== 
77 }
78 // EO namespace bbcreaVtk
79
80 #endif // __bbcreaVtkMeshManager_h_INCLUDED__
81