X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsVtkGUIEditorGraphic%2FvtkGPortView.cxx;h=321a858241e81bd2cc8c05822bf6802661c6b083;hb=5cf9c7b92a97ee411e6a441beca8a06d2bffc8b3;hp=b4f631dcd2abdffc8abbfb69494f1d4afc223582;hpb=4339183c287d12a0b68265ec017cb51e6b24e89a;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGPortView.cxx b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGPortView.cxx index b4f631d..321a858 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGPortView.cxx +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGPortView.cxx @@ -67,7 +67,10 @@ namespace bbtk _pts->SetPoint(0, xInic, yInic, zInic ); _pts->SetPoint(1, mid, yFin, zInic ); _pts->SetPoint(2, xFin, yInic, zFin ); + + _fillPolyMapper->Modified(); + //----------- setRefreshWaiting(); } @@ -76,11 +79,6 @@ namespace bbtk void vtkGPortView::createVtkObjects() //virtual { _pts = vtkPoints::New(); - vtkCellArray *lines = vtkCellArray::New(); - vtkPolyData *_pd = vtkPolyData::New(); - vtkPolyDataMapper* _bboxMapper=vtkPolyDataMapper::New(); - _objectActor=vtkActor::New(); - _pts->SetNumberOfPoints(3); double xInic, yInic,zInic,xFin, yFin,zFin; @@ -94,19 +92,30 @@ namespace bbtk _pts->SetPoint(0, xInic, yInic, zInic ); _pts->SetPoint(1, mid, yFin, zInic ); - _pts->SetPoint(2, xFin, yInic, zFin ); - - lines->InsertNextCell(4); - lines->InsertCellPoint(0); - lines->InsertCellPoint(1); - lines->InsertCellPoint(2); - lines->InsertCellPoint(0); + _pts->SetPoint(2, xFin, yInic, zFin ); - _pd->SetPoints( _pts ); - _pd->SetLines( lines ); + ///************************* FILL ************************* + + vtkCellArray *strip = vtkCellArray::New(); + vtkPolyData *pdFill = vtkPolyData::New(); + _fillPolyMapper=vtkPolyDataMapper::New(); + _fillObjectActor=vtkActor::New(); + + // RaC In the actual version, zInic=zFin=900 + + strip->InsertNextCell(3); + strip->InsertCellPoint(0); + strip->InsertCellPoint(1); + strip->InsertCellPoint(2); + + pdFill->SetPoints( _pts ); + pdFill->SetStrips( strip ); + + _fillPolyMapper->SetInput(pdFill); + _fillObjectActor->SetMapper(_fillPolyMapper); + _fillPolyMapper->Modified(); - _bboxMapper->SetInput(_pd); - _objectActor->SetMapper(_bboxMapper); + ///************************* FILL ************************* updateColors(); @@ -117,15 +126,27 @@ namespace bbtk void vtkGPortView::updateColors() { - _objectActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B); + _fillObjectActor->GetProperty()->SetColor(0.5,0.45,0.45); if(_state==HIGHLIGHTED) { - _objectActor->GetProperty()->SetColor(0.8,0.2,0.5); + _fillObjectActor->GetProperty()->SetColor(0.8,0.8,0.8); } else { - _objectActor->GetProperty()->SetColor(0.3,0.2,0.2); + GPortModel* portm = (GPortModel*)_model; + if(portm->isConnected()) + { + _fillObjectActor->GetProperty()->SetColor(0.15,0.15,0.15); + } + else if(portm->isValueSet()) + { + _fillObjectActor->GetProperty()->SetColor(0.55,0.25,0.25); + } + else + { + _fillObjectActor->GetProperty()->SetColor(0.5,0.45,0.45); + } } }