+ ///************************* FILL *************************
+
+ //------------
+
+ _boxTextActor = vtkTextActor3D::New();
+ vtkTextProperty *prop = vtkTextProperty::New();
+ prop->BoldOn();
+ prop->SetFontFamilyToArial();
+ _boxTextActor->GetTextProperty()->BoldOn();
+ prop->SetFontSize(80);
+ _boxTextActor->SetTextProperty(prop);
+
+ // _boxTextActor->GetTextProperty()->SetFontSize(80);
+
+
+ //------------
+
+ updatePositionTextActor( xInic, yInic, zInic);
+ }
+
+ //=========================================================================
+
+ void vtkGBlackBoxView::addVtkActors()//virtual
+ {
+
+ _baseView->GetRenderer()->AddActor(_borderObjectActor);
+ vtkGObjectView::addVtkActors();
+ _baseView->GetRenderer()->AddActor(_boxTextActor);
+ }
+
+ //=========================================================================
+
+ void vtkGBlackBoxView::removeVtkActors()//virtual
+ {
+ _baseView->GetRenderer()->RemoveActor(_borderObjectActor);
+ _baseView->GetRenderer()->RemoveActor(_boxTextActor);
+ vtkGObjectView::removeVtkActors();
+ }
+
+ //=========================================================================
+
+ void vtkGBlackBoxView::updatePositionTextActor(double xInic, double yInic, double zInic)
+ {
+ std::string temp = _model->getBBTKType();
+ temp+=":";
+ temp+=_model->getBBTKName();
+ _boxTextActor->SetInput(temp.c_str());
+ _boxTextActor->SetPosition(xInic+4,yInic-7,zInic+1);
+ _boxTextActor->SetScale(0.05,0.05,1);
+ }
+
+ //=========================================================================
+
+ void vtkGBlackBoxView::updateColors()
+ {
+ _fillObjectActor->GetProperty()->SetAmbient(0.6);
+
+ if(_state==NOTHING_HAPPENS)
+ {
+ _borderObjectActor->GetProperty()->SetLineWidth(1);
+ _borderObjectActor->GetProperty()->SetColor(BOXBORDER_NH_R,BOXBORDER_NH_G,BOXBORDER_NH_B);
+ _fillObjectActor->GetProperty()->SetColor(BOXFILL_NH_R,BOXFILL_NH_G,BOXFILL_NH_B);
+ _boxTextActor->GetTextProperty()->SetColor(BOXTEXT_NH_R,BOXTEXT_NH_G,BOXTEXT_NH_B);
+
+ GBlackBoxModel *bbmodel = (GBlackBoxModel*)_model;
+ if(bbmodel->isExecutable())
+ {
+ _borderObjectActor->GetProperty()->SetColor(BOXBORDER_NH_R,0.9,BOXBORDER_HIGHLIGHTED_B);
+ _fillObjectActor->GetProperty()->SetColor(BOXFILL_NH_R,0.9,BOXFILL_HIGHLIGHTED_B);
+ }
+
+ }
+ else if(_state==HIGHLIGHTED)
+ {
+ _borderObjectActor->GetProperty()->SetLineWidth(2);
+
+ _borderObjectActor->GetProperty()->SetColor(BOXBORDER_HIGHLIGHTED_R,BOXBORDER_HIGHLIGHTED_G,BOXBORDER_HIGHLIGHTED_B);
+ _fillObjectActor->GetProperty()->SetColor(BOXFILL_HIGHLIGHTED_R,BOXFILL_HIGHLIGHTED_G,BOXFILL_HIGHLIGHTED_B);
+ _boxTextActor->GetTextProperty()->SetColor(BOXTEXT_HIGHLIGHTED_R,BOXTEXT_HIGHLIGHTED_G,BOXTEXT_HIGHLIGHTED_B);
+ }
+ else if(_state==DRAG)
+ {
+ _borderObjectActor->GetProperty()->SetLineWidth(1.2);
+ _borderObjectActor->GetProperty()->SetColor(BOXBORDER_DRAG_R,BOXBORDER_DRAG_G,BOXBORDER_DRAG_B);
+ _fillObjectActor->GetProperty()->SetColor(BOXFILL_DRAG_R,BOXFILL_DRAG_G,BOXFILL_DRAG_B);
+ _boxTextActor->GetTextProperty()->SetColor(BOXTEXT_DRAG_R,BOXTEXT_DRAG_G,BOXTEXT_DRAG_B);
+ }
+ else if(_state==SELECTED)
+ {
+ _borderObjectActor->GetProperty()->SetLineWidth(2);
+ _borderObjectActor->GetProperty()->SetColor(BOXBORDER_SELECTED_R,BOXBORDER_SELECTED_G,BOXBORDER_SELECTED_B);
+ _fillObjectActor->GetProperty()->SetColor(BOXFILL_SELECTED_R,BOXFILL_SELECTED_G,BOXFILL_SELECTED_B);
+ _boxTextActor->GetTextProperty()->SetColor(BOXTEXT_SELECTED_R,BOXTEXT_SELECTED_G,BOXTEXT_SELECTED_B);
+ }