X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Applications%2FvtkMyInteractorStyleTrackballCameraOpenHeartXZ.h;fp=Applications%2FvtkMyInteractorStyleTrackballCameraOpenHeartXZ.h;h=b2e0611bb239849772b4cc91949aaf4a566bab9e;hb=e989157c905531306964b1f4d2d70991029aaca2;hp=0000000000000000000000000000000000000000;hpb=a29e955d81fcaf6b37db4a5cb168549f96f1fff3;p=openheart.git diff --git a/Applications/vtkMyInteractorStyleTrackballCameraOpenHeartXZ.h b/Applications/vtkMyInteractorStyleTrackballCameraOpenHeartXZ.h new file mode 100644 index 0000000..b2e0611 --- /dev/null +++ b/Applications/vtkMyInteractorStyleTrackballCameraOpenHeartXZ.h @@ -0,0 +1,77 @@ +/** +* Progam made by Olivier Bernard, associate professor +* at Institut National des Sciences Appliquees (INSA) Lyon, +* CREATIS-LRMN Laboratory, +* 69621 Villeurbanne, France, +* 20th of May 2014 +*/ + +#ifndef __vtkMyInteractorStyleTrackballCameraOpenHeartXZ_h__ +#define __vtkMyInteractorStyleTrackballCameraOpenHeartXZ_h__ + +#include +#include +#include "OpenHeartGui.h" + + +class vtkMyInteractorStyleTrackballCameraOpenHeartXZ : public vtkInteractorStyleTrackballCamera +{ + + public: + + void SetOpenHeartGui( OpenHeartGui *win ) { this->window = win; } + + static vtkMyInteractorStyleTrackballCameraOpenHeartXZ *New() + { + /// First try to create the object from the vtkObjectFactory + vtkObject *ret = vtkObjectFactory::CreateInstance ("vtkMyInteractorStyleTrackballCameraOpenHeartXZ"); + if (ret) + { + return (vtkMyInteractorStyleTrackballCameraOpenHeartXZ *) ret; + } + /// If the factory was unable to create the object, then create it here. + return (new vtkMyInteractorStyleTrackballCameraOpenHeartXZ); + } + + + virtual void OnLeftButtonDown() { } + virtual void OnRightButtonDown() { } + virtual void OnMiddleButtonDown() { } + + virtual void OnMouseWheelForward(); + virtual void OnMouseWheelBackward(); + virtual void OnEnter(); + virtual void OnLeave(); + + + protected: + + vtkMyInteractorStyleTrackballCameraOpenHeartXZ() : FlagFirstTime(0), Step(1), PadBound(0.2) + { + for (int i=0; i<6; i++) + Bounds[i] = 0; + for (int i=0; i<4; i++) + Limits[i] = 0; + } + + ~vtkMyInteractorStyleTrackballCameraOpenHeartXZ() + {} + + OpenHeartGui *window; + + /// Attributes + int FlagFirstTime; + double Bounds[6]; + double Limits[4]; + int Step; + double PadBound; + + /// Methods + void GetPickerPosition(double *pos); + bool IsInside(double *pos); + +}; + + + +#endif