]> Creatis software - bbtkGEditor.git/blobdiff - lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx
Properties panel and black box text info
[bbtkGEditor.git] / lib / EditorGraphicBBS / bbsVtkGUIEditorGraphic / vtkGBlackBoxView.cxx
index 5c36d4b2ab66fc3462b71f45ade703a68d4c11e2..64d1ceca7a1b29a3b7a89ba4279694afcc68396a 100644 (file)
@@ -57,21 +57,29 @@ namespace bbtk
                {
                        _objectActor->GetProperty()->SetLineWidth(1);
                        _objectActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
+                       _nameActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
+                       _typeActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
                }
                else if(_model->getState()==HIGHLIGHTED)
                {
                        _objectActor->GetProperty()->SetLineWidth(2);
                        _objectActor->GetProperty()->SetColor(BOXCONTOUR_HIGHLIGHTED_R,BOXCONTOUR_HIGHLIGHTED_G,BOXCONTOUR_HIGHLIGHTED_B);
+                       _nameActor->GetProperty()->SetColor(BOXCONTOUR_HIGHLIGHTED_R,BOXCONTOUR_HIGHLIGHTED_G,BOXCONTOUR_HIGHLIGHTED_B);
+                       _typeActor->GetProperty()->SetColor(BOXCONTOUR_HIGHLIGHTED_R,BOXCONTOUR_HIGHLIGHTED_G,BOXCONTOUR_HIGHLIGHTED_B);
                }
                else if(_model->getState()==DRAG)
                {
                        _objectActor->GetProperty()->SetLineWidth(1.2);
                        _objectActor->GetProperty()->SetColor(BOXCONTOUR_DRAG_R,BOXCONTOUR_DRAG_G,BOXCONTOUR_DRAG_B);
+                       _nameActor->GetProperty()->SetColor(BOXCONTOUR_DRAG_R,BOXCONTOUR_DRAG_G,BOXCONTOUR_DRAG_B);
+                       _typeActor->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);
+                       _nameActor->GetProperty()->SetColor(BOXCONTOUR_SELECTED_R,BOXCONTOUR_SELECTED_G,BOXCONTOUR_SELECTED_B);
+                       _typeActor->GetProperty()->SetColor(BOXCONTOUR_SELECTED_R,BOXCONTOUR_SELECTED_G,BOXCONTOUR_SELECTED_B);
                }
 
                double xInic, yInic,zInic,xFin, yFin,zFin;
@@ -83,6 +91,12 @@ namespace bbtk
                _pts->SetPoint(2, xFin, yFin, 0 );
                _pts->SetPoint(3, xFin, yInic, 0 );
 
+               //-----------
+
+               updatePositionTextActors(xInic, yInic,zInic);
+
+               //-----------
+
                _baseView->GetRenWin()->Render();
        }
 
@@ -90,6 +104,8 @@ namespace bbtk
 
        void vtkGBlackBoxView::createVtkObjects() //virtual
        {
+
+               //------------
                _pts = vtkPoints::New();        
                vtkCellArray *lines = vtkCellArray::New();
                vtkPolyData *_pd = vtkPolyData::New();
@@ -122,10 +138,57 @@ namespace bbtk
 
                _objectActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
 
+               //------------
+
+               _vectorNameText = vtkVectorText::New();
+               std::string temp = _model->getBBTKName();
+               _vectorNameText->SetText(temp.c_str());
+
+               vtkPolyDataMapper* txtMapper = vtkPolyDataMapper::New();
+               txtMapper->SetInputConnection( _vectorNameText->GetOutputPort());
+               _nameActor = vtkActor::New();
+               _nameActor->SetMapper(txtMapper);
+
+               //------------
+
+               _vectorTypeText = vtkVectorText::New();
+               temp = _model->getBBTKType();
+               _vectorTypeText->SetText(temp.c_str());
+
+               txtMapper = vtkPolyDataMapper::New();
+               txtMapper->SetInputConnection( _vectorTypeText->GetOutputPort());
+               _typeActor = vtkActor::New();
+               _typeActor->SetMapper(txtMapper);
+
+               //------------
+
+               updatePositionTextActors( xInic,  yInic,  zInic);
+               _nameActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
+               _typeActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
+
+       }
+
+       //=========================================================================
+
+       void vtkGBlackBoxView::addVtkActors()//virtual
+       {
+               _baseView->GetRenderer()->AddActor(_nameActor);
+               _baseView->GetRenderer()->AddActor(_typeActor);
+
+               vtkGObjectView::addVtkActors();
        }
 
        //=========================================================================
 
+       void vtkGBlackBoxView::updatePositionTextActors(double xInic, double yInic, double zInic)
+       {
+               _nameActor->SetPosition(xInic+0.04,yInic-0.05,zInic);
+               _nameActor->SetScale(0.03,0.02,1);
+                                       
+               _typeActor->SetPosition(xInic+0.04,yInic-0.1,zInic);
+               _typeActor->SetScale(0.03,0.02,1);
+       }
+
 
 }  // EO namespace bbtk