vtkSMProxyLink.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMProxyLink.h
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 =========================================================================*/
26 #ifndef vtkSMProxyLink_h
27 #define vtkSMProxyLink_h
28 
29 #include "vtkRemotingServerManagerModule.h" //needed for exports
30 #include "vtkSMLink.h"
31 
32 struct vtkSMProxyLinkInternals;
33 
35 {
36 public:
37  static vtkSMProxyLink* New();
38  vtkTypeMacro(vtkSMProxyLink, vtkSMLink);
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
48  virtual void AddLinkedProxy(vtkSMProxy* proxy, int updateDir);
49 
53  virtual void RemoveLinkedProxy(vtkSMProxy* proxy);
54 
56 
59  unsigned int GetNumberOfLinkedObjects() override;
60  unsigned int GetNumberOfLinkedProxies();
62 
66  vtkSMProxy* GetLinkedProxy(int index) override;
67 
69 
73  int GetLinkedObjectDirection(int index) override;
74  int GetLinkedProxyDirection(int index);
76 
78 
83  void AddException(const char* propertyname);
84  void RemoveException(const char* propertyname);
86 
90  void RemoveAllLinks() override;
91 
99  void LoadState(const vtkSMMessage* msg, vtkSMProxyLocator* locator) override;
100 
101 protected:
102  vtkSMProxyLink();
103  ~vtkSMProxyLink() override;
104 
109  void UpdateVTKObjects(vtkSMProxy* proxy) override;
110 
116  void PropertyModified(vtkSMProxy* proxy, const char* pname) override;
117 
123  void UpdateProperty(vtkSMProxy* caller, const char* pname) override;
124 
128  void SaveXMLState(const char* linkname, vtkPVXMLElement* parent) override;
129 
133  int LoadXMLState(vtkPVXMLElement* linkElement, vtkSMProxyLocator* locator) override;
134 
138  void UpdateState() override;
139 
140 private:
141  vtkSMProxyLinkInternals* Internals;
142 
143  vtkSMProxyLink(const vtkSMProxyLink&) = delete;
144  void operator=(const vtkSMProxyLink&) = delete;
145 };
146 
147 #endif
#define VTKREMOTINGSERVERMANAGER_EXPORT
Header class that setup every thing in order to use Protobuf messages in a transparent manner...
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.
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
static vtkSMSessionObject * New()