#include <map>
#include <vtkObject.h>
+
+#ifdef WIN32
+#pragma warning ( disable:4251 )
+#endif
+
//
//! Control the value of increment in SALOME way.
/*!
This class controls of value of increment,
for pan/rotate/zoom operations in SALOME way
*/
-class SVTK_ControllerIncrement : public vtkObject{
+class SVTK_EXPORT SVTK_ControllerIncrement : public vtkObject{
public:
vtkTypeMacro(SVTK_ControllerIncrement, vtkObject);
static SVTK_ControllerIncrement* New();
This class controls the behaviour of KeyDown event
in SALOME way
*/
-class SVTK_ControllerOnKeyDown : public vtkObject{
+class SVTK_EXPORT SVTK_ControllerOnKeyDown : public vtkObject{
public:
vtkTypeMacro(SVTK_ControllerOnKeyDown, vtkObject);
static SVTK_ControllerOnKeyDown* New();
};
class vtkCell;
-class vtkPicker;
+class vtkPointPicker;
class SALOME_Actor;
class SVTK_Selector;
class SVTK_GenericRenderWindowInteractor;
+class SVTK_Actor;
#define VTK_INTERACTOR_STYLE_CAMERA_NONE 0
#define VTK_INTERACTOR_STYLE_CAMERA_ROTATE 1
#define VTK_INTERACTOR_STYLE_CAMERA_FIT 5
#define VTK_INTERACTOR_STYLE_CAMERA_SELECT 6
#define VTK_INTERACTOR_STYLE_CAMERA_GLOBAL_PAN 7
+#define VTK_INTERACTOR_STYLE_CAMERA_SELECT_ROTATION_POINT 8
//! Introduce SALOME way of user interaction
/*!
SVTK_Selector* GetSelector();
- protected:
+ protected:
SVTK_InteractorStyle();
~SVTK_InteractorStyle();
void startFitArea();
void startSpin();
+ void startPointSelection();
+
protected:
void loadCursors();
void startOperation(int operation);
PSelectionEvent mySelectionEvent;
- vtkSmartPointer<vtkPicker> myPicker;
+ unsigned long myCurrRotationPointType;
+ unsigned long myPrevRotationPointType;
+
+ double myRotationPointX;
+ double myRotationPointY;
+ double myRotationPointZ;
+
+ vtkSmartPointer<SVTK_Actor> myHighlightRotationPointActor;
+ vtkSmartPointer<vtkPointPicker> myPointPicker;
+
+ vtkFloatingPointType myBBCenter[3];
+ bool myBBFirstCheck;
};
+#ifdef WIN32
+#pragma warning ( default:4251 )
+#endif
+
#endif