updatePorts();
+
+// update position for one Actor that represents all InputPorts
+ GPortModel *portModel;
+ GBoxModel *boxModel =(GBoxModel*)_model;
+ int numberOfTriangles = boxModel->getNumInputPorts();
+ for (int i=0;i<numberOfTriangles;i++)
+ {
+ portModel= boxModel->getInputPort(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;i<numberOfTriangles;i++)
+ {
+ portModel= boxModel->getOutputPort(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();
//-----------
///************************* 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 ; i<numberOfTriangles; i++)
+ {
+ stripTrianglesInputs->InsertNextCell( 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 ; i<numberOfTriangles; i++)
+ {
+ stripTrianglesOutputs->InsertNextCell( 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();
_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();
}