bbtk::vtkGComplexBoxPortView Class Reference

#include <vtkGComplexBoxPortView.h>

Inheritance diagram for bbtk::vtkGComplexBoxPortView:

Inheritance graph
[legend]
Collaboration diagram for bbtk::vtkGComplexBoxPortView:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 vtkGComplexBoxPortView ()
 ~vtkGComplexBoxPortView ()
void setModel (GObjectModel *model)
void setBaseView (wxVtkBaseView *baseView)
void initVtkObjects ()
void setStartDragging (bool param)
void setState (int state)
int getState ()
void setRefreshWaiting ()
virtual bool isPointInside (int X, int Y)
virtual void moveObject (int X, int Y)
virtual void removeFromScene ()

Protected Member Functions

virtual void addVtkActors ()
virtual void removeVtkActors ()
virtual void createVtkObjects ()
virtual void update (int idController, int command)
virtual void updateColors ()
void updatePorts ()

Protected Attributes

wxVtkBaseView * _baseView
GObjectModel_model
vtkActor * _borderObjectActor
vtkActor * _fillObjectActor
vtkPolyDataMapper * _fillPolyMapper
vtkPolyDataMapper * _borderPolyMapper
vtkPoints * _pts
int _state


Detailed Description

Definition at line 72 of file vtkGComplexBoxPortView.h.


Constructor & Destructor Documentation

bbtk::vtkGComplexBoxPortView::vtkGComplexBoxPortView (  ) 

Definition at line 44 of file vtkGComplexBoxPortView.cxx.

00044                                                     {
00045     }

bbtk::vtkGComplexBoxPortView::~vtkGComplexBoxPortView (  ) 

Definition at line 49 of file vtkGComplexBoxPortView.cxx.

00049                                                      {
00050     }


Member Function Documentation

void bbtk::vtkGComplexBoxPortView::addVtkActors (  )  [protected, virtual]

Reimplemented from bbtk::vtkGBoxView.

Definition at line 154 of file vtkGComplexBoxPortView.cxx.

References bbtk::vtkGObjectView::_baseView, and bbtk::vtkGObjectView::_borderObjectActor.

00155     {
00156         _baseView->GetRenderer( )->AddActor( _borderObjectActor ) ;
00157         vtkGObjectView::addVtkActors( ) ;
00158     }

void bbtk::vtkGComplexBoxPortView::createVtkObjects (  )  [protected, virtual]

************************* FILL *************************

************************* FILL *************************

Reimplemented from bbtk::vtkGBoxView.

Definition at line 80 of file vtkGComplexBoxPortView.cxx.

References bbtk::vtkGObjectView::_borderObjectActor, bbtk::vtkGObjectView::_borderPolyMapper, bbtk::vtkGObjectView::_fillObjectActor, bbtk::vtkGObjectView::_fillPolyMapper, bbtk::vtkGObjectView::_model, bbtk::vtkGObjectView::_pts, bbtk::GObjectModel::getFinalPoint(), and bbtk::GObjectModel::getInicPoint().

00081     {
00082 
00083         //------------
00084         _pts = vtkPoints::New( ) ;
00085         vtkCellArray *lines = vtkCellArray::New( ) ;
00086         vtkPolyData *_pd = vtkPolyData::New( ) ;
00087         _borderPolyMapper = vtkPolyDataMapper::New( ) ;
00088         _borderObjectActor = vtkActor::New( ) ;
00089 
00090         _pts->SetNumberOfPoints( 4 ) ;
00091 
00092         double xInic , yInic , zInic , xFin , yFin , zFin ;
00093         _model->getInicPoint( xInic , yInic , zInic ) ;
00094         _model->getFinalPoint( xFin , yFin , zFin ) ;
00095 
00096         // RaC In the actual version, zInic=zFin=900
00097 
00098         //EED           _pts->SetPoint(0, xInic, yInic, zInic );
00099         //EED           _pts->SetPoint(1, xInic, yFin, zInic );
00100         //EED           _pts->SetPoint(2, xFin, yFin, zFin );
00101         //EED           _pts->SetPoint(3, xFin, yInic, zFin );
00102 
00103 
00104         _pts->SetPoint( 0 , -1000 , -1000 , -1000 ) ;
00105         _pts->SetPoint( 1 , xInic , yFin , zInic ) ;
00106         _pts->SetPoint( 2 , 1000 , 1000 , 1000 ) ;
00107         _pts->SetPoint( 3 , xFin , yInic , zFin ) ;
00108 
00109 
00110         lines->InsertNextCell( 5 ) ;
00111         lines->InsertCellPoint( 0 ) ;
00112         lines->InsertCellPoint( 1 ) ;
00113         lines->InsertCellPoint( 2 ) ;
00114         lines->InsertCellPoint( 3 ) ;
00115         lines->InsertCellPoint( 0 ) ;
00116 
00117         _pd->SetPoints( _pts ) ;
00118         _pd->SetLines( lines ) ;
00119 
00120         _borderPolyMapper->SetInput( _pd ) ;
00121         _borderObjectActor->SetMapper( _borderPolyMapper ) ;
00122         _borderPolyMapper->Modified( ) ;
00123 
00124 
00126 
00127         vtkCellArray *strip = vtkCellArray::New( ) ;
00128         vtkPolyData *pdFill = vtkPolyData::New( ) ;
00129         _fillPolyMapper = vtkPolyDataMapper::New( ) ;
00130         _fillObjectActor = vtkActor::New( ) ;
00131 
00132         // RaC In the actual version, zInic=zFin=900
00133 
00134         strip->InsertNextCell( 5 ) ;
00135         strip->InsertCellPoint( 0 ) ;
00136         strip->InsertCellPoint( 1 ) ;
00137         strip->InsertCellPoint( 2 ) ;
00138         strip->InsertCellPoint( 0 ) ;
00139         strip->InsertCellPoint( 3 ) ;
00140 
00141         pdFill->SetPoints( _pts ) ;
00142         pdFill->SetStrips( strip ) ;
00143 
00144         _fillPolyMapper->SetInput( pdFill ) ;
00145         _fillObjectActor->SetMapper( _fillPolyMapper ) ;
00146         _fillPolyMapper->Modified( ) ;
00147 
00149 
00150     }

Here is the call graph for this function:

int bbtk::vtkGObjectView::getState (  )  [inherited]

void bbtk::vtkGObjectView::initVtkObjects (  )  [inherited]

bool bbtk::vtkGObjectView::isPointInside ( int  X,
int  Y 
) [virtual, inherited]

Definition at line 119 of file vtkGObjectView.cxx.

References bbtk::vtkGObjectView::_baseView, bbtk::vtkGObjectView::_model, and bbtk::GObjectModel::isPointInside().

Referenced by bbtk::wxVtkSceneManager::GetGBlackBoxControlerPointedByMouse(), bbtk::GBlackBoxController::OnLeftButtonDown(), bbtk::GBoxController::OnLeftButtonUp(), bbtk::GBlackBoxController::OnMiddleButtonDown(), bbtk::GObjectController::OnMouseMove(), bbtk::GBoxController::OnMouseMove(), and bbtk::GBlackBoxController::OnMouseMove().

00120         {
00121                 // RaC In the actual version, always z=900
00122                 double xx=X,yy=Y,zz=900;
00123                 _baseView->TransCoordScreenToWorld(xx,yy,zz);
00124                 return _model->isPointInside(xx,yy,zz);
00125         }

Here is the call graph for this function:

Here is the caller graph for this function:

void bbtk::vtkGObjectView::moveObject ( int  X,
int  Y 
) [virtual, inherited]

Definition at line 129 of file vtkGObjectView.cxx.

References bbtk::vtkGObjectView::_baseView, bbtk::vtkGObjectView::_isStartDragging, bbtk::vtkGObjectView::_model, bbtk::vtkGObjectView::dragDifX, bbtk::vtkGObjectView::dragDifY, bbtk::GObjectModel::getInicPoint(), and bbtk::GObjectModel::move().

Referenced by bbtk::GObjectController::moveObject(), and bbtk::wxVtkSceneManager::OnMouseMove().

00130         {               
00131                 // RaC In the actual version, always z=900
00132                 double xx=X,yy=Y,zz=900;
00133                 _baseView->TransCoordScreenToWorld(xx,yy,zz);
00134 
00135                 if(_isStartDragging)
00136                 {
00137                         _isStartDragging=false;
00138                         
00139                         double xInic,yInic,zInic;
00140                         _model->getInicPoint(xInic,yInic,zInic);                        
00141                         dragDifX=xx-xInic;
00142                         dragDifY=yy-yInic;      
00143                 }
00144                 _model->move(xx-dragDifX,yy-dragDifY,zz);
00145 
00146         }

Here is the call graph for this function:

Here is the caller graph for this function:

void bbtk::vtkGObjectView::removeFromScene (  )  [virtual, inherited]

Definition at line 180 of file vtkGObjectView.cxx.

References bbtk::vtkGObjectView::removeVtkActors(), and bbtk::vtkGObjectView::setRefreshWaiting().

Referenced by bbtk::GObjectController::removeFromScene().

00181         {
00182                 removeVtkActors();
00183                 setRefreshWaiting();
00184         }

Here is the call graph for this function:

Here is the caller graph for this function:

void bbtk::vtkGComplexBoxPortView::removeVtkActors (  )  [protected, virtual]

Reimplemented from bbtk::vtkGBoxView.

Definition at line 162 of file vtkGComplexBoxPortView.cxx.

References bbtk::vtkGObjectView::_baseView, and bbtk::vtkGObjectView::_borderObjectActor.

00163     {
00164         _baseView->GetRenderer( )->RemoveActor( _borderObjectActor ) ;
00165         vtkGObjectView::removeVtkActors( ) ;
00166     }

void bbtk::vtkGObjectView::setBaseView ( wxVtkBaseView *  baseView  )  [inherited]

void bbtk::vtkGObjectView::setModel ( GObjectModel model  )  [inherited]

void bbtk::vtkGObjectView::setRefreshWaiting (  )  [inherited]

Definition at line 173 of file vtkGObjectView.cxx.

References bbtk::vtkGObjectView::_baseView.

Referenced by bbtk::vtkGObjectView::removeFromScene(), bbtk::vtkGPortView::update(), update(), bbtk::vtkGBoxView::update(), and bbtk::vtkGBlackBoxView::update().

00174         {
00175                 ((vtkInteractorStyleBaseView*)_baseView->GetInteractorStyleBaseView())->SetRefresh_waiting();
00176         }

Here is the caller graph for this function:

void bbtk::vtkGObjectView::setStartDragging ( bool  param  )  [inherited]

Definition at line 150 of file vtkGObjectView.cxx.

References bbtk::vtkGObjectView::_isStartDragging, and bbtk::vtkGObjectView::dragDifX.

Referenced by bbtk::wxVtkSceneManager::OnMouseMove().

00151         {
00152                 _isStartDragging=param;
00153                 dragDifX=0;
00154                 dragDifX=0;
00155         }

Here is the caller graph for this function:

void bbtk::vtkGObjectView::setState ( int  state  )  [inherited]

void bbtk::vtkGComplexBoxPortView::update ( int  idController,
int  command 
) [protected, virtual]

Reimplemented from bbtk::vtkGBoxView.

Definition at line 54 of file vtkGComplexBoxPortView.cxx.

References bbtk::vtkGObjectView::_borderPolyMapper, bbtk::vtkGObjectView::_fillPolyMapper, bbtk::vtkGObjectView::_model, bbtk::vtkGObjectView::_pts, bbtk::GObjectModel::getFinalPoint(), bbtk::GObjectModel::getInicPoint(), bbtk::vtkGObjectView::setRefreshWaiting(), updateColors(), and bbtk::vtkGBoxView::updatePorts().

00054                                                                         {
00055         updateColors( ) ;
00056 
00057         double xInic , yInic , zInic , xFin , yFin , zFin ;
00058         _model->getInicPoint( xInic , yInic , zInic ) ;
00059         _model->getFinalPoint( xFin , yFin , zFin ) ;
00060 
00061         // RaC In the actual version, zInic=zFin=900
00062 
00063         _pts->SetPoint( 0 , xInic , yInic , zInic ) ;
00064         _pts->SetPoint( 1 , xInic , yFin , zInic ) ;
00065         _pts->SetPoint( 2 , xFin , yFin , zFin ) ;
00066         _pts->SetPoint( 3 , xFin , yInic , zFin ) ;
00067 
00068         updatePorts( ) ;
00069 
00070         _borderPolyMapper->Modified( ) ;
00071         _fillPolyMapper->Modified( ) ;
00072         //-----------
00073 
00074         //-----------
00075         setRefreshWaiting( ) ;
00076     }

Here is the call graph for this function:

void bbtk::vtkGComplexBoxPortView::updateColors (  )  [protected, virtual]

Reimplemented from bbtk::vtkGBoxView.

Definition at line 170 of file vtkGComplexBoxPortView.cxx.

References bbtk::vtkGObjectView::_borderObjectActor, bbtk::vtkGObjectView::_fillObjectActor, bbtk::vtkGObjectView::_model, bbtk::vtkGObjectView::_state, bbtk::BOXBORDER_DRAG_B, bbtk::BOXBORDER_DRAG_G, bbtk::BOXBORDER_DRAG_R, bbtk::BOXBORDER_HIGHLIGHTED_B, bbtk::BOXBORDER_HIGHLIGHTED_G, bbtk::BOXBORDER_HIGHLIGHTED_R, bbtk::BOXBORDER_SELECTED_B, bbtk::BOXBORDER_SELECTED_G, bbtk::BOXBORDER_SELECTED_R, bbtk::BOXFILL_DRAG_B, bbtk::BOXFILL_DRAG_G, bbtk::BOXFILL_DRAG_R, bbtk::BOXFILL_HIGHLIGHTED_B, bbtk::BOXFILL_HIGHLIGHTED_G, bbtk::BOXFILL_HIGHLIGHTED_R, bbtk::BOXFILL_SELECTED_B, bbtk::BOXFILL_SELECTED_G, bbtk::BOXFILL_SELECTED_R, bbtk::COMPLEXINPUTPORTBORDER_NH_B, bbtk::COMPLEXINPUTPORTBORDER_NH_G, bbtk::COMPLEXINPUTPORTBORDER_NH_R, bbtk::COMPLEXINPUTPORTFILL_NH_B, bbtk::COMPLEXINPUTPORTFILL_NH_G, bbtk::COMPLEXINPUTPORTFILL_NH_R, bbtk::COMPLEXOUTPUTPORTBORDER_NH_B, bbtk::COMPLEXOUTPUTPORTBORDER_NH_G, bbtk::COMPLEXOUTPUTPORTBORDER_NH_R, bbtk::COMPLEXOUTPUTPORTFILL_NH_B, bbtk::COMPLEXOUTPUTPORTFILL_NH_G, bbtk::COMPLEXOUTPUTPORTFILL_NH_R, bbtk::DRAG, bbtk::GCOMPLEXINPUTPORT, bbtk::GCOMPLEXOUTPUTPORT, bbtk::GComplexBoxPortModel::getComplexPortType(), bbtk::HIGHLIGHTED, bbtk::NOTHING_HAPPENS, and bbtk::SELECTED.

Referenced by update().

00170                                                {
00171         _fillObjectActor->GetProperty( )->SetAmbient( 0.6 ) ;
00172 
00173         if ( _state == NOTHING_HAPPENS ) {
00174             _borderObjectActor->GetProperty( )->SetLineWidth( 1 ) ;
00175 
00176 
00177             GComplexBoxPortModel *portModel = ( GComplexBoxPortModel* ) _model ;
00178             if ( portModel->getComplexPortType( ) == GCOMPLEXINPUTPORT ) {
00179                 _fillObjectActor->GetProperty( )->SetColor( COMPLEXINPUTPORTFILL_NH_R , COMPLEXINPUTPORTFILL_NH_G , COMPLEXINPUTPORTFILL_NH_B ) ;
00180                 _borderObjectActor->GetProperty( )->SetColor( COMPLEXINPUTPORTBORDER_NH_R , COMPLEXINPUTPORTBORDER_NH_G , COMPLEXINPUTPORTBORDER_NH_B ) ;
00181             } else if ( portModel->getComplexPortType( ) == GCOMPLEXOUTPUTPORT ) {
00182                 _fillObjectActor->GetProperty( )->SetColor( COMPLEXOUTPUTPORTFILL_NH_R , COMPLEXOUTPUTPORTFILL_NH_G , COMPLEXOUTPUTPORTFILL_NH_B ) ;
00183                 _borderObjectActor->GetProperty( )->SetColor( COMPLEXOUTPUTPORTBORDER_NH_R , COMPLEXOUTPUTPORTBORDER_NH_G , COMPLEXOUTPUTPORTBORDER_NH_B ) ;
00184             }
00185 
00186         } else if ( _state == HIGHLIGHTED ) {
00187             _borderObjectActor->GetProperty( )->SetLineWidth( 2 ) ;
00188 
00189             _borderObjectActor->GetProperty( )->SetColor( BOXBORDER_HIGHLIGHTED_R , BOXBORDER_HIGHLIGHTED_G , BOXBORDER_HIGHLIGHTED_B ) ;
00190             _fillObjectActor->GetProperty( )->SetColor( BOXFILL_HIGHLIGHTED_R , BOXFILL_HIGHLIGHTED_G , BOXFILL_HIGHLIGHTED_B ) ;
00191         } else if ( _state == DRAG ) {
00192             _borderObjectActor->GetProperty( )->SetLineWidth( 1.2 ) ;
00193             _borderObjectActor->GetProperty( )->SetColor( BOXBORDER_DRAG_R , BOXBORDER_DRAG_G , BOXBORDER_DRAG_B ) ;
00194             _fillObjectActor->GetProperty( )->SetColor( BOXFILL_DRAG_R , BOXFILL_DRAG_G , BOXFILL_DRAG_B ) ;
00195         } else if ( _state == SELECTED ) {
00196             _borderObjectActor->GetProperty( )->SetLineWidth( 2 ) ;
00197             _borderObjectActor->GetProperty( )->SetColor( BOXBORDER_SELECTED_R , BOXBORDER_SELECTED_G , BOXBORDER_SELECTED_B ) ;
00198             _fillObjectActor->GetProperty( )->SetColor( BOXFILL_SELECTED_R , BOXFILL_SELECTED_G , BOXFILL_SELECTED_B ) ;
00199         }
00200     }

Here is the call graph for this function:

Here is the caller graph for this function:

void bbtk::vtkGBoxView::updatePorts (  )  [protected, inherited]

Definition at line 205 of file vtkGBoxView.cxx.

References bbtk::vtkGObjectView::_model, and bbtk::GBoxModel::updatePorts().

Referenced by update(), bbtk::vtkGBoxView::update(), and bbtk::vtkGBlackBoxView::update().

00206         {
00207                 GBoxModel* bmod =(GBoxModel*)_model;
00208                 bmod->updatePorts();
00209         }

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

wxVtkBaseView* bbtk::vtkGObjectView::_baseView [protected, inherited]

vtkActor* bbtk::vtkGObjectView::_borderObjectActor [protected, inherited]

vtkPolyDataMapper* bbtk::vtkGObjectView::_borderPolyMapper [protected, inherited]

vtkActor* bbtk::vtkGObjectView::_fillObjectActor [protected, inherited]

vtkPolyDataMapper* bbtk::vtkGObjectView::_fillPolyMapper [protected, inherited]

GObjectModel* bbtk::vtkGObjectView::_model [protected, inherited]

vtkPoints* bbtk::vtkGObjectView::_pts [protected, inherited]

int bbtk::vtkGObjectView::_state [protected, inherited]


The documentation for this class was generated from the following files:

Generated on Thu May 31 15:13:47 2012 for bbtkGEditor by  doxygen 1.5.7.1