wxVTKRenderWindowInteractorPlus Class Reference

#include <wxVTKRenderWindowInteractorPlus.h>

Inheritance diagram for wxVTKRenderWindowInteractorPlus:
Inheritance graph
[legend]
Collaboration diagram for wxVTKRenderWindowInteractorPlus:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 wxVTKRenderWindowInteractorPlus (wxWindow *parent, wxVtkBaseView *_wxvtkbaseview)
virtual ~wxVTKRenderWindowInteractorPlus ()
 wxVTKRenderWindowInteractorPlus ()
void OnLeftDClick (wxMouseEvent &event)
void OnRightDClick (wxMouseEvent &event)
void OnMiddleDClick (wxMouseEvent &event)
void OnMouseWheel (wxMouseEvent &event)
void PrintSelf (ostream &os, vtkIndent indent)
void Initialize ()
void Enable ()
bool Enable (bool enable)
void Disable ()
void Start ()
void UpdateSize (int x, int y)
int CreateTimer (int timertype)
int DestroyTimer ()
void TerminateApp ()
void OnPaint (wxPaintEvent &event)
void OnEraseBackground (wxEraseEvent &event)
void OnMotion (wxMouseEvent &event)
void OnButtonDown (wxMouseEvent &event)
 (VTK_MAJOR_VERSION == 3 && VTK_MINOR_VERSION == 1)
void OnButtonUp (wxMouseEvent &event)
void OnEnter (wxMouseEvent &event)
void OnLeave (wxMouseEvent &event)
void OnKeyDown (wxKeyEvent &event)
void OnKeyUp (wxKeyEvent &event)
void OnTimer (wxTimerEvent &event)
void OnSize (wxSizeEvent &event)
void Render () throw (char*)
void SetRenderWhenDisabled (int newValue)
 vtkGetMacro (Stereo, int)
 vtkBooleanMacro (Stereo, int)
 vtkBooleanMacro (UseCaptureMouse, int)
virtual void SetStereo (int capable)
 vtkSetMacro (UseCaptureMouse, int)

Static Public Member Functions

static
wxVTKRenderWindowInteractorPlus
New ()

Protected Member Functions

long GetHandleHack ()

Protected Attributes

wxTimer timer
int ActiveButton
int RenderAllowed
int Stereo

Private Member Functions

 DECLARE_EVENT_TABLE ()

Private Attributes

wxVtkBaseView_wxvtkbaseview

Detailed Description

Definition at line 10 of file wxVTKRenderWindowInteractorPlus.h.


Constructor & Destructor Documentation

wxVTKRenderWindowInteractorPlus::wxVTKRenderWindowInteractorPlus ( wxWindow *  parent,
wxVtkBaseView _wxvtkbaseview 
)

Definition at line 20 of file wxVTKRenderWindowInteractorPlus.cxx.

References _wxvtkbaseview.

00021 : wxVTKRenderWindowInteractor(parent, -1)
00022 {
00023         _wxvtkbaseview = wxvtkbaseview;
00024 }

wxVTKRenderWindowInteractorPlus::~wxVTKRenderWindowInteractorPlus (  )  [virtual]

Definition at line 27 of file wxVTKRenderWindowInteractorPlus.cxx.

00028 {
00029 }

wxVTKRenderWindowInteractorPlus::wxVTKRenderWindowInteractorPlus (  ) 

Definition at line 13 of file wxVTKRenderWindowInteractorPlus.cxx.

00014 : wxVTKRenderWindowInteractor()
00015 {
00016 }


Member Function Documentation

int wxVTKRenderWindowInteractor::CreateTimer ( int  timertype  )  [inherited]
wxVTKRenderWindowInteractorPlus::DECLARE_EVENT_TABLE (  )  [private]
int wxVTKRenderWindowInteractor::DestroyTimer (  )  [inherited]

Definition at line 267 of file wxVTKRenderWindowInteractor.cxx.

00268 {
00269   // do nothing
00270   return 1;
00271 }

void wxVTKRenderWindowInteractor::Disable (  )  [inherited]

Definition at line 223 of file wxVTKRenderWindowInteractor.cxx.

00224 {
00225   // if already disabled then done
00226   if (!Enabled)
00227     return;
00228 
00229   // that's it (we can't remove the event handler like it should be...)
00230   Enabled = 0;
00231   Modified();
00232 }

bool wxVTKRenderWindowInteractor::Enable ( bool  enable  )  [inherited]

Definition at line 214 of file wxVTKRenderWindowInteractor.cxx.

References wxVTKRenderWindowInteractor::Enable().

00215 {
00216 #if defined(__WXGTK__) && defined(USE_WXGLCANVAS)
00217   return wxGLCanvas::Enable(enable);
00218 #else
00219   return wxWindow::Enable(enable);
00220 #endif
00221 }

Here is the call graph for this function:

void wxVTKRenderWindowInteractor::Enable (  )  [inherited]

Definition at line 200 of file wxVTKRenderWindowInteractor.cxx.

Referenced by wxVTKRenderWindowInteractor::Enable(), and wxVTKRenderWindowInteractor::Initialize().

00201 {
00202   // if already enabled then done
00203   if (Enabled)
00204     return;
00205 
00206   // that's it
00207   Enabled = 1;
00208 #if defined(__WXGTK__) && defined(USE_WXGLCANVAS)
00209   SetCurrent();
00210 #endif
00211   Modified();
00212 }

Here is the caller graph for this function:

long wxVTKRenderWindowInteractor::GetHandleHack (  )  [protected, inherited]

Definition at line 296 of file wxVTKRenderWindowInteractor.cxx.

Referenced by wxVTKRenderWindowInteractor::Render().

00297 {
00298   //helper function to hide the MSW vs GTK stuff
00299   long handle_tmp = 0;
00300 
00301 // __WXMSW__ is for Win32
00302 //__WXMAX__ stands for using Carbon C-headers, using either the CarbonLib/CFM or the native Mach-O builds (which then also use the latest features available)
00303 // __WXGTK__ is for both gtk 1.2.x and gtk 2.x
00304 #if defined(__WXMSW__) || defined(__WXMAC__)
00305     handle_tmp = (long)this->GetHandle();
00306 #endif //__WXMSW__
00307 
00308 //__WXCOCOA__ stands for using the objective-c Cocoa API
00309 #ifdef __WXCOCOA__
00310    // Here is how to find the NSWindow
00311    wxTopLevelWindow* toplevel = dynamic_cast<wxTopLevelWindow*>(
00312      wxGetTopLevelParent( this ) );
00313    if (toplevel != NULL )    
00314    {
00315      handle_tmp = (long)toplevel->GetNSWindow();
00316    }
00317    // The NSView will be deducted from 
00318    // [(NSWindow*)Handle contentView]
00319    // if only I knew how to write that in c++
00320 #endif //__WXCOCOA__
00321 
00322     // Find and return the actual X-Window.
00323 #if defined(__WXGTK__) || defined(__WXX11__)
00324     return (long)GetXWindow(this);
00325 #endif
00326 
00327 //#ifdef __WXMOTIF__
00328 //    handle_tmp = (long)this->GetXWindow();
00329 //#endif
00330 
00331   return handle_tmp;
00332 }

Here is the caller graph for this function:

void wxVTKRenderWindowInteractor::Initialize (  )  [inherited]

Definition at line 185 of file wxVTKRenderWindowInteractor.cxx.

References wxVTKRenderWindowInteractor::Enable().

00186 {
00187   int *size = RenderWindow->GetSize();
00188   // enable everything and start rendering
00189   Enable();
00190   //RenderWindow->Start();
00191 
00192   // set the size in the render window interactor
00193   Size[0] = size[0];
00194   Size[1] = size[1];
00195 
00196   // this is initialized
00197   Initialized = 1;
00198 }

Here is the call graph for this function:

wxVTKRenderWindowInteractorPlus * wxVTKRenderWindowInteractorPlus::New (  )  [static]

Reimplemented from wxVTKRenderWindowInteractor.

Definition at line 32 of file wxVTKRenderWindowInteractorPlus.cxx.

00033 {
00034   // we don't make use of the objectfactory, because we're not registered
00035   return new wxVTKRenderWindowInteractorPlus;
00036 }

void wxVTKRenderWindowInteractor::OnButtonDown ( wxMouseEvent &  event  )  [inherited]

(VTK_MAJOR_VERSION == 3 && VTK_MINOR_VERSION == 1)

Reimplemented in wxVTKRenderWindowInteractorEditContour.

Definition at line 542 of file wxVTKRenderWindowInteractor.cxx.

References wxVTKRenderWindowInteractor::ActiveButton, wxVTKRenderWindowInteractor::UseCaptureMouse, and WX_USE_X_CAPTURE.

00543 {
00544         
00545   if (!Enabled || (ActiveButton != wxEVT_NULL))
00546     {
00547     return;
00548     }
00549   ActiveButton = event.GetEventType();
00550 
00551 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00552   SetEventInformationFlipY(event.GetX(), event.GetY(), 
00553     event.ControlDown(), event.ShiftDown(), '\0', 0, NULL);
00554 #endif
00555 
00556   if(event.RightDown())
00557   {
00558 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00559     // new style
00560     InvokeEvent(vtkCommand::RightButtonPressEvent, NULL);
00561 #else            
00562     // old style
00563     InteractorStyle->OnRightButtonDown(event.ControlDown(), event.ShiftDown(),
00564       event.GetX(), Size[1] - event.GetY() - 1);
00565 #endif
00566   }
00567   else if(event.LeftDown())
00568   {
00569 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00570     // new style
00571     InvokeEvent(vtkCommand::LeftButtonPressEvent, NULL);
00572 #else            
00573     // old style
00574     InteractorStyle->OnLeftButtonDown(event.ControlDown(),  event.ShiftDown(),
00575       event.GetX(), Size[1] - event.GetY() - 1);
00576 #endif
00577   }
00578   else if(event.MiddleDown())
00579   {
00580 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00581     // new style
00582     InvokeEvent(vtkCommand::MiddleButtonPressEvent, NULL);
00583 #else            
00584     // old style
00585     InteractorStyle->OnMiddleButtonDown(event.ControlDown(), event.ShiftDown(),
00586       event.GetX(), Size[1] - event.GetY() - 1);
00587 #endif
00588   }
00589   //save the button and capture mouse until the button is released
00590   //Only if :
00591   //1. it is possible (WX_USE_X_CAPTURE)
00592   //2. user decided to.
00593   if ((ActiveButton != wxEVT_NULL) && WX_USE_X_CAPTURE && UseCaptureMouse)
00594   {
00595     CaptureMouse();
00596   }
00597 }

void wxVTKRenderWindowInteractor::OnButtonUp ( wxMouseEvent &  event  )  [inherited]

Reimplemented in wxVTKRenderWindowInteractorEditContour.

Definition at line 599 of file wxVTKRenderWindowInteractor.cxx.

References wxVTKRenderWindowInteractor::ActiveButton, wxVTKRenderWindowInteractor::UseCaptureMouse, and WX_USE_X_CAPTURE.

00600 {
00601   //EVT_xxx_DOWN == EVT_xxx_UP - 1
00602   //This is only needed if two mouse buttons are pressed at the same time.
00603   //In wxWindows 2.4 and later: better use of wxMOUSE_BTN_RIGHT or 
00604   //wxEVT_COMMAND_RIGHT_CLICK
00605   if (!Enabled || (ActiveButton != (event.GetEventType()-1))) 
00606     {
00607     return;
00608     }
00609 
00610 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00611   SetEventInformationFlipY(event.GetX(), event.GetY(), 
00612     event.ControlDown(), event.ShiftDown(), '\0', 0, NULL);
00613 #endif
00614   
00615   if(ActiveButton == wxEVT_RIGHT_DOWN)
00616   {
00617 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00618     // new style
00619     InvokeEvent(vtkCommand::RightButtonReleaseEvent, NULL);
00620 #else            
00621     // old style
00622     InteractorStyle->OnRightButtonUp(event.ControlDown(), event.ShiftDown(),
00623       event.GetX(), Size[1] - event.GetY() - 1);
00624 #endif
00625   }
00626   else if(ActiveButton == wxEVT_LEFT_DOWN)
00627   {
00628 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00629     // new style
00630     InvokeEvent(vtkCommand::LeftButtonReleaseEvent, NULL);
00631 #else            
00632     // old style
00633     InteractorStyle->OnLeftButtonUp(event.ControlDown(), event.ShiftDown(),
00634       event.GetX(), Size[1] - event.GetY() - 1);
00635 #endif
00636   }
00637   else if(ActiveButton == wxEVT_MIDDLE_DOWN)
00638   {
00639 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00640     // new style
00641     InvokeEvent(vtkCommand::MiddleButtonReleaseEvent, NULL);
00642 #else            
00643     // old style
00644     InteractorStyle->OnMiddleButtonUp(event.ControlDown(), event.ShiftDown(),
00645       event.GetX(), Size[1] - event.GetY() - 1);
00646 #endif
00647   }
00648   //if the ActiveButton is realeased, then release mouse capture
00649   if ((ActiveButton != wxEVT_NULL) && WX_USE_X_CAPTURE && UseCaptureMouse)
00650   {
00651     ReleaseMouse();
00652   }
00653   ActiveButton = wxEVT_NULL;
00654 }

void wxVTKRenderWindowInteractor::OnEnter ( wxMouseEvent &  event  )  [inherited]

Definition at line 407 of file wxVTKRenderWindowInteractor.cxx.

00408 {
00409         SetFocus();
00410   if (!Enabled) 
00411     {           
00412                 return; 
00413     }
00414 
00415 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00416     // new style
00417   SetEventInformationFlipY(event.GetX(), event.GetY(), 
00418       event.ControlDown(), event.ShiftDown(), '\0', 0, NULL);
00419 
00420   InvokeEvent(vtkCommand::EnterEvent, NULL);
00421 #else
00422     // old style
00423   InteractorStyle->OnEnter(event.ControlDown(), event.ShiftDown(),
00424       event.GetX(), Size[1] - event.GetY() - 1);  
00425 #endif
00426 }

void wxVTKRenderWindowInteractor::OnEraseBackground ( wxEraseEvent &  event  )  [inherited]

Definition at line 363 of file wxVTKRenderWindowInteractor.cxx.

00364 {
00365   //printf("EED wxVTKRenderWindowInteractor::OnEraseBackground \n");
00366   //turn off background erase to reduce flickering on MSW
00367   event.Skip(false);
00368 }

void wxVTKRenderWindowInteractor::OnKeyDown ( wxKeyEvent &  event  )  [inherited]

Reimplemented in wxVTKRenderWindowInteractorEditContour.

Definition at line 448 of file wxVTKRenderWindowInteractor.cxx.

00449 {
00450   if (!Enabled) 
00451     {
00452     return;
00453     }
00454 
00455 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00456     // new style
00457   int keycode = event.GetKeyCode();
00458  
00459 
00460   char key = '\0';
00461   if ( keycode < 256 )
00462   {
00463     // TODO: Unicode in non-Unicode mode ??
00464     key = (char)keycode;
00465   }
00466   else//Dic 2007
00467   {
00468         if ( keycode==314 )//Real keyCode for Left ARROW and non-Unicode
00469         {       
00470                 key = 'L';//Left
00471         }
00472         else if( keycode==315 )//Real keyCode for Left ARROW and non-Unicode
00473         {
00474                 key = 'U';//Up
00475         }
00476         else if( keycode==316 )//Real keyCode for Left ARROW and non-Unicode
00477         {
00478                 key = 'R';//Right
00479         }
00480         else if( keycode==317 )//Real keyCode for Down ARROW and non-Unicode
00481         {
00482                 key = 'D';//Down
00483         }
00484         else if( keycode==312 )//Real keyCode for Diagonal left down ARROW and non-Unicode
00485         {
00486                 key = 'W';//Diagonal left down
00487         }
00488         else if( keycode==313 )//Real keyCode for Diagonal left up ARROW and non-Unicode
00489         {
00490                 key = 'Q';//Diagonal left up
00491         }
00492         else if( keycode==366 )//Real keyCode for Diagonal right up ARROW and non-Unicode
00493         {
00494                 key = 'P';//Diagonal right up
00495         }
00496         else if( keycode==367 )//Real keyCode for Diagonal right down ARROW and non-Unicode
00497         {
00498                 key = 'M';//Diagonal right down
00499         }
00500   }
00501 
00502   SetEventInformationFlipY(event.GetX(), event.GetY(), 
00503     event.ControlDown(), event.ShiftDown(), key, 0, NULL);
00504 
00505   InvokeEvent(vtkCommand::KeyPressEvent, NULL);
00506   InvokeEvent(vtkCommand::CharEvent, NULL);
00507 #else
00508   InteractorStyle->OnKeyDown(event.ControlDown(), event.ShiftDown(), 
00509     event.GetKeyCode(), 1);
00510 #endif
00511   event.Skip();
00512 }

void wxVTKRenderWindowInteractor::OnKeyUp ( wxKeyEvent &  event  )  [inherited]

Definition at line 514 of file wxVTKRenderWindowInteractor.cxx.

00515 {
00516   if (!Enabled) 
00517     {
00518     return;
00519     }
00520 
00521 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00522     // new style
00523   int keycode = event.GetKeyCode();
00524   char key = '\0';
00525   if (keycode < 256)
00526   {
00527     // TODO: Unicode in non-Unicode mode ??
00528     key = (char)keycode;
00529   }
00530 
00531   SetEventInformationFlipY(event.GetX(), event.GetY(), 
00532     event.ControlDown(), event.ShiftDown(), key, 0, NULL);
00533   InvokeEvent(vtkCommand::KeyReleaseEvent, NULL);
00534 #else
00535   InteractorStyle->OnKeyUp(event.ControlDown(), event.ShiftDown(), 
00536     event.GetKeyCode(), 1);
00537 #endif
00538   event.Skip();
00539 }

void wxVTKRenderWindowInteractor::OnLeave ( wxMouseEvent &  event  )  [inherited]

Definition at line 428 of file wxVTKRenderWindowInteractor.cxx.

00429 {
00430   if (!Enabled) 
00431     {
00432     return;
00433     }
00434 
00435 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00436     // new style
00437   SetEventInformationFlipY(event.GetX(), event.GetY(), 
00438       event.ControlDown(), event.ShiftDown(), '\0', 0, NULL);
00439 
00440   InvokeEvent(vtkCommand::LeaveEvent, NULL);
00441 #else
00442     // old style
00443   InteractorStyle->OnLeave(event.ControlDown(), event.ShiftDown(),
00444       event.GetX(), Size[1] - event.GetY() - 1);  
00445 #endif
00446 }

void wxVTKRenderWindowInteractorPlus::OnLeftDClick ( wxMouseEvent &  event  ) 

JCP 14/05/09 wxvtkbaseview->GetInteractorStyleBaseView()->OnLeftDClick();

Definition at line 39 of file wxVTKRenderWindowInteractorPlus.cxx.

References _wxvtkbaseview, and wxVtkBaseView::GetInteractorStyleBaseView().

Here is the call graph for this function:

void wxVTKRenderWindowInteractorPlus::OnMiddleDClick ( wxMouseEvent &  event  ) 

JCP 14/05/09

_wxvtkbaseview->GetInteractorStyleBaseView()->OnMiddleDClick();

Definition at line 57 of file wxVTKRenderWindowInteractorPlus.cxx.

References _wxvtkbaseview, and wxVtkBaseView::GetInteractorStyleBaseView().

Here is the call graph for this function:

void wxVTKRenderWindowInteractor::OnMotion ( wxMouseEvent &  event  )  [inherited]

Reimplemented in wxVTKRenderWindowInteractorEditContour.

Definition at line 388 of file wxVTKRenderWindowInteractor.cxx.

00389 {
00390  if (!Enabled) 
00391     {
00392    return;
00393     }
00394 
00395 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
00396   SetEventInformationFlipY(event.GetX(), event.GetY(), 
00397     event.ControlDown(), event.ShiftDown(), '\0', 0, NULL);
00398 
00399   InvokeEvent(vtkCommand::MouseMoveEvent, NULL);
00400 #else
00401   InteractorStyle->OnMouseMove(event.ControlDown(), event.ShiftDown(),
00402     event.GetX(), Size[1] - event.GetY() - 1);
00403 #endif
00404 }

void wxVTKRenderWindowInteractorPlus::OnMouseWheel ( wxMouseEvent &  event  ) 

JCP 14/05/09

_wxvtkbaseview->GetInteractorStyleBaseView()->OnMouseWheel();

Reimplemented from wxVTKRenderWindowInteractor.

Definition at line 67 of file wxVTKRenderWindowInteractorPlus.cxx.

References _wxvtkbaseview, and wxVtkBaseView::GetInteractorStyleBaseView().

Here is the call graph for this function:

void wxVTKRenderWindowInteractor::OnPaint ( wxPaintEvent &  event  )  [inherited]
void wxVTKRenderWindowInteractorPlus::OnRightDClick ( wxMouseEvent &  event  ) 

JCP 14/05/09 _wxvtkbaseview->GetInteractorStyleBaseView()->OnRightDClick();

Definition at line 48 of file wxVTKRenderWindowInteractorPlus.cxx.

References _wxvtkbaseview, and wxVtkBaseView::GetInteractorStyleBaseView().

Here is the call graph for this function:

void wxVTKRenderWindowInteractor::OnSize ( wxSizeEvent &  event  )  [inherited]
void wxVTKRenderWindowInteractor::OnTimer ( wxTimerEvent &  event  )  [inherited]
void wxVTKRenderWindowInteractor::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [inherited]

Definition at line 764 of file wxVTKRenderWindowInteractor.cxx.

00765 {
00766   this->Superclass::PrintSelf(os, indent);
00767 }

void wxVTKRenderWindowInteractor::Render (  )  throw (char*) [inherited]

Reimplemented in vtk3DSurfaceWidget.

Definition at line 682 of file wxVTKRenderWindowInteractor.cxx.

References wxVTKRenderWindowInteractor::GetHandleHack(), wxVTKRenderWindowInteractor::Handle, wxVTKRenderWindowInteractor::RenderAllowed, and wxVTKRenderWindowInteractor::RenderWhenDisabled.

Referenced by wxMaracasImageBrowser02::LoadData().

00683 {
00684   RenderAllowed = 1;
00685   if (!RenderWhenDisabled)
00686     {
00687     //the user doesn't want us to render when the toplevel frame
00688     //is disabled - first find the top level parent
00689     wxWindow *topParent = wxGetTopLevelParent(this);
00690     if (topParent)
00691       {
00692       //if it exists, check whether it's enabled
00693       //if it's not enabeld, RenderAllowed will be false
00694       RenderAllowed = topParent->IsEnabled();
00695       }
00696     }
00697 
00698   if (RenderAllowed)
00699     {
00700     if(Handle && (Handle == GetHandleHack()) )
00701       {
00702                   if(RenderWindow!=NULL){
00703                         RenderWindow->Render();
00704                   }else{
00705                           throw "wxVTKRenderWindowInteractor::Render(){RenderWindow not set}";
00706                   }
00707       }
00708 #if VTK_MAJOR_VERSION == 5 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 2)
00709     else if(GetHandleHack())
00710       {
00711       //this means the user has reparented us; let's adapt to the
00712       //new situation by doing the WindowRemap dance
00713       //store the new situation
00714                   if(RenderWindow!=NULL){
00715                         Handle = GetHandleHack();
00716                         RenderWindow->SetNextWindowId(reinterpret_cast<void *>(Handle));
00717                         RenderWindow->WindowRemap();
00718                         RenderWindow->Render();
00719                   }
00720       }
00721 #endif
00722     }
00723 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxVTKRenderWindowInteractor::SetRenderWhenDisabled ( int  newValue  )  [inherited]

Definition at line 725 of file wxVTKRenderWindowInteractor.cxx.

References wxVTKRenderWindowInteractor::RenderWhenDisabled.

00726 {
00727   //Change value of __RenderWhenDisabled ivar.
00728   //If __RenderWhenDisabled is false (the default), this widget will not
00729   //call Render() on the RenderWindow if the top level frame (i.e. the
00730   //containing frame) has been disabled.
00731 
00732   //This prevents recursive rendering during wxSafeYield() calls.
00733   //wxSafeYield() can be called during the ProgressMethod() callback of
00734   //a VTK object to have progress bars and other GUI elements updated -
00735   //it does this by disabling all windows (disallowing user-input to
00736   //prevent re-entrancy of code) and then handling all outstanding
00737   //GUI events.
00738         
00739   //However, this often triggers an OnPaint() method for wxVTKRWIs,
00740   //resulting in a Render(), resulting in Update() being called whilst
00741   //still in progress.
00742 
00743   RenderWhenDisabled = (bool)newValue;
00744 }

void wxVTKRenderWindowInteractor::SetStereo ( int  capable  )  [virtual, inherited]

Definition at line 750 of file wxVTKRenderWindowInteractor.cxx.

References wxVTKRenderWindowInteractor::Stereo.

00751 {
00752   if (Stereo != capable)
00753     {
00754     Stereo = capable;
00755     RenderWindow->StereoCapableWindowOn();
00756     RenderWindow->SetStereoTypeToCrystalEyes();
00757     Modified();
00758     }
00759 }

void wxVTKRenderWindowInteractor::Start (  )  [inherited]

Definition at line 234 of file wxVTKRenderWindowInteractor.cxx.

00235 {
00236   // the interactor cannot control the event loop
00237   vtkErrorMacro( << "wxVTKRenderWindowInteractor::Start() "
00238     "interactor cannot control event loop.");
00239 }

void wxVTKRenderWindowInteractor::TerminateApp (  )  [inline, inherited]

Definition at line 124 of file wxVTKRenderWindowInteractor.h.

00124 {};

void wxVTKRenderWindowInteractor::UpdateSize ( int  x,
int  y 
) [inherited]

Definition at line 241 of file wxVTKRenderWindowInteractor.cxx.

00242 {
00243   if( RenderWindow )
00244   {
00245     // if the size changed tell render window
00246     if ( x != Size[0] || y != Size[1] )
00247     {
00248       // adjust our (vtkRenderWindowInteractor size)
00249       Size[0] = x;
00250       Size[1] = y;
00251       // and our RenderWindow's size
00252       RenderWindow->SetSize(x, y);
00253     }
00254   }
00255 }

wxVTKRenderWindowInteractor::vtkBooleanMacro ( UseCaptureMouse  ,
int   
) [inherited]
wxVTKRenderWindowInteractor::vtkBooleanMacro ( Stereo  ,
int   
) [inherited]
wxVTKRenderWindowInteractor::vtkGetMacro ( Stereo  ,
int   
) [inherited]
wxVTKRenderWindowInteractor::vtkSetMacro ( UseCaptureMouse  ,
int   
) [inherited]

Member Data Documentation

int wxVTKRenderWindowInteractor::ActiveButton [protected, inherited]
int wxVTKRenderWindowInteractor::RenderAllowed [protected, inherited]

Definition at line 163 of file wxVTKRenderWindowInteractor.h.

Referenced by wxVTKRenderWindowInteractor::Render().

int wxVTKRenderWindowInteractor::Stereo [protected, inherited]
wxTimer wxVTKRenderWindowInteractor::timer [protected, inherited]

Definition at line 161 of file wxVTKRenderWindowInteractor.h.


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

Generated on 20 Oct 2010 for creaMaracasVisu_lib by  doxygen 1.6.1