80 #ifndef vtkInteractorStyleUnicam_h
81 #define vtkInteractorStyleUnicam_h
83 #include "vtkInteractionStyleModule.h"
98 #define VTK_UNICAM_NONE 0
99 #define VTK_UNICAM_BUTTON_LEFT 1
100 #define VTK_UNICAM_BUTTON_MIDDLE 2
101 #define VTK_UNICAM_BUTTON_RIGHT 3
104 #define VTK_UNICAM_CAM_INT_ROT 0
105 #define VTK_UNICAM_CAM_INT_CHOOSE 1
106 #define VTK_UNICAM_CAM_INT_PAN 2
107 #define VTK_UNICAM_CAM_INT_DOLLY 3
117 void SetWorldUpVector(
double x,
double y,
double z);
118 vtkGetVectorMacro(WorldUpVector,
double, 3);
127 virtual void OnLeftButtonMove();
151 double WorldUpVector[3];
159 void ChooseXY(
int X,
int Y );
160 void RotateXY(
int X,
int Y );
161 void DollyXY(
int X,
int Y );
162 void PanXY(
int X,
int Y );
165 void MyTranslateCamera(
double v[3]);
166 void MyRotateCamera(
double cx,
double cy,
double cz,
167 double ax,
double ay,
double az,
175 void GetRightVandUpV(
double *p,
vtkCamera *cam,
176 double *rightV,
double *upV);
179 void NormalizeMouseXY(
int X,
int Y,
double *NX,
double *NY);
182 double WindowAspect();
188 #endif // vtkInteractorStyleUnicam_h
virtual void OnLeftButtonDown()
represents an object (geometry & properties) in a rendered scene
virtual void OnLeftButtonUp()
static vtkInteractorStyle * New()
This class must be supplied with a vtkRenderWindowInteractor wrapper or parent.
abstract specification for renderers
vtkWorldPointPicker * InteractionPicker
virtual void OnTimer()
OnTimer calls Rotate, Rotate etc which should be overridden by style subclasses.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
a virtual camera for 3D rendering
void SetWorldUpVector(double a[3])
provides Unicam navigation style
provide event-driven interface to the rendering window (defines trackball mode)
vtkRenderer * FocusSphereRenderer
find world x,y,z corresponding to display x,y,z
virtual void OnMouseMove()
Generic event bindings can be overridden in subclasses.