ParaView
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 "vtkPVServerManagerCoreModule.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 VTKPVSERVERMANAGERCORE_EXPORT vtkSMLiveInsituLinkProxy : public vtkSMProxy
38 {
39 public:
40  static vtkSMLiveInsituLinkProxy* New();
42  void PrintSelf(ostream& os, vtkIndent indent);
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  virtual void LoadState(const vtkSMMessage* msg, vtkSMProxyLocator* locator);
72 
78  void PushUpdatedStates();
79 
80 protected:
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  virtual void CreateVTKObjects();
87 
88  void MarkStateDirty();
89 
93  void PushUpdatedState();
94 
95  void InsituConnected(const char* initialial_state);
96  void NextTimestepAvailable(vtkIdType timeStep);
97 
98  vtkSmartPointer<vtkSMSessionProxyManager> InsituProxyManager;
99  vtkWeakPointer<vtkPVCatalystSessionCore> CatalystSessionCore;
100 
102  vtkIdType TimeStep;
103 
104 private:
105  vtkSMLiveInsituLinkProxy(const vtkSMLiveInsituLinkProxy&) VTK_DELETE_FUNCTION;
106  void operator=(const vtkSMLiveInsituLinkProxy&) VTK_DELETE_FUNCTION;
107 
108  class vtkInternals;
109  vtkInternals* Internals;
110 };
111 
112 #endif
Performs additional operation on the Live client.
vtkPVCatalystSessionCore is used by vtkSMSession.
void operator=(const vtkSMProxy &) VTK_DELETE_FUNCTION
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 PrintSelf(ostream &os, vtkIndent indent)
static vtkSMProxy * New()
virtual void CreateVTKObjects()
Given a class name (by setting VTKClassName) and server ids (by setting ServerIDs), this methods instantiates the objects on the server(s)
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.
vtkSMProxyInternals * Internals
Definition: vtkSMProxy.h:934
virtual void LoadState(const vtkSMMessage *msg, vtkSMProxyLocator *locator)
This method is used to initialise the object to the given state If the definitionOnly Flag is set to ...
vtkSmartPointer< vtkSMSessionProxyManager > InsituProxyManager