+ class wxVtkSceneManager : public InteractorStyleMaracas, public Observer {
+ public:
+
+ wxVtkSceneManager( wxGEditorTabPanel *parent, wxVtk3DBaseView *baseView, int idManager );
+ ~ wxVtkSceneManager( );
+ void disconnectDrop( );
+
+ //-------
+ void configureBaseView( );
+ void registerController( InteractorStyleMaracas *param );
+ void unregisterController( InteractorStyleMaracas *param );
+
+ virtual bool OnChar( );
+ virtual bool OnMouseMove( );
+ virtual bool OnLeftButtonDown( );
+ virtual bool OnLeftButtonUp( );
+ virtual bool OnRightButtonUp( );
+ virtual bool OnLeftDClick( );
+
+ //-------
+ int createGBlackBox( int x, int y, std::string packageName, std::string boxType );
+ int createGComplexBoxInputPort( std::string inputName );
+ int createGComplexBoxOutputPort( std::string outputName );
+ GPortController* createGPort( int portType, std::string bbtkName, std::string bbtkType, int posinBox, GBoxModel *blackBox );
+ int createGInputPort( int portType, int posinBox, GBoxModel *blackBox, BlackBoxInputDescriptor *desc );
+ int createGOutputPort( int portType, int posinBox, GBoxModel *blackBox, BlackBoxOutputDescriptor *desc );
+ int createGConnector( GPortModel* startPort );
+
+ void configGBlackBox( int idBox, double xIn, double yIn, double zIn, std::string name, bool boxExecutable, double xEn, double yEn, double zEn );
+ int configGConnetion( std::string nameStartBox, std::string nameStartPort, std::string
+ nameEndBox, std::string nameEndPort );
+ void configGComBoxInputOutputPort( bool inputoutput, std::string inputPortName, double xIn, double yIn, double zIn );
+ GBoxModel* findGBox( std::string boxname );
+
+ vtkRenderWindow* getRenderWindow( );
+ vtkRenderer* getRenderer( );
+
+ virtual void update( int idController, int command );
+
+ void refresh( );
+ void refreshScene( );
+ void displayBlackBoxInfo( std::string packageName, std::string boxName );
+ void updateStatusBar( std::string textStatus );
+
+ //-------
+ //Get a collection of object ids
+ std::vector<int> getBlackBoxes( );
+ std::vector<int> getConnections( );
+ std::vector<int> getComplexInputPorts( );
+ std::vector<int> getComplexOutputPorts( );
+
+ //Get the map of selected objects (id, controller)
+ std::map<int, GObjectController*> getSelectedObjects( );
+
+ //Get size of selected objects map
+ int getNumSelectedObjects( );
+
+ //Complex box edition mode
+ bool isComplexBox( );
+ void setComplexBox( bool val );
+
+ //-------
+ //Add an object to the list of controllers
+ int addObjectController( GObjectController* objController );
+
+ //Add a map of object controllers
+ void addObjects( std::map<int, GObjectController*> objectsMap );
+
+
+ //-------
+ //Returns a string with the BBS script of the current diagram.
+ std::string getDiagramBBS( bool wln = false );