#ifndef __wxVtkSceneManager_h__
#define __wxVtkSceneManager_h__
+//Includes same project
+#include "GObjectsMVCFactory.h"
+#include "Observer.h"
+#include "GPortModel.h"
+#include "GConnectorView.h"
+
+//Includes bbtk
+#include <bbtkBlackBoxInputDescriptor.h>
+#include <bbtkBlackBoxDescriptor.h>
+
//Includes creaMaracasVisu
#include <wxVtk3DBaseView.h>
#include <InteractorStyleMaracas.h>
+#include <vtkInteractorStyleBaseView2D.h>
+#include <manualContourControler.h>
+#include <manualContourModel.h>
+
+//Includes vtk
+#include <vtkRenderWindow.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkRenderer.h>
+#include <vtkInteractorStyleImage.h>
+
+#include <vtkVectorText.h>
+#include <vtkLinearExtrusionFilter.h>
//Includes std
#include <iostream>
+#include <map>
+
namespace bbtk
{
- class wxVtkSceneManager : public InteractorStyleMaracas
+ class wxVtkSceneManager : public InteractorStyleMaracas , public Observer
{
public:
- wxVtkSceneManager(wxVtk3DBaseView *baseView, int id);
+ wxVtkSceneManager(wxDropTarget *parent, wxVtk3DBaseView *baseView, int id);
~wxVtkSceneManager();
void configureBaseView();
- //void addGBox(double x=0, double y=0);
+ void createGBlackBox(int x, int y,std::string packageName, std::string boxName);
+ void createGInputPort(BlackBoxInputDescriptor *desc,GBlackBoxModel *blackBox, int pos);
+ void createGOutputPort(BlackBoxOutputDescriptor *desc,GBlackBoxModel *blackBox, int pos);
+ void createGConnector(GPortModel* startPort);
+
+ void registerController(InteractorStyleMaracas *param);
+
+ vtkRenderWindow* getRenderWindow();
+ vtkRenderer* getRenderer();
+
+ void disconnectDrop();
+
+ virtual bool OnMouseMove();
+
+ virtual void update(int command);
private:
int _id;
wxVtk3DBaseView *_baseView;
+ std::vector<GObjectModel*> _objects;
+ std::vector<GObjectModel*> _selectedObjects;
+
protected:
};