vtkSMLiveInsituLinkProxy.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: $RCSfile$
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
27 #ifndef vtkSMLiveInsituLinkProxy_h
28 #define vtkSMLiveInsituLinkProxy_h
29 
30 #include "vtkRemotingLiveModule.h" //needed for exports
31 #include "vtkSMProxy.h"
32 #include "vtkSmartPointer.h" // needed for vtkSmartPointer.
33 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
34 
36 
37 class VTKREMOTINGLIVE_EXPORT vtkSMLiveInsituLinkProxy : public vtkSMProxy
38 {
39 public:
40  static vtkSMLiveInsituLinkProxy* New();
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
45 
49  vtkSMSessionProxyManager* GetInsituProxyManager();
50  void SetInsituProxyManager(vtkSMSessionProxyManager*);
52 
53  bool HasExtract(const char* reg_group, const char* reg_name, int port_number);
54 
56  vtkSMProxy* CreateExtract(const char* reg_group, const char* reg_name, int port_number);
57  void RemoveExtract(vtkSMProxy*);
59 
60 
64  void LiveChanged();
65  vtkIdType GetTimeStep() { return this->TimeStep; }
67 
71  void LoadState(const vtkSMMessage* msg, vtkSMProxyLocator* locator) override;
72 
78  void PushUpdatedStates();
79 
80 protected:
82  ~vtkSMLiveInsituLinkProxy() override;
83 
84  // overridden to ensure that we communicate the globalid for this proxy so
85  // that the server-side can send messages to this proxy.
86  void CreateVTKObjects() override;
87 
88  void MarkStateDirty();
89 
93  void PushUpdatedState();
94 
95  void InsituConnected(const char* initialial_state);
96  void NextTimestepAvailable(vtkIdType timeStep);
97 
100 
103 
104 private:
106  void operator=(const vtkSMLiveInsituLinkProxy&) = delete;
107 
108  class vtkInternals;
109  vtkInternals* Internals;
110 };
111 
112 #endif
Performs additional operation on the Live client.
void PrintSelf(ostream &os, vtkIndent indent) override
vtkPVCatalystSessionCore is used by vtkSMSession.
int vtkIdType
vtkWeakPointer< vtkPVCatalystSessionCore > CatalystSessionCore
Header class that setup every thing in order to use Protobuf messages in a transparent manner.
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session.
void LoadState(const vtkSMMessage *msg, vtkSMProxyLocator *locator) override
This method is used to initialise the object to the given state If the definitionOnly Flag is set to ...
static vtkSMProxy * New()
virtual void CreateVTKObjects()
Given a class name (by setting VTKClassName) and server ids (by setting ServerIDs),...
vtkIdType GetTimeStep()
Wakes up Insitu side if simulation is paused.
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:152
is used to locate proxies referred to in state xmls while loading state files.
void operator=(const vtkSMProxy &)=delete
vtkSMProxyInternals * Internals
Definition: vtkSMProxy.h:1001
vtkSmartPointer< vtkSMSessionProxyManager > InsituProxyManager