You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
3.1 KiB
C
85 lines
3.1 KiB
C
3 weeks ago
|
/*=========================================================================
|
||
|
|
||
|
Program: Visualization Toolkit
|
||
|
Module: vtkGenericRenderWindowInteractor.h
|
||
|
|
||
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
||
|
All rights reserved.
|
||
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
||
|
|
||
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
||
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||
|
PURPOSE. See the above copyright notice for more information.
|
||
|
|
||
|
=========================================================================*/
|
||
|
/**
|
||
|
* @class vtkGenericRenderWindowInteractor
|
||
|
* @brief platform-independent programmable render window interactor.
|
||
|
*
|
||
|
*
|
||
|
* vtkGenericRenderWindowInteractor provides a way to translate native
|
||
|
* mouse and keyboard events into vtk Events. By calling the methods on
|
||
|
* this class, vtk events will be invoked. This will allow scripting
|
||
|
* languages to use vtkInteractorStyles and 3D widgets.
|
||
|
*/
|
||
|
|
||
|
#ifndef vtkGenericRenderWindowInteractor_h
|
||
|
#define vtkGenericRenderWindowInteractor_h
|
||
|
|
||
|
#include "vtkRenderWindowInteractor.h"
|
||
|
#include "vtkRenderingUIModule.h" // For export macro
|
||
|
|
||
|
class VTKRENDERINGUI_EXPORT vtkGenericRenderWindowInteractor : public vtkRenderWindowInteractor
|
||
|
{
|
||
|
public:
|
||
|
static vtkGenericRenderWindowInteractor* New();
|
||
|
vtkTypeMacro(vtkGenericRenderWindowInteractor, vtkRenderWindowInteractor);
|
||
|
void PrintSelf(ostream& os, vtkIndent indent) override;
|
||
|
|
||
|
/**
|
||
|
* Fire TimerEvent. SetEventInformation should be called just prior
|
||
|
* to calling any of these methods. These methods will Invoke the
|
||
|
* corresponding vtk event.
|
||
|
*/
|
||
|
virtual void TimerEvent();
|
||
|
|
||
|
//@{
|
||
|
/**
|
||
|
* Flag that indicates whether the TimerEvent method should call ResetTimer
|
||
|
* to simulate repeating timers with an endless stream of one shot timers.
|
||
|
* By default this flag is on and all repeating timers are implemented as a
|
||
|
* stream of sequential one shot timers. If the observer of
|
||
|
* CreateTimerEvent actually creates a "natively repeating" timer, setting
|
||
|
* this flag to off will prevent (perhaps many many) unnecessary calls to
|
||
|
* ResetTimer. Having the flag on by default means that "natively one
|
||
|
* shot" timers can be either one shot or repeating timers with no
|
||
|
* additional work. Also, "natively repeating" timers still work with the
|
||
|
* default setting, but with potentially many create and destroy calls.
|
||
|
*/
|
||
|
vtkSetMacro(TimerEventResetsTimer, vtkTypeBool);
|
||
|
vtkGetMacro(TimerEventResetsTimer, vtkTypeBool);
|
||
|
vtkBooleanMacro(TimerEventResetsTimer, vtkTypeBool);
|
||
|
//@}
|
||
|
|
||
|
protected:
|
||
|
vtkGenericRenderWindowInteractor();
|
||
|
~vtkGenericRenderWindowInteractor() override;
|
||
|
|
||
|
//@{
|
||
|
/**
|
||
|
* Generic internal timer methods. See the superclass for detailed
|
||
|
* documentation.
|
||
|
*/
|
||
|
int InternalCreateTimer(int timerId, int timerType, unsigned long duration) override;
|
||
|
int InternalDestroyTimer(int platformTimerId) override;
|
||
|
//@}
|
||
|
|
||
|
vtkTypeBool TimerEventResetsTimer;
|
||
|
|
||
|
private:
|
||
|
vtkGenericRenderWindowInteractor(const vtkGenericRenderWindowInteractor&) = delete;
|
||
|
void operator=(const vtkGenericRenderWindowInteractor&) = delete;
|
||
|
};
|
||
|
|
||
|
#endif
|