00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00036 #ifndef __vtkRenderView_h
00037 #define __vtkRenderView_h
00038
00039 #include "vtkView.h"
00040
00041 class vtkInteractorStyle;
00042 class vtkRenderer;
00043 class vtkRenderWindow;
00044 class vtkViewTheme;
00045
00046 class VTK_VIEWS_EXPORT vtkRenderView : public vtkView
00047 {
00048 public:
00049 static vtkRenderView *New();
00050 vtkTypeRevisionMacro(vtkRenderView, vtkView);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00054
00055 vtkGetObjectMacro(Renderer, vtkRenderer);
00057
00061 virtual void SetupRenderWindow(vtkRenderWindow* win);
00062
00064 vtkRenderWindow* GetRenderWindow();
00065
00067 virtual void ApplyViewTheme(vtkViewTheme* theme);
00068
00070 virtual void Update();
00071
00072
00073 enum {
00074 SURFACE = 0,
00075 FRUSTUM = 1
00076 };
00077
00078 vtkSetClampMacro(SelectionMode, int, 0, 1);
00079 vtkGetMacro(SelectionMode, int);
00080 void SetSelectionModeToSurface() { this->SetSelectionMode(SURFACE); }
00081 void SetSelectionModeToFrustum() { this->SetSelectionMode(FRUSTUM); }
00082
00083 protected:
00084 vtkRenderView();
00085 ~vtkRenderView();
00086
00088
00091 virtual void ProcessEvents(vtkObject* caller, unsigned long eventId,
00092 void* callData);
00094
00096 virtual void PrepareForRendering() { }
00097
00099
00100 virtual void RepresentationSelectionChanged(
00101 vtkDataRepresentation* rep,
00102 vtkSelection* selection);
00104
00106
00107 vtkGetObjectMacro(InteractorStyle, vtkInteractorStyle);
00108 virtual void SetInteractorStyle(vtkInteractorStyle* style);
00110
00111 vtkRenderer* Renderer;
00112 vtkInteractorStyle* InteractorStyle;
00113 int SelectionMode;
00114
00115 private:
00116 vtkRenderView(const vtkRenderView&);
00117 void operator=(const vtkRenderView&);
00118 };
00119
00120 #endif