]> Creatis software - bbtkGEditor.git/commitdiff
Connection with BBTK and capturing black bbox descriptor
authorcorredor <>
Mon, 29 Mar 2010 16:08:59 +0000 (16:08 +0000)
committercorredor <>
Mon, 29 Mar 2010 16:08:59 +0000 (16:08 +0000)
13 files changed:
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.cxx
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GBlackBoxModel.h
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GObjectModel.cxx
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GObjectModel.h
lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectsMVCFactory.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectsMVCFactory.h
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/bbtkwxGUIEditorGraphicBBS.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.h

index aa3675e35b46b8d5ca7e56c936af2c1092fc49ef..4fc3e6840e725f4546f401060e64cb9419f4da6c 100644 (file)
@@ -42,9 +42,7 @@ namespace bbtk
 
        //=========================================================================
        GBlackBoxModel::GBlackBoxModel()
-       {
-
-               
+       {               
        }
 
        //=========================================================================
@@ -53,7 +51,13 @@ namespace bbtk
        }
        //=========================================================================
 
+       void GBlackBoxModel::updateBlackBox(BlackBoxDescriptor::Pointer descriptor)//virtual
+       {
+               _desc=descriptor;
+               std::cout<<"RaC Box author:"<<_desc->GetAuthor()<<std::endl;
+       }
 
+       //=========================================================================
 }  // EO namespace bbtk
 
 // EOF
index 4c10551ef4e912b0c5fa5214e4cc860ed17a46d2..c318acde91850c1cb83708af8d07e20c42de78d8 100644 (file)
@@ -52,6 +52,7 @@ Version:   $Revision$
 //Includes std
 #include <iostream>
 
+
 namespace bbtk
 {
 
@@ -64,19 +65,19 @@ namespace bbtk
                GBlackBoxModel();
                ~GBlackBoxModel();
                
-               //Public methods
-               
+               //Public methods                
+               virtual void updateBlackBox(BlackBoxDescriptor::Pointer descriptor);
 
        private:
 
                //Attributes
-
+               BlackBoxDescriptor::Pointer _desc;
        
                //Private Methods
 
        protected:
                //Protected methods
-
+               
        };
 
 
index 47008daac3513b2f9036f02ad3304fb1ae25cbe3..bcfd60d3b3b2a7429db36b6d7e9175eccdc73316 100644 (file)
@@ -116,6 +116,11 @@ namespace bbtk
 
        //=========================================================================
 
+       void GObjectModel::updateBlackBox(BlackBoxDescriptor::Pointer descriptor)//virtual
+       {
+       }
+
+       //=========================================================================
 }  // EO namespace bbtk
 
 // EOF
index ed0a3e230c642cb904636ac68f705ddfa31a2698..bdffa0667547ab778e2963200ba7a075d47d65a2 100644 (file)
@@ -51,6 +51,8 @@ Version:   $Revision$
 //Includes std
 #include <iostream>
 
+#include <bbtkBlackBoxDescriptor.h>
+
 namespace bbtk
 {
 
@@ -72,6 +74,7 @@ namespace bbtk
                void setState(int state);
                int getState();
                virtual bool isPointInside(double x,double y, double z);
+               virtual void updateBlackBox(BlackBoxDescriptor::Pointer descriptor);
 
        private:
 
index 659856bce77884fec566bb328ca0998f0ec2e303..d9fbd6ce5fb565821c63e2f9a9862ed33abf6257 100644 (file)
@@ -53,6 +53,7 @@ namespace bbtk
 
                        configureBaseView();
 
+                       /* JUST TO TEST
                        vtkConeSource *cone = vtkConeSource::New();
        
                   cone->SetResolution(10);
@@ -95,7 +96,7 @@ namespace bbtk
 
                        getRenderer()->AddActor(_pointVtkActor);
 
-
+                       */
 
                        /////////////////////
 
@@ -120,13 +121,14 @@ namespace bbtk
 
        void wxVtkSceneManager::configureBaseView()
        {
-               vtkInteractorStyleImage *temp = vtkInteractorStyleImage::New();
-               _baseView->GetWxVTKRenderWindowInteractor()->SetInteractorStyle(temp);
+               vtkInteractorStyleImage *style = vtkInteractorStyleImage::New();
+               _baseView->GetWxVTKRenderWindowInteractor()->SetInteractorStyle(style);
                //_baseView->GetRenderer()->SetActiveCamera(_baseView->GetCamera());
            //_baseView->GetRenderer()->ResetCamera ();
                //_baseView->GetCamera()->SetParallelProjection(true);
                
-               _baseView->GetRenderer()->SetBackground(1,1,1);
+               _baseView->GetRenderer()->SetBackground(0.9,0.9,0.9);
+               _baseView->GetRenderer()->GradientBackgroundOff();
                _baseView->Refresh();
        }
 
@@ -141,35 +143,37 @@ namespace bbtk
                vtkGObjectView *view = GObjectsMVCFactory::getInstance()->createGObjectView(type);
                GObjectController* controller = GObjectsMVCFactory::getInstance()->createGObjectController(type);
                
+               BlackBoxDescriptor::Pointer descriptor = GObjectsMVCFactory::getInstance()->getBlackBoxDescriptor(packageName, boxName);
+               
                //Prepares the initial model
-               cout<<"RaC Size:"<<_baseView->GetRenWin()->GetSize()[1]<<endl;
                double xx = x;
                double yy =  _baseView->GetRenWin()->GetSize()[1]-y;
                double zz = 0;
-
                _baseView->TransCoordScreenToWorld(xx,yy,zz);
+               model->setInicPoint(xx,yy,zz);
+               model->updateBlackBox(descriptor);
+
 
                //Associates the view with the correspondent renderer and the  model.
                //(NOTE: Refresh is only made by the view)
-               model->setInicPoint(xx,yy,zz);
                view->setModel(model);
                view->setBaseView(_baseView);
                view->initVtkObjects();
                
-               //Refresh renderwindow with new objects
-               refreshRenderWindow();
-
                //Associates the controller with the correspondent model and view
                controller->setModelAndView(model,view);
+
+               //Refresh renderwindow with new objects
+               refreshRenderWindow();
                
                registerController((InteractorStyleMaracas*) controller);
+
        }
 
        //=========================================================================
 
        void wxVtkSceneManager::registerController(InteractorStyleMaracas *param)
        {
-               cout<<"RaC wxVtkSceneManager::registerController param:"<<param<<endl;
                vtkInteractorStyleBaseView* baseViewControlManager = (vtkInteractorStyleBaseView*)_baseView->GetInteractorStyleBaseView();
                baseViewControlManager->AddInteractorStyleMaracas( param );
        }
@@ -197,7 +201,7 @@ namespace bbtk
 
        bool wxVtkSceneManager::OnMouseMove()
        {
-               cout<<"RaC wxVtkSceneManager::OnMouseMove "<<endl;
+               //cout<<"RaC wxVtkSceneManager::OnMouseMove "<<endl;
                return true;
        }
        //=========================================================================
index fba50c45ef59811a2b094e1db6af6f881e34bd65..278d9c768ef514e457e03d718983c2d434ffca9c 100644 (file)
@@ -87,7 +87,14 @@ bool GObjectController::OnMouseMove()
                {
                        if(_view->isPointInside(X,Y))
                        {
-                               _model->setState(HIGHLIGHTED);                          
+                               _model->setState(HIGHLIGHTED);                  
+                       }                       
+               }
+               if(state==HIGHLIGHTED)
+               {
+                       if(!_view->isPointInside(X,Y))
+                       {
+                               _model->setState(NOTHING_HAPPENS);                      
                        }
                }
                
index a03ae69faab6ca4d9b7107828503f6f607f5721e..9a32bfe61573f323e1afc7c6ab17ce5b36dcccba 100644 (file)
@@ -44,8 +44,14 @@ namespace bbtk
 
        GObjectsMVCFactory* GObjectsMVCFactory:: instance = NULL;
        GObjectsMVCFactory::GObjectsMVCFactory()
-       {
-               
+       {               
+               _interpreter =Interpreter::New();
+               _interpreter->SetCommandLine(true);
+               std::stringstream* buf = new std::stringstream;
+               *buf << "exec freeze_no_error" << std::endl;
+               *buf << "message max 0" << std::endl; 
+               *buf << "include *" << std::endl;
+               _interpreter->InterpretBuffer(buf);     
        }
 
        //=========================================================================
@@ -55,7 +61,15 @@ namespace bbtk
        }
        //=========================================================================
 
+       BlackBoxDescriptor::Pointer GObjectsMVCFactory::getBlackBoxDescriptor(std::string packageName, std::string boxName)
+       {                       
+               Factory::Pointer factory = _interpreter->GetExecuter()->GetFactory();
+               Package::Pointer k = factory->GetPackage(packageName);
+               std::map< std::string, BlackBoxDescriptor::Pointer> mapDesc = k->GetDescriptorMap();
+               return mapDesc[boxName];
+       }
 
+       //=========================================================================
        GObjectsMVCFactory* GObjectsMVCFactory :: getInstance()
        {
                if(instance == NULL){
index d02e18babae72e84dc8745f6c40fc0621a6ccf06..40bf577edf6d3349f291372009988fe60ff3a687 100644 (file)
@@ -58,6 +58,11 @@ Version:   $Revision$
 //Includes std
 #include <iostream>
 
+
+#include <bbtkInterpreter.h>
+#include <bbtkFactory.h>
+#include <bbtkPackage.h>
+
 namespace bbtk
 {
 
@@ -73,14 +78,18 @@ namespace bbtk
                //Public methods
                static GObjectsMVCFactory* getInstance();
                static void destroyInstance();
+               BlackBoxDescriptor::Pointer getBlackBoxDescriptor(std::string packageName, std::string boxName);
                vtkGObjectView* createGObjectView(int type);
                GObjectController* createGObjectController(int type);
                GObjectModel* createGObjectModel(int type);
 
+               Interpreter::Pointer _interpreter;
+
        private:
 
                //Attributes
                static GObjectsMVCFactory* instance;
+               
 
                //Private Methods
 
index 1dc1d7657aafdfcdba96730fa007b4834ae2301f..684670cc4c31f3d8fbd5e7f70a5920f03964210e 100644 (file)
@@ -54,6 +54,15 @@ namespace bbtk
        void vtkGBlackBoxView::refresh()
        {
                //paint();
+               if(_model->getState()==HIGHLIGHTED)
+               {
+                       _objectActor->GetProperty()->SetColor(0.0,0.2,0.5);
+               }
+               else
+               {
+                       _objectActor->GetProperty()->SetColor(0.3,0.2,0.2);
+               }
+               _baseView->GetRenderer()->Render();
        }
 
        //=========================================================================
@@ -93,6 +102,8 @@ namespace bbtk
                _bboxMapper->SetInput(_pd);
                _objectActor->SetMapper(_bboxMapper);
 
+               _objectActor->GetProperty()->SetColor(0.3,0.2,0.2);
+
        }
 
        //=========================================================================
index 7e4d139bf5146c0badb86b7d431e99dabc44ef45..5e322e1a765160ad5e44e2202d9f0f4a9946f2cd 100644 (file)
@@ -64,7 +64,7 @@ namespace bbtk
                {
                        _objectActor->GetProperty()->SetColor(1,0,0);
                }
-
+               _baseView->GetRenderer()->Render();
                //paint();
        }
 
index f2e6e086a58a0aa4986deefee9258e30e904ba5e..2d93e2fa7f454775d5d0b196e40184f3a80f31d9 100644 (file)
@@ -162,8 +162,7 @@ namespace bbtk
                        break;
                case 15 :
                        BlackBoxDescriptor* desc = _pkgBrowser->GetActualSelected();
-                       cout<<"RaC GetActualSelected desc:"<<desc->GetAuthor()<<endl;
-
+                       
                }
        }
 
index d6adae8528c1554746271ecc367f083529176dfa..b6dbb500b0a1fddff97145acaddd7251f951ae45 100644 (file)
@@ -78,8 +78,24 @@ namespace bbtk
        {
                std::string packageName="";
                std::string boxName="";
+
+
+               wxString foo( wxT(data) );
+               char str[150];
+               strcpy( str, (const char*)foo.mb_str(wxConvUTF8) );
+
+               char delims[] = ":";
+                char *result = NULL;
+                result = strtok( str, delims );
+                packageName += result;
+                
+                result = strtok( NULL, delims );
+                boxName += result;
+                
                _sceneManager->createGBlackBox(x,y,packageName, boxName);
-               cout<<"RaC DyD:"<<data<<" x:"<<x<<" y:"<<y<<endl;
+
+               //cout<<"result is pkg:"<<packageName<<" box:"<<boxName<<endl;
+               //cout<<"RaC DyD:"<<data<<" x:"<<x<<" t:"<<y<<endl; 
          return true;
  
        }
index 7ae4841833b75f2ad359bd09b37950a48c835413..5f157fec55214bc9f7b762a4a1be91362f38162d 100644 (file)
@@ -59,6 +59,7 @@ Version:   $Revision$
 
 
 
+
 namespace bbtk
 {