//=========================================================================
vtkGPortView::vtkGPortView()
- {
+ {
}
//=========================================================================
}
//=========================================================================
- void vtkGPortView::update()
+ void vtkGPortView::update(int idController,int command)
{
- //paint();
- if(_model->getState()==HIGHLIGHTED)
- {
- _objectActor->GetProperty()->SetColor(0.0,0.2,0.5);
- }
- else
- {
- _objectActor->GetProperty()->SetColor(0.3,0.2,0.2);
- }
- _baseView->GetRenderer()->Render();
+ updateColors();
+
+ double xInic, yInic,zInic,xFin, yFin,zFin;
+
+ _model->getInicPoint(xInic,yInic,zInic);
+ _model->getFinalPoint(xFin, yFin,zFin);
+
+ // RaC In the actual version, zInic=zFin=900
+
+ double mid = (xInic+xFin)/2;
+
+ _pts->SetPoint(0, xInic, yInic, zInic );
+ _pts->SetPoint(1, mid, yFin, zInic );
+ _pts->SetPoint(2, xFin, yInic, zFin );
+
+ _borderObjectActor->Modified();
+
+ setRefreshWaiting();
}
//=========================================================================
void vtkGPortView::createVtkObjects() //virtual
{
- vtkPoints *_pts = vtkPoints::New();
+ _pts = vtkPoints::New();
vtkCellArray *lines = vtkCellArray::New();
vtkPolyData *_pd = vtkPolyData::New();
- vtkPolyDataMapper* _bboxMapper=vtkPolyDataMapper::New();
- _objectActor=vtkActor::New();
+ _borderPolyMapper=vtkPolyDataMapper::New();
+ _borderObjectActor=vtkActor::New();
- _pts->SetNumberOfPoints(4);
+ _pts->SetNumberOfPoints(3);
double xInic, yInic,zInic,xFin, yFin,zFin;
_model->getInicPoint(xInic,yInic,zInic);
_model->getFinalPoint(xFin, yFin,zFin);
- cout<<"RaC vtkGPortView::createVtkObjects() xInic="<<xInic<< " yInic="<<yInic<<" zInic="<<zInic<<endl;
- cout<<"RaC vtkGPortView::createVtkObjects() xFin="<<xFin<< " yFin="<<yFin<<" zFin="<<zFin<<endl;
- _pts->SetPoint(0, xInic, yInic, 0 );
- _pts->SetPoint(1, xInic, yFin, 0 );
- _pts->SetPoint(2, xFin, yFin, 0 );
- _pts->SetPoint(3, xFin, yInic, 0 );
+ // RaC In the actual version, zInic=zFin=900
+
+ double mid = (xInic+xFin)/2;
+
+ _pts->SetPoint(0, xInic, yInic, zInic );
+ _pts->SetPoint(1, mid, yFin, zInic );
+ _pts->SetPoint(2, xFin, yInic, zFin );
- lines->InsertNextCell(5);
+ lines->InsertNextCell(4);
lines->InsertCellPoint(0);
lines->InsertCellPoint(1);
lines->InsertCellPoint(2);
- lines->InsertCellPoint(3);
lines->InsertCellPoint(0);
_pd->SetPoints( _pts );
_pd->SetLines( lines );
- _bboxMapper->SetInput(_pd);
- _objectActor->SetMapper(_bboxMapper);
+ _borderPolyMapper->SetInput(_pd);
+ _borderObjectActor->SetMapper(_borderPolyMapper);
+ _borderObjectActor->Modified();
+
+ updateColors();
+
+
+ }
+
+ //=========================================================================
- _objectActor->GetProperty()->SetColor(BOXCONTOUR_NH_R,BOXCONTOUR_NH_G,BOXCONTOUR_NH_B);
+ void vtkGPortView::updateColors()
+ {
+ _borderObjectActor->GetProperty()->SetColor(BOXBORDER_NH_R,BOXBORDER_NH_G,BOXBORDER_NH_B);
+ if(_state==HIGHLIGHTED)
+ {
+ _borderObjectActor->GetProperty()->SetColor(0.8,0.2,0.5);
+ }
+ else
+ {
+ _borderObjectActor->GetProperty()->SetColor(0.3,0.2,0.2);
+ }
}
//=========================================================================