VTK
|
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