X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FEditorGraphicBBS%2FbbsVtkGUIEditorGraphic%2FvtkGBlackBoxView.cxx;h=c9d9e70297b929fcc956196bbddf910b63367128;hb=8e6a8a638f2b03db8e34234b6e02d71cda913f9d;hp=5d82cbf19a48b491aae8faeab9712de99b0241e4;hpb=36a0d24cb1d01a0f0c6010a18ec09874e6331fd5;p=bbtkGEditor.git diff --git a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx index 5d82cbf..c9d9e70 100644 --- a/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx +++ b/lib/EditorGraphicBBS/bbsVtkGUIEditorGraphic/vtkGBlackBoxView.cxx @@ -132,6 +132,42 @@ namespace bbtk updatePorts(); + +// update position for one Actor that represents all InputPorts + GPortModel *portModel; + GBoxModel *boxModel =(GBoxModel*)_model; + int numberOfTriangles = boxModel->getNumInputPorts(); + for (int i=0;igetInputPort(i); + portModel->getInicPoint( xInic , yInic , zInic ) ; + portModel->getFinalPoint( xFin , yFin , zFin ) ; + // RaC In the actual version, zInic=zFin=GPOSITION_Z + _TrianglesInputsPts->SetPoint(i*3+0, xInic , yInic , zInic ); + _TrianglesInputsPts->SetPoint(i*3+1, ( xInic + xFin ) / 2 , yFin , zInic ); + _TrianglesInputsPts->SetPoint(i*3+2, xFin , yInic , zFin ); + } + _TrianglesInputsPolyMapper->Modified( ) ; + +// update position for one Actor that represents all OutputPorts + numberOfTriangles = boxModel->getNumOutputPorts(); + for (int i=0;igetOutputPort(i); + portModel->getInicPoint( xInic , yInic , zInic ) ; + portModel->getFinalPoint( xFin , yFin , zFin ) ; + // RaC In the actual version, zInic=zFin=GPOSITION_Z + _TrianglesOutputsPts->SetPoint(i*3+0, xInic , yInic , zInic ); + _TrianglesOutputsPts->SetPoint(i*3+1, ( xInic + xFin ) / 2 , yFin , zInic ); + _TrianglesOutputsPts->SetPoint(i*3+2, xFin , yInic , zFin ); + } + _TrianglesOutputsPolyMapper->Modified( ) ; + + + +// update position for one Actor that represents all OutputPorts + + _borderPolyMapper->Modified(); _fillPolyMapper->Modified(); //----------- @@ -188,34 +224,80 @@ namespace bbtk ///************************* FILL ************************* - vtkCellArray *strip = vtkCellArray::New(); vtkPolyData *pdFill = vtkPolyData::New(); _fillPolyMapper = vtkPolyDataMapper::New(); _fillObjectActor = vtkActor::New(); - // RaC In the actual version, zInic=zFin=GPOSITION_Z - strip->InsertNextCell(5); strip->InsertCellPoint(0); strip->InsertCellPoint(1); strip->InsertCellPoint(2); strip->InsertCellPoint(0); strip->InsertCellPoint(3); - pdFill->SetPoints( _pts ); pdFill->SetStrips( strip ); - _fillPolyMapper->SetInput(pdFill); _fillObjectActor->SetMapper(_fillPolyMapper); _fillPolyMapper->Modified(); - ///************************* FILL ************************* + +//EED2017 + ///************************* Inputs Fill (triangles) ************************* + GBoxModel* boxModel =(GBoxModel*)_model; + int numberOfTriangles = boxModel->getNumInputPorts(); + _TrianglesInputsPts = vtkPoints::New(); + _TrianglesInputsPts->SetNumberOfPoints( 3*numberOfTriangles ); + vtkCellArray *stripTrianglesInputs = vtkCellArray::New(); + vtkPolyData *pdTrianglesInputs = vtkPolyData::New(); + _TrianglesInputsPolyMapper = vtkPolyDataMapper::New(); + _TrianglesInputsActor = vtkActor::New(); + // RaC In the actual version, zInic=zFin=GPOSITION_Z + for (int i=0 ; iInsertNextCell( 3 ); + stripTrianglesInputs->InsertCellPoint(i*3+0); + stripTrianglesInputs->InsertCellPoint(i*3+1); + stripTrianglesInputs->InsertCellPoint(i*3+2); + } + pdTrianglesInputs->SetPoints( _TrianglesInputsPts ); + pdTrianglesInputs->SetStrips( stripTrianglesInputs ); + _TrianglesInputsPolyMapper->SetInput( pdTrianglesInputs ); + _TrianglesInputsActor->SetMapper(_TrianglesInputsPolyMapper); + _TrianglesInputsPolyMapper->Modified(); + ///************************* Inputs Fill (triangles) ************************* + + ///************************* Outputs Fill (triangles) ************************* +// GBoxModel* boxModel =(GBoxModel*)_model; + numberOfTriangles = boxModel->getNumOutputPorts(); + _TrianglesOutputsPts = vtkPoints::New(); + _TrianglesOutputsPts->SetNumberOfPoints( 3*numberOfTriangles ); + vtkCellArray *stripTrianglesOutputs = vtkCellArray::New(); + vtkPolyData *pdTrianglesOutputs = vtkPolyData::New(); + _TrianglesOutputsPolyMapper = vtkPolyDataMapper::New(); + _TrianglesOutputsActor = vtkActor::New(); + // RaC In the actual version, zInic=zFin=GPOSITION_Z + for (int i=0 ; iInsertNextCell( 3 ); + stripTrianglesOutputs->InsertCellPoint(i*3+0); + stripTrianglesOutputs->InsertCellPoint(i*3+1); + stripTrianglesOutputs->InsertCellPoint(i*3+2); + } + pdTrianglesOutputs->SetPoints( _TrianglesOutputsPts ); + pdTrianglesOutputs->SetStrips( stripTrianglesOutputs ); + _TrianglesOutputsPolyMapper->SetInput( pdTrianglesOutputs ); + _TrianglesOutputsActor->SetMapper(_TrianglesOutputsPolyMapper); + _TrianglesOutputsPolyMapper->Modified(); + ///************************* Inputs Fill (triangles) ************************* + + + //------------ - _boxTextActor = vtkTextActor3D::New(); - vtkTextProperty *prop = vtkTextProperty::New(); + _boxTextActor = vtkTextActor3D::New(); + vtkTextProperty *prop = vtkTextProperty::New(); prop->BoldOn(); prop->SetFontFamilyToArial(); _boxTextActor->GetTextProperty()->BoldOn(); @@ -238,14 +320,21 @@ namespace bbtk _baseView->GetRenderer()->AddActor(_borderObjectActor); vtkGObjectView::addVtkActors(); _baseView->GetRenderer()->AddActor(_boxTextActor); + + _baseView->GetRenderer()->AddActor(_TrianglesInputsActor); + _baseView->GetRenderer()->AddActor(_TrianglesOutputsActor); + + } //========================================================================= void vtkGBlackBoxView::removeVtkActors()//virtual { - _baseView->GetRenderer()->RemoveActor(_borderObjectActor); _baseView->GetRenderer()->RemoveActor(_boxTextActor); + _baseView->GetRenderer()->RemoveActor(_borderObjectActor); + _baseView->GetRenderer()->RemoveActor(_TrianglesInputsActor); + _baseView->GetRenderer()->RemoveActor(_TrianglesOutputsActor); vtkGObjectView::removeVtkActors(); }