Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

97 lines
3.3 KiB

/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: vtkInteractorStyleSwitch.h,v $
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.
=========================================================================*/
// .NAME vtkInteractorStyleSwitch - class to swap between interactory styles
// .SECTION Description
// The class vtkInteractorStyleSwitch allows handles interactively switching
// between four interactor styles -- joystick actor, joystick camera,
// trackball actor, and trackball camera. Type 'j' or 't' to select
// joystick or trackball, and type 'c' or 'a' to select camera or actor.
// The default interactor style is joystick camera.
// .SECTION See Also
// vtkInteractorStyleJoystickActor vtkInteractorStyleJoystickCamera
// vtkInteractorStyleTrackballActor vtkInteractorStyleTrackballCamera
#ifndef __vtkInteractorStyleSwitch_h
#define __vtkInteractorStyleSwitch_h
#include "vtkInteractorStyle.h"
#define VTKIS_JOYSTICK 0
#define VTKIS_TRACKBALL 1
#define VTKIS_CAMERA 0
#define VTKIS_ACTOR 1
class vtkInteractorStyleJoystickActor;
class vtkInteractorStyleJoystickCamera;
class vtkInteractorStyleTrackballActor;
class vtkInteractorStyleTrackballCamera;
class VTK_RENDERING_EXPORT vtkInteractorStyleSwitch : public vtkInteractorStyle
{
public:
static vtkInteractorStyleSwitch *New();
vtkTypeRevisionMacro(vtkInteractorStyleSwitch, vtkInteractorStyle);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// The sub styles need the interactor too.
void SetInteractor(vtkRenderWindowInteractor *iren);
// Description:
// We must override this method in order to pass the setting down to
// the underlying styles
void SetAutoAdjustCameraClippingRange( int value );
// Description:
// Set/Get current style
vtkGetObjectMacro(CurrentStyle, vtkInteractorStyle);
void SetCurrentStyleToJoystickActor();
void SetCurrentStyleToJoystickCamera();
void SetCurrentStyleToTrackballActor();
void SetCurrentStyleToTrackballCamera();
// Description:
// Only care about the char event, which is used to switch between
// different styles.
virtual void OnChar();
// Description:
// Overridden from vtkInteractorObserver because the interactor styles
// used by this class must also be updated.
virtual void SetDefaultRenderer(vtkRenderer*);
virtual void SetCurrentRenderer(vtkRenderer*);
protected:
vtkInteractorStyleSwitch();
~vtkInteractorStyleSwitch();
void SetCurrentStyle();
vtkInteractorStyleJoystickActor *JoystickActor;
vtkInteractorStyleJoystickCamera *JoystickCamera;
vtkInteractorStyleTrackballActor *TrackballActor;
vtkInteractorStyleTrackballCamera *TrackballCamera;
vtkInteractorStyle* CurrentStyle;
int JoystickOrTrackball;
int CameraOrActor;
private:
vtkInteractorStyleSwitch(const vtkInteractorStyleSwitch&); // Not implemented.
void operator=(const vtkInteractorStyleSwitch&); // Not implemented.
};
#endif