]> Creatis software - bbtkGEditor.git/commitdiff
First prototype works. Basic boxes construction, evenct handling and colors represent...
authorcorredor <>
Fri, 2 Apr 2010 15:14:34 +0000 (15:14 +0000)
committercorredor <>
Fri, 2 Apr 2010 15:14:34 +0000 (15:14 +0000)
17 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/GPortModel.cxx
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GPortModel.h
lib/EditorGraphicBBS/bbsKernelEditorGraphic/GlobalConstants.h
lib/EditorGraphicBBS/bbsKernelEditorGraphic/Observable.cxx
lib/EditorGraphicBBS/bbsKernelEditorGraphic/Observer.h
lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.cxx
lib/EditorGraphicBBS/bbsKernelEditorGraphic/wxVtkSceneManager.h
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/GObjectController.h
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGObjectView.cxx
lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGPortView.cxx
lib/EditorGraphicBBS/bbsWxGUIEditorGraphic/wxGEditorTabPanel.cxx

index 186c745baf1c189e64f20d7e6c5b23915ad77945..2a2081f463a1bec9826708452acaf87bfa475fc0 100644 (file)
@@ -51,6 +51,16 @@ namespace bbtk
        }
        //=========================================================================
 
+       void GBlackBoxModel::setInicPoint(double& x, double& y, double& z)
+       {
+               GObjectModel::setInicPoint(x,y,z);
+
+               double xFin=x+BOX_WIDTH,yFin=y-BOX_HEIGHT;
+               setFinalPoint(xFin,yFin,z);
+       }
+
+       //=========================================================================
+
        void GBlackBoxModel::addInputPort(GPortModel *inputport)
        {
                _inputs.push_back(inputport);
@@ -65,6 +75,20 @@ namespace bbtk
 
        //=========================================================================
 
+       int GBlackBoxModel::getNumInputPorts()
+       {
+               return _inputs.size();
+       }
+
+       //=========================================================================
+
+       int GBlackBoxModel::getNumOutputPorts()
+       {
+               return _outputs.size();
+       }
+
+       //=========================================================================
+
 }  // EO namespace bbtk
 
 // EOF
index 87c47142b060230ab4df5b2929e30542fbe500c6..5536e00a5104b1e37b9a6e8a3bd3295c3f3dd893 100644 (file)
@@ -68,8 +68,11 @@ namespace bbtk
                ~GBlackBoxModel();
                
                //Public methods                
+               virtual void setInicPoint(double& x, double& y, double& z);
                void addInputPort(GPortModel *inputport);
                void addOutputPort(GPortModel *outputport);
+               int getNumInputPorts();
+               int getNumOutputPorts();
 
 
        private:
index 4ab7fbf4647d3f12b99a463d013e7534bd7bc6af..4752ec9595d6414bc1adc71812582e7d6e081e45 100644 (file)
@@ -69,8 +69,8 @@ namespace bbtk
 
        void GObjectModel::getFinalPoint(double& x, double& y, double& z)
        {
-               x = _xInic+BOX_SIDE;
-               y = _yInic-BOX_SIDE;
+               x = _xFin;
+               y = _yFin;
                z = _zFin;
        }
        //=========================================================================
@@ -123,9 +123,13 @@ namespace bbtk
        bool GObjectModel::isPointInside(double x,double y, double z)//virtual
        {
                if(x>=_xInic && x<=_xFin && y<=_yInic && y>=_yFin)
+               {
                        return true;
+               }
                else
+               {
                        return false;
+               }
        }
 
        //=========================================================================
index 1145843392254225e8ce7e75db96b086f076d852..4dfc47791b056f24e89dd10f7a979b6506d86302 100644 (file)
@@ -71,8 +71,8 @@ namespace bbtk
                
                void getInicPoint(double& x, double& y, double& z);
                void getFinalPoint(double& x, double& y, double& z);
-               void setInicPoint(double& x, double& y, double& z);
-               void setFinalPoint(double& x, double& y, double& z);
+               virtual void setInicPoint(double& x, double& y, double& z);
+               virtual void setFinalPoint(double& x, double& y, double& z);
                void setState(int state);
                int getState();
 
index ded26739afc74b094774cbcf908593c4855441a9..82940f85e46ccaaf298f4105c668b016cd819bf2 100644 (file)
@@ -44,6 +44,7 @@ namespace bbtk
        GPortModel::GPortModel()
        {               
                _parentBox = NULL;
+               _portType=-1;
        }
 
        //=========================================================================
@@ -52,9 +53,37 @@ namespace bbtk
        }
        //=========================================================================
 
-       void GPortModel::registerInBox(GBlackBoxModel *blackBox)
+       void GPortModel::registerInBox(GBlackBoxModel *blackBox,int portType)
        {
                _parentBox = blackBox;
+               _portType = portType;
+
+               double xInic, yInic,zInic,xFin,yFin,zFin;
+               _parentBox->getInicPoint(xInic,yInic,zInic);
+               _parentBox->getFinalPoint(xFin, yFin,zFin);
+               
+               int cant = 0;
+               double posX=xInic,posY=yInic,posZ=zInic;
+               if(_portType==GOUTPUTPORT)
+               {
+                       cant = _parentBox->getNumOutputPorts();
+                       posY = yInic+PORT_HEIGHT;
+               }
+               else if(_portType==GINPUTPORT)
+               {
+                       cant = _parentBox->getNumInputPorts();
+                       posY = yFin;
+               }
+
+               posX = xInic + PORT_WIDTH + cant*2*PORT_WIDTH;
+               
+               setInicPoint(posX,posY,posZ);
+
+               posX=posX+PORT_WIDTH;
+               posY=posY-PORT_HEIGHT;
+
+               setFinalPoint(posX,posY,posZ);
+
        }
 
        //=========================================================================
index 8df71bf9fe6aa85baf5b4eaee15d3beb69bf4f5e..1d6fa3e47e0f52ac251d0a638b079a27d2208b8d 100644 (file)
@@ -46,6 +46,7 @@ Version:   $Revision$
 //Includes same project
 #include "GlobalConstants.h"
 #include "GObjectModel.h"
+#include "GBlackBoxModel.h"
 
 //Includes creaMaracasVisu
 
@@ -68,13 +69,15 @@ namespace bbtk
                ~GPortModel();
                
                //Public methods                
-               void registerInBox(GBlackBoxModel *blackBox);
+               void registerInBox(GBlackBoxModel *blackBox,int portType);
        private:
 
                //Attributes
                
                GBlackBoxModel *_parentBox;
 
+               int _portType;
+
                //Private Methods
 
        protected:
index 364c9026ca431f875db5a16a8c1aa5f3175daecc..112822f745bfab71fa4ff382becb58cacbc8a3cb 100644 (file)
@@ -58,7 +58,27 @@ namespace bbtk
        const int SELECTED=105;
 
        // Object dimensions
-       const double BOX_SIDE=1.0;
+       const double BOX_HEIGHT=0.1;
+       const double BOX_WIDTH=1.0;
+       const double PORT_HEIGHT=0.04;
+       const double PORT_WIDTH=0.04;
+
+       // Colors (object_state_(R|G|B))
+       const double BOXCONTOUR_NH_R=0.0;
+       const double BOXCONTOUR_NH_G=0.0;
+       const double BOXCONTOUR_NH_B=0.0;
+
+       const double BOXCONTOUR_HIGHLIGHTED_R=0.05;
+       const double BOXCONTOUR_HIGHLIGHTED_G=0.35;
+       const double BOXCONTOUR_HIGHLIGHTED_B=0.55;
+
+       const double BOXCONTOUR_DRAG_R=0.75;
+       const double BOXCONTOUR_DRAG_G=0.75;
+       const double BOXCONTOUR_DRAG_B=0.75;
+
+       const double BOXCONTOUR_SELECTED_R=0.65;
+       const double BOXCONTOUR_SELECTED_G=0.65;
+       const double BOXCONTOUR_SELECTED_B=0.05;
 }
 // namespace bbtk
 #endif
index a8de6d834f5ea724976a19cdd2b214acedca821a..9b6a4f5622804528a8cb1f9b99735de67545e084 100644 (file)
@@ -64,7 +64,6 @@ namespace bbtk
                if(_changed)
                {
                        int i;
-                       
                        for(i=0;i<_observers.size();i++)
                        {
                                _observers[i]->update();
@@ -84,6 +83,7 @@ namespace bbtk
 
        void Observable::addObserver(Observer *observer)
        {
+               std::cout<<"RaC Observable::addObserver "<<observer<<std::endl;
                _observers.push_back(observer);
        }
 
index e01c4d10035dbc12146f1bd1dfa15b7d39b7257c..ac8ad9e01b22682b1b27446f8b0872071fe7088f 100644 (file)
@@ -59,7 +59,7 @@ namespace bbtk
                ~Observer();
                
                //Public methods
-               void update();
+               virtual void update();
                
                
        private:
index f238a734a9c25eb2e12e679edbbce0a900047804..bbe321e5195144670282d474a359aaf0a5c1a2bb 100644 (file)
@@ -50,10 +50,11 @@ namespace bbtk
                        
                        _baseView->GetWxVTKRenderWindowInteractor()->SetDropTarget(parent);
                        registerController(this);
-
                        configureBaseView();
 
-                       /*//JUST TO TEST
+                       ///// ******* TO ERASE *******
+                       //JUST TO TEST
+                       //
                        vtkConeSource *cone = vtkConeSource::New();
        
                   cone->SetResolution(10);
@@ -65,9 +66,6 @@ namespace bbtk
                        
                   act->SetMapper(map);
                        
-                       /////////////////////
-
-
                   vtkPoints *_pts = vtkPoints::New();
                        _pts->SetNumberOfPoints(4);
 
@@ -95,16 +93,10 @@ namespace bbtk
                        _pointVtkActor->SetMapper(_bboxMapper);
 
                        getRenderer()->AddActor(_pointVtkActor);
-
                        
-*/
+                       // ******* TO ERASE *******
                        /////////////////////
-
-                  //getRenderer()->AddActor(act);
-               
-                  //getRenderer()->Render();
-
-
+                       
                }
        }
 
@@ -125,27 +117,30 @@ namespace bbtk
 
                _baseView->SetInteractorStyleBaseView(interactorstylebaseview);
 
+               // Important to activate the 2D interaction system
                wxVTKRenderWindowInteractor *iren = _baseView->GetWxVTKRenderWindowInteractor();
                interactorstylebaseview->SetInteractor ( iren );
                iren->SetInteractorStyle(interactorstylebaseview);
                interactorstylebaseview->SetwxVtkBaseView(_baseView);
-
-               //_baseView->GetRenderer()->SetActiveCamera(_baseView->GetCamera());
-           //_baseView->GetRenderer()->ResetCamera ();
-               //_baseView->GetCamera()->SetParallelProjection(true);
                
                _baseView->GetRenderer()->SetBackground(0.9,0.9,0.9);
                _baseView->GetRenderer()->GradientBackgroundOff();
                _baseView->Refresh();
+
        }
 
        //=========================================================================
 
        void wxVtkSceneManager::createGBlackBox(int x, int y, std::string packageName, std::string boxName)
        {
+
+               int windowWidth=_baseView->GetRenWin()->GetSize()[0];
+               int windowHeight=_baseView->GetRenWin()->GetSize()[1];
+
                int type = GBLACKBOX;
 
                //Create the MVC Objects
+               
                GBlackBoxModel *model = (GBlackBoxModel*)GObjectsMVCFactory::getInstance()->createGObjectModel(type);
                vtkGObjectView *view = GObjectsMVCFactory::getInstance()->createGObjectView(type);
                GObjectController* controller = GObjectsMVCFactory::getInstance()->createGObjectController(type);
@@ -153,44 +148,39 @@ namespace bbtk
                BlackBoxDescriptor::Pointer descriptor = GObjectsMVCFactory::getInstance()->getBlackBoxDescriptor(packageName, boxName);
                
                //Prepares the initial model
+               //The coordinates obtained are the following. Top-Left:x=0,y=0 Bottom-Right:x=width,y=height  
+
                double xx = x;
-               double yy =  _baseView->GetRenWin()->GetSize()[1]-y;
+               double yy =  windowHeight-y;
+               
+               //z value is not important yet, because it is only used a parallel projection
                double zz = 0;
+
                _baseView->TransCoordScreenToWorld(xx,yy,zz);
                model->setInicPoint(xx,yy,zz);
+               
                model->addObserver(view);
 
                //Iterate and create the input ports
                std::map<std::string, BlackBoxInputDescriptor*> descriptorInMap = descriptor->GetInputDescriptorMap();
                std::map<std::string, BlackBoxInputDescriptor*>::iterator itInput;
 
-               //ERASE
-               cantTemp=0;
-
                for(itInput = descriptorInMap.begin(); itInput != descriptorInMap.end(); ++itInput)
                {
                        BlackBoxInputDescriptor *desc = itInput->second;
                        createGInputPort(desc,model);
-                       
-                       //ERASE
-                       cantTemp+=2;
                }
 
-
                //Iterate and create the output ports
                std::map<std::string, BlackBoxOutputDescriptor*> descriptorOutMap = descriptor->GetOutputDescriptorMap();
                std::map<std::string, BlackBoxOutputDescriptor*>::iterator itOutput;
 
-               //ERASE
-               cantTemp=0;
 
                for(itOutput = descriptorOutMap.begin();itOutput != descriptorOutMap.end(); ++itOutput)
                {
                        BlackBoxOutputDescriptor *desc = itOutput->second;
                        createGOutputPort(desc,model);
                        
-                       //ERASE
-                       cantTemp+=2;
                }
 
 
@@ -203,8 +193,9 @@ namespace bbtk
                //Associates the controller with the correspondent model and view
                controller->setModelAndView(model,view);
 
-               //Refresh renderwindow with new objects
-               refreshRenderWindow();
+               //Resgiter change to the observers of the actual model
+               model->setChanged();
+               model->notifyObservers();
                
                //Register the controller of the new object
                registerController((InteractorStyleMaracas*) controller);
@@ -225,19 +216,9 @@ namespace bbtk
                vtkGObjectView *view = GObjectsMVCFactory::getInstance()->createGObjectView(type);
                GObjectController* controller = GObjectsMVCFactory::getInstance()->createGObjectController(type);
 
-               model->registerInBox(blackBox);
+               model->registerInBox(blackBox,GOUTPUTPORT);
                blackBox->addOutputPort(model);
                
-               //Prepares the initial model
-               double xx = 0;
-               double yy = 0;
-               double zz = 0;
-               blackBox->getInicPoint(xx,yy,zz);
-
-               xx++;
-               yy+=cantTemp;
-               model->setInicPoint(xx,yy,zz);
-
                //Associates the view with the correspondent renderer and the  model.
                //(NOTE: Refresh is only made by the view)
                view->setModel(model);
@@ -262,19 +243,9 @@ namespace bbtk
                vtkGObjectView *view = GObjectsMVCFactory::getInstance()->createGObjectView(type);
                GObjectController* controller = GObjectsMVCFactory::getInstance()->createGObjectController(type);
 
-               model->registerInBox(blackBox);
+               model->registerInBox(blackBox,GINPUTPORT);
                blackBox->addInputPort(model);
 
-               
-               //Prepares the initial model
-               double xx = 0;
-               double yy = 0;
-               double zz = 0;
-               blackBox->getInicPoint(xx,yy,zz);
-
-               xx--;
-               yy+=cantTemp;
-               model->setInicPoint(xx,yy,zz);
 
                //Associates the view with the correspondent renderer and the  model.
                //(NOTE: Refresh is only made by the view)
@@ -311,16 +282,9 @@ namespace bbtk
                return _baseView->GetRenWin();
        }
        //=========================================================================
-       
-       void wxVtkSceneManager::refreshRenderWindow()
-       {
-               _baseView->GetRenWin()->Render();
-       }
-       //=========================================================================
 
        bool wxVtkSceneManager::OnMouseMove()
        {
-               //cout<<"RaC wxVtkSceneManager::OnMouseMove "<<endl;
                return true;
        }
        //=========================================================================
index d272f60ac5e2a37ee22782eb2fd78c5f0b0efc86..db78193a2eebe90dc04f5a5ef0c73ff95595acde 100644 (file)
@@ -91,13 +91,10 @@ namespace bbtk
 
                int _id;
                wxVtk3DBaseView *_baseView;
+
                std::vector<GObjectModel*> objects;
                std::vector<GObjectModel*> selectedObjects;
 
-               void refreshRenderWindow();
-
-               //ERASE
-               int cantTemp;
        protected:
 
        };
index 8fc721c2b78c87082e5ac8b529349562a2e58a4e..b053cbac0f419623328def98691cb4ff3bb0d86e 100644 (file)
@@ -61,7 +61,7 @@ namespace bbtk
 
 bool GObjectController::OnMouseMove()
 {
-       cout<<"RaC GObjectController::OnMouseMove "<<endl;
+       
        if ( _vtkInteractorStyleBaseView!=NULL)
        {
                int X,Y;
@@ -72,33 +72,30 @@ bool GObjectController::OnMouseMove()
                int state  = _model->getState();
                
                //Evaluate new state
-               if(state == CLICKED)
-               {
-                       _model->setState(DRAG);
-                       //MoveObject(X,Y);
-                       
-               }
-               if(state == DRAG)
+               if(!_model->hasChanged() && state == DRAG)
                {
                        //MoveObject(X,Y);
                        
                }
-               if(state == NOTHING_HAPPENS)
+
+               if(!_model->hasChanged() && state == NOTHING_HAPPENS)
                {
                        if(_view->isPointInside(X,Y))
                        {
-                               _model->setState(HIGHLIGHTED);                  
+                               _model->setState(HIGHLIGHTED);
+                               _model->setChanged();                           
                        }                       
                }
-               if(state==HIGHLIGHTED)
+               if(!_model->hasChanged() && state==HIGHLIGHTED)
                {
                        if(!_view->isPointInside(X,Y))
                        {
-                               _model->setState(NOTHING_HAPPENS);                      
+                               _model->setState(NOTHING_HAPPENS);
+                               _model->setChanged();
                        }
                }
                
-               _view->update();
+               _model->notifyObservers();
        }
        return true;
 }
@@ -113,7 +110,25 @@ bool GObjectController::OnLeftButtonDown()
                wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
                wxVTKiren->GetEventPosition(X,Y);
 
-               //MouseClickLeft(X,Y);
+               int state  = _model->getState();
+               
+               //Evaluate new state
+               if(!_model->hasChanged() && state==HIGHLIGHTED)
+               {
+                       _model->setState(DRAG);
+                       _model->setChanged();
+               }
+
+               if( !_model->hasChanged() && state == SELECTED)
+               {
+                       if(_view->isPointInside(X,Y))
+                       {
+                               _model->setState(DRAG);
+                               _model->setChanged();
+                       }       
+               }
+               
+               _model->notifyObservers();
        }
        return true;
 }
@@ -124,9 +139,26 @@ bool GObjectController::OnLeftButtonUp()
        {
                int X,Y;
                wxVTKRenderWindowInteractor *wxVTKiren;
-               wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
+               wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
                wxVTKiren->GetEventPosition(X,Y);
-               //MouseReleaseLeft(X,Y);
+
+               int state  = _model->getState();
+               
+               //Evaluate new state
+               if(!_model->hasChanged() && state==CLICKED)
+               {
+                       _model->setState(SELECTED);
+                       _model->setChanged();
+               }
+
+               if( !_model->hasChanged() && state == DRAG)
+               {
+                       _model->setState(SELECTED);
+                       _model->setChanged();
+               }
+
+               _model->notifyObservers();
+
        }
        return true;
 }
@@ -137,54 +169,38 @@ bool GObjectController::OnLeftDClick()
        {
                int X,Y;
                wxVTKRenderWindowInteractor *wxVTKiren;
-               wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
+               wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
                wxVTKiren->GetEventPosition(X,Y);
 
-               //this->MouseDLeft(X,Y);
+               _model->notifyObservers();
        }
        return true;
 }
 //=========================================================================
-bool GObjectController::OnMiddleButtonDown()
-{
-       if ( _vtkInteractorStyleBaseView!=NULL )
-       {
-               int X,Y;
-               wxVTKRenderWindowInteractor *wxVTKiren;
-               wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
-               wxVTKiren->GetEventPosition(X,Y);
-               //GetManualViewBaseContour()->InitMove( X, Y,GetZ());
-       }
-       return true;
-}
-//=========================================================================
-bool GObjectController::OnMiddleButtonUp()
-{
-       return true;
-}
-//=========================================================================
 bool GObjectController::OnRightButtonDown()
 {
        if( _vtkInteractorStyleBaseView!= NULL )
        {
                int X,Y;
                wxVTKRenderWindowInteractor *wxVTKiren;
-               wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
+               wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk3DBaseView()->GetWxVTKRenderWindowInteractor();
                wxVTKiren->GetEventPosition(X, Y);
+               
+               int state  = _model->getState();
+               
+               //Evaluate new state
+               if( !_model->hasChanged() && state == SELECTED)
+               {
+                       _model->setState(NOTHING_HAPPENS);
+                       _model->setChanged();                   
+               }
 
-               //SetCompleteCreation( true );
-               //SetKeyBoardMoving( false );
-               //this->GetManualContourModel()->SetCloseContour(true);
-               //MouseClickRight(X,Y);
+               _model->notifyObservers();
        }
        return true;
 }
 //=========================================================================
-bool GObjectController::OnRightButtonUp()
-{
-       return true;
-}
-//=========================================================================
+
 
 }  // EO namespace bbtk
 
index 9c5403b4c4e979a75d3ad59049ed46b62f45b87f..45dd9ec5a4e1094079aed55066c09fdbfe5acedb 100644 (file)
@@ -89,10 +89,7 @@ namespace bbtk
                virtual bool  OnLeftButtonDown(); 
                virtual bool  OnLeftButtonUp();
                virtual bool  OnLeftDClick();
-               virtual bool  OnMiddleButtonDown(); 
-               virtual bool  OnMiddleButtonUp();
                virtual bool  OnRightButtonDown();
-               virtual bool  OnRightButtonUp();
 
        };
 
index 32fbb5f26d6579d384b3cdad2cfa78e5d1b91689..162694013dedf5f93bc82b54675b84ed19d1362b 100644 (file)
@@ -53,16 +53,28 @@ namespace bbtk
        //=========================================================================
        void vtkGBlackBoxView::update()
        {
-               //paint();
-               if(_model->getState()==HIGHLIGHTED)
+               if(_model->getState()==NOTHING_HAPPENS)
                {
-                       _objectActor->GetProperty()->SetColor(0.0,0.2,0.5);
+                       _objectActor->GetProperty()->SetLineWidth(1);
+                       _objectActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
                }
-               else
+               else if(_model->getState()==HIGHLIGHTED)
                {
-                       _objectActor->GetProperty()->SetColor(0.3,0.2,0.2);
+                       _objectActor->GetProperty()->SetLineWidth(2);
+                       _objectActor->GetProperty()->SetColor(BOXCONTOUR_HIGHLIGHTED_R,BOXCONTOUR_HIGHLIGHTED_G,BOXCONTOUR_HIGHLIGHTED_B);
                }
-               _baseView->GetRenderer()->Render();
+               else if(_model->getState()==DRAG)
+               {
+                       _objectActor->GetProperty()->SetLineWidth(1.2);
+                       _objectActor->GetProperty()->SetColor(BOXCONTOUR_DRAG_R,BOXCONTOUR_DRAG_G,BOXCONTOUR_DRAG_B);
+               }
+               else if(_model->getState()==SELECTED)
+               {
+                       _objectActor->GetProperty()->SetLineWidth(2);
+                       _objectActor->GetProperty()->SetColor(BOXCONTOUR_SELECTED_R,BOXCONTOUR_SELECTED_G,BOXCONTOUR_SELECTED_B);
+               }
+
+               _baseView->GetRenWin()->Render();
        }
 
        //=========================================================================
@@ -80,9 +92,6 @@ namespace bbtk
                double xInic, yInic,zInic,xFin, yFin,zFin;
                _model->getInicPoint(xInic,yInic,zInic);
                _model->getFinalPoint(xFin, yFin,zFin);
-               cout<<"RaC ----------"<<endl;
-               cout<<"RaC vtkGBlackBoxView::createVtkObjects() inic:"<<xInic<<" "<<yInic<<" "<<zInic<<endl;
-               cout<<"RaC vtkGBlackBoxView::createVtkObjects() fin:"<<xFin<<" "<<yFin<<" "<<zFin<<endl;
 
                _pts->SetPoint(0, xInic, yInic, 0 );
                _pts->SetPoint(1, xInic, yFin, 0 );
@@ -102,7 +111,7 @@ namespace bbtk
                _bboxMapper->SetInput(_pd);
                _objectActor->SetMapper(_bboxMapper);
 
-               _objectActor->GetProperty()->SetColor(0.3,0.2,0.2);
+               _objectActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
 
        }
 
index eb2155acba6f9a7341be41c0237f6bb095c5f7fb..c20afadbdf133627b4720f415ebbead9035d549c 100644 (file)
@@ -53,19 +53,9 @@ namespace bbtk
        }
        //=========================================================================
 
-       void vtkGObjectView::update()
+       void vtkGObjectView::update()//virtual
        {
-               if(_model->getState()==NOTHING_HAPPENS)
-               {
-                       _objectActor->GetProperty()->SetColor(0,0,0);
-               }
-
-               if(_model->getState()==HIGHLIGHTED)
-               {
-                       _objectActor->GetProperty()->SetColor(1,0,0);
-               }
-               _baseView->GetRenderer()->Render();
-               //paint();
+               //virtual
        }
 
        //=========================================================================
index d02ecc1dca947cb963bf9ca46ff3765c1cd7ac66..d224f301b70df8ece8a43d625c52032ad4846ea2 100644 (file)
@@ -78,8 +78,11 @@ namespace bbtk
                _pts->SetNumberOfPoints(4);
 
                double xInic, yInic,zInic,xFin, yFin,zFin;
+
                _model->getInicPoint(xInic,yInic,zInic);
                _model->getFinalPoint(xFin, yFin,zFin);
+               cout<<"RaC vtkGPortView::createVtkObjects() xInic="<<xInic<< " yInic="<<yInic<<" zInic="<<zInic<<endl;
+               cout<<"RaC vtkGPortView::createVtkObjects() xFin="<<xFin<< " yFin="<<yFin<<" zFin="<<zFin<<endl;
 
                _pts->SetPoint(0, xInic, yInic, 0 );
                _pts->SetPoint(1, xInic, yFin, 0 );
@@ -99,7 +102,7 @@ namespace bbtk
                _bboxMapper->SetInput(_pd);
                _objectActor->SetMapper(_bboxMapper);
 
-               _objectActor->GetProperty()->SetColor(0.8,0.0,0.0);
+               _objectActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
 
        }
 
index b6dbb500b0a1fddff97145acaddd7251f951ae45..88b6aaf6a665a415805927bdc73db65d4ea9a7cf 100644 (file)
@@ -79,7 +79,6 @@ namespace bbtk
                std::string packageName="";
                std::string boxName="";
 
-
                wxString foo( wxT(data) );
                char str[150];
                strcpy( str, (const char*)foo.mb_str(wxConvUTF8) );
@@ -94,8 +93,6 @@ namespace bbtk
                 
                _sceneManager->createGBlackBox(x,y,packageName, boxName);
 
-               //cout<<"result is pkg:"<<packageName<<" box:"<<boxName<<endl;
-               //cout<<"RaC DyD:"<<data<<" x:"<<x<<" t:"<<y<<endl; 
          return true;
  
        }