vtkSMContextViewProxy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
11 #ifndef vtkSMContextViewProxy_h
12 #define vtkSMContextViewProxy_h
13 
14 #include "vtkNew.h" // needed for vtkInteractorObserver.
15 #include "vtkRemotingViewsModule.h" //needed for exports
16 #include "vtkSMViewProxy.h"
17 
19 class vtkContextView;
21 class vtkRenderWindow;
23 class vtkSelection;
25 
26 class VTKREMOTINGVIEWS_EXPORT vtkSMContextViewProxy : public vtkSMViewProxy
27 {
28 public:
29  static vtkSMContextViewProxy* New();
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
36  vtkContextView* GetContextView();
37 
41  virtual vtkAbstractContextItem* GetContextItem();
42 
47  vtkRenderWindow* GetRenderWindow() override;
48 
55  void SetupInteractor(vtkRenderWindowInteractor* iren) override;
56 
61 
65  virtual void ResetDisplay();
66 
74  bool CanDisplayData(vtkSMSourceProxy* producer, int outputPort) override;
75 
79  const char* GetRepresentationType(vtkSMSourceProxy* producer, int outputPort) override;
80 
81  vtkSelection* GetCurrentSelection();
82 
83 protected:
85  ~vtkSMContextViewProxy() override;
86 
87  void CreateVTKObjects() override;
88 
93  void OnInteractionEvent();
94 
100  void OnForwardInteractionEvent(vtkObject*, unsigned long, void*);
101 
106  void OnLeftButtonReleaseEvent();
107 
112  void PostRender(bool interactive) override;
113 
117  int ReadXMLAttributes(vtkSMSessionProxyManager* pm, vtkPVXMLElement* element) override;
118 
124  vtkTypeUInt32 PreRender(bool interactive) override;
125 
130 
140 
147 
148 private:
150  void operator=(const vtkSMContextViewProxy&) = delete;
151 
156  void CopyAxisRangesFromChart();
157 
159  vtkNew<vtkEventForwarderCommand> EventForwarder;
160 };
161 
162 #endif
vtkSMSessionProxyManager
Definition: vtkSMSessionProxyManager.h:135
vtkSMViewProxy::New
static vtkSMViewProxy * New()
vtkSMViewProxy::CreateVTKObjects
void CreateVTKObjects() override
Called at the end of CreateVTKObjects().
vtkSMViewProxy.h
vtkSMViewProxy::GetRepresentationType
virtual const char * GetRepresentationType(vtkSMSourceProxy *producer, int outputPort)
Returns the xml name of the representation proxy to create to show the data produced in this view,...
vtkSMViewProxy::SetupInteractor
virtual void SetupInteractor(vtkRenderWindowInteractor *iren)
A client process need to set the interactor to enable interactivity.
Definition: vtkSMViewProxy.h:174
vtkSMContextViewProxy::ChartView
vtkContextView * ChartView
The context view that is used for all context derived charts.
Definition: vtkSMContextViewProxy.h:129
vtkAbstractContextItem
vtkObject
vtkSelection
vtkSMViewProxy::PostRender
virtual void PostRender(bool vtkNotUsed(interactive))
Definition: vtkSMViewProxy.h:283
vtkSMViewProxy::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
vtkSMViewProxy::GetRenderWindow
virtual vtkRenderWindow * GetRenderWindow()
Return the vtkRenderWindow used by this view, if any.
Definition: vtkSMViewProxy.h:156
vtkContextView
vtkSMViewProxy::PreRender
virtual vtkTypeUInt32 PreRender(bool vtkNotUsed(interactive))
This method is called before executing code that could cause a render on the underlying vtkPVView.
Definition: vtkSMViewProxy.h:281
vtkSMSourceProxy
proxy for a VTK source on a server
Definition: vtkSMSourceProxy.h:37
vtkSMViewProxy::ReadXMLAttributes
int ReadXMLAttributes(vtkSMSessionProxyManager *pm, vtkPVXMLElement *element) override
Read attributes from an XML element.
vtkSMViewProxy::GetInteractor
virtual vtkRenderWindowInteractor * GetInteractor()
Returns the interactor.
Definition: vtkSMViewProxy.h:163
vtkIndent
vtkNew< vtkSMViewProxyInteractorHelper >
vtkSMContextViewProxy
abstract base class for all Chart Views.
Definition: vtkSMContextViewProxy.h:26
vtkRenderWindowInteractor
vtkSMContextViewProxy::XYChartViewBase4Axes
bool XYChartViewBase4Axes
Flag automatically set when Bottom and Right custom axes related property are present in this proxy.
Definition: vtkSMContextViewProxy.h:146
vtkSMViewProxy
Superclass for all view proxies.
Definition: vtkSMViewProxy.h:42
vtkPVXMLElement
Definition: vtkPVXMLElement.h:23
vtkSMContextViewProxy::SkipPlotableCheck
bool SkipPlotableCheck
To avoid showing large datasets in context views, that typically rely on delivering all data to the c...
Definition: vtkSMContextViewProxy.h:139
vtkNew.h
vtkSMViewProxyInteractorHelper
helper class that make it easier to hook vtkRenderWindowInteractor and vtkSMViewProxy.
Definition: vtkSMViewProxyInteractorHelper.h:51
vtkRenderWindow
vtkEventForwarderCommand
vtkSMViewProxy::CanDisplayData
virtual bool CanDisplayData(vtkSMSourceProxy *producer, int outputPort)
Returns true if the view can display the data produced by the producer's port.