VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Rendering/Core/vtkAbstractInteractionDevice.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004 
00005   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00014 #ifndef vtkAbstractInteractionDevice_h
00015 #define vtkAbstractInteractionDevice_h
00016 
00017 #include "vtkObject.h"
00018 #include "vtkRenderingCoreModule.h" // For export macro
00019 
00020 class vtkRenderWidget;
00021 class vtkAbstractRenderDevice;
00022 
00023 class VTKRENDERINGCORE_EXPORT vtkAbstractInteractionDevice : public vtkObject
00024 {
00025 public:
00026   vtkTypeMacro(vtkAbstractInteractionDevice, vtkObject)
00027   void PrintSelf(ostream& os, vtkIndent indent);
00028 
00034   static vtkAbstractInteractionDevice* New();
00035 
00039   virtual void Initialize() = 0;
00040 
00044   virtual void Start() = 0;
00045 
00050   virtual void ProcessEvents() = 0;
00051 
00052   void SetRenderWidget(vtkRenderWidget *widget);
00053   vtkRenderWidget* GetRenderWidget() { return this->RenderWidget; }
00054   void SetRenderDevice(vtkAbstractRenderDevice *device);
00055   vtkAbstractRenderDevice* GetRenderDevice() { return this->RenderDevice; }
00056 
00057 protected:
00058   vtkAbstractInteractionDevice();
00059   ~vtkAbstractInteractionDevice();
00060 
00061   bool Initialized;
00062   vtkRenderWidget *RenderWidget;
00063   vtkAbstractRenderDevice *RenderDevice;
00064 
00065 private:
00066   vtkAbstractInteractionDevice(const vtkAbstractInteractionDevice&);  // Not implemented.
00067   void operator=(const vtkAbstractInteractionDevice&);  // Not implemented.
00068 };
00069 
00070 #endif