37 #include "vtkCommand.h"
38 #include "vtkCallbackCommand.h"
39 #include "vtkCamera.h"
40 #include "vtkRenderer.h"
41 #include "vtkSmartPointer.h"
45 std::vector< QGoSynchronizedView2D * > iOpenSynchronizedViews,
48 Initialize( iOpenSynchronizedViews.begin(), iOpenSynchronizedViews.end() );
84 long unsigned int eventId,
94 std::vector< QGoSynchronizedView2D * > p_m_QGoSynchronizedViews =
95 *
static_cast< std::vector< QGoSynchronizedView2D * > *
>
99 vtkCamera *movedCamera =
100 static_cast< vtkCamera *
>( caller );
103 std::vector< QGoSynchronizedView2D * >::iterator SynchronizedViewIt =
104 p_m_QGoSynchronizedViews.begin();
105 while ( SynchronizedViewIt != p_m_QGoSynchronizedViews.end() )
109 if ( ( ( *SynchronizedViewIt )->GetCamera() != NULL )
110 && ( ( *SynchronizedViewIt )->GetCamera() != movedCamera ) )
112 ( *SynchronizedViewIt )->GetCamera()->DeepCopy(movedCamera);
114 ( *SynchronizedViewIt )->Render();
116 ++SynchronizedViewIt;
135 if ( ioSynchronizedView )
139 std::vector< QGoSynchronizedView2D * >::iterator
153 ( *SynchronizedViewIt ) = NULL;
164 if ( ioSynchronizedView )
171 ioSynchronizedView->
GetCamera()->AddObserver(
172 vtkCommand::ModifiedEvent,
177 std::cerr <<
"trying to synchronize a visualization object missing a QGoImageView"