23 #ifndef SVTK_VIEWWINDOW_H
24 #define SVTK_VIEWWINDOW_H
27 #pragma warning( disable:4251 )
38 #include <vtkSmartPointer.h>
53 class vtkRenderWindow;
56 class vtkCallbackCommand;
71 class vtkPVAxesWidget;
103 vtkRenderWindow* getRenderWindow();
118 void PopInteractorStyle();
121 vtkRenderer* getRenderer()
const;
136 virtual void setBackgroundColor(
const QColor& );
139 QColor backgroundColor()
const;
148 bool isTrihedronDisplayed();
151 bool isCubeAxesDisplayed();
156 bool theIsHighlight =
true,
157 bool theIsUpdate =
true);
160 virtual void unHighlightAll();
176 bool theImmediatly =
true);
183 bool theImmediatly =
true);
186 virtual void DisplayAll();
189 virtual void EraseAll();
192 virtual void Repaint(
bool theUpdateTrihedron =
true);
196 virtual void SetScale(
double theScale[3] );
199 virtual void GetScale(
double theScale[3] );
203 bool theIsUpdate =
false,
204 bool theIsAdjustActors =
true);
208 bool theIsUpdate =
false,
209 bool theIsAdjustActors =
true);
213 virtual void AdjustTrihedrons(
const bool theIsForced);
222 double GetTrihedronSize()
const;
225 virtual void SetTrihedronSize(
const double,
const bool =
true );
228 virtual void SetIncrementalSpeed(
const int,
const int = 0 );
231 virtual void SetProjectionMode(
const int );
234 virtual void SetStereoType(
const int );
237 virtual void SetAnaglyphFilter(
const int );
240 virtual void SetQuadBufferSupport(
const bool );
243 virtual void SetInteractionStyle(
const int );
246 virtual void SetZoomingStyle(
const int );
252 virtual void SetSelectionEnabled(
bool );
255 virtual void SetSpacemouseButtons(
const int,
const int,
const int );
258 virtual void SetSelectionProp(
const double& theRed = 1,
259 const double& theGreen = 1,
260 const double& theBlue = 0,
261 const int& theWidth = 5);
264 virtual void SetPreselectionProp(
const double& theRed = 0,
265 const double& theGreen = 1,
266 const double& theBlue = 1,
267 const int& theWidth = 5);
270 virtual void SetSelectionTolerance(
const double& theTolNodes = 0.025,
271 const double& theTolCell = 0.001,
272 const double& theTolObjects = 0.025);
275 bool IsStaticTrihedronVisible()
const;
278 virtual void SetStaticTrihedronVisible(
const bool );
287 virtual void RefreshDumpImage();
289 void emitTransformed();
292 void InvokeEvent(
unsigned long theEvent,
void* theCallData);
297 void Show( QShowEvent * );
298 void Hide( QHideEvent * );
301 virtual void showEvent( QShowEvent * );
302 virtual void hideEvent( QHideEvent * );
303 virtual void onSelectionChanged();
305 void onChangeRotationPoint(
bool theIsActivate);
307 void activateSetRotationGravity();
308 void activateSetRotationSelected(
void* theData);
311 void onUpdateRate(
bool theIsActivate);
312 void onNonIsometric(
bool theIsActivate);
313 void onGraduatedAxes(
bool theIsActivate);
316 void activateWindowFit();
317 void activateRotation();
318 void activatePanning();
319 void activateGlobalPanning();
321 void onProjectionMode(
QAction* theAction );
322 void onStereoMode(
bool activate );
323 void onProjectionMode();
325 void activateProjectionMode(
int);
327 void activateSetFocalPointGravity();
328 void activateSetFocalPointSelected();
329 void activateStartFocalPointSelection();
331 void onViewParameters(
bool theIsActivate);
333 void onSwitchInteractionStyle(
bool theOn);
334 void onSwitchZoomingStyle(
bool theOn);
336 void onSwitchPreSelectionMode(
int theMode);
337 void onEnableSelection(
bool theOn);
339 void onStartRecording();
340 void onPlayRecording();
341 void onPauseRecording();
342 void onStopRecording();
345 void selectionChanged();
352 virtual void onFrontView();
355 virtual void onBackView();
358 virtual void onTopView();
361 virtual void onBottomView();
364 virtual void onRightView();
367 virtual void onLeftView();
370 virtual void onClockWiseView();
373 virtual void onAntiClockWiseView();
376 virtual void onResetView();
379 virtual void onFitAll();
382 virtual void onFitSelection();
385 virtual void onViewTrihedron(
bool);
388 virtual void onViewCubeAxes();
391 virtual void onAdjustTrihedron();
394 virtual void onAdjustCubeAxes();
400 void onKeyPressed(QKeyEvent* event);
401 void onKeyReleased(QKeyEvent* event);
402 void onMousePressed(QMouseEvent* event);
403 void onMouseDoubleClicked(QMouseEvent* event);
404 void onMouseReleased(QMouseEvent* event);
405 void onMouseMoving(QMouseEvent* event);
410 enum StereoType { CrystalEyes, RedBlue, Interlaced, Left, Right, Dresden, Anaglyph, Checkerboard, SplitViewPortHorizontal };
415 virtual void Initialize(
SVTK_View* theView,
419 static void ProcessEvents(
vtkObject*
object,
424 bool isOpenGlStereoSupport()
const;
426 void doSetVisualParameters(
const QString&,
bool =
false );
427 void SetEventDispatcher(
vtkObject* theDispatcher);
429 QImage dumpViewContent();
431 virtual QString
filter()
const;
432 virtual bool dumpViewToFormat(
const QImage& img,
const QString& fileName,
const QString& format );
434 virtual bool action(
const int );
437 void createToolBar();
440 enum { DumpId, FitAllId, FitRectId, FitSelectionId,
ZoomId, PanId, GlobalPanId,
442 FrontId, BackId,
TopId, BottomId, LeftId, RightId, ClockWiseId, AntiClockWiseId, ResetId,
444 ParallelModeId, ProjectionModeId, StereoModeId,
ViewParametersId, SynchronizeId, SwitchInteractionStyleId,
448 StartRecordingId, PlayRecordingId, PauseRecordingId, StopRecordingId };
490 #pragma warning( default:4251 )