vtkSMCompoundSourceProxyDefinitionBuilder.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
16 #ifndef vtkSMCompoundSourceProxyDefinitionBuilder_h
17 #define vtkSMCompoundSourceProxyDefinitionBuilder_h
18 
19 #include "vtkRemotingServerManagerModule.h" //needed for exports
20 #include "vtkSMObject.h"
21 
22 class vtkSMProxy;
23 class vtkPVXMLElement;
24 
26 {
27 public:
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
36  void Reset();
37 
43  void AddProxy(const char* name, vtkSMProxy* proxy);
44 
51  void ExposeProperty(const char* proxyName, const char* propertyName, const char* exposedName);
52 
59  void ExposeOutputPort(const char* proxyName, const char* portName, const char* exposedName);
60 
67  void ExposeOutputPort(const char* proxyName, unsigned int portIndex, const char* exposedName);
68 
72  unsigned int GetNumberOfProxies();
73 
77  vtkSMProxy* GetProxy(unsigned int cc);
78 
82  vtkSMProxy* GetProxy(const char* name);
83 
88  const char* GetProxyName(unsigned int index);
89 
98  vtkPVXMLElement* SaveDefinition(vtkPVXMLElement* root);
99 
100 protected:
103 
104 private:
107  void operator=(const vtkSMCompoundSourceProxyDefinitionBuilder&) = delete;
108 
109  class vtkInternals;
110  vtkInternals* Internals;
111 
112  // returns 1 if the value element should be written.
113  // proxy property values that point to "outside" proxies
114  // are not written
115  int ShouldWriteValue(vtkPVXMLElement* valueElem);
116  void TraverseForProperties(vtkPVXMLElement* root);
117  void StripValues(vtkPVXMLElement* propertyElem);
118 };
119 
120 #endif
#define VTKREMOTINGSERVERMANAGER_EXPORT
superclass for most server manager classes
Definition: vtkSMObject.h:17
used to build a vtkSMCompoundSourceProxy definition.
static vtkSMObject * New()
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
void PrintSelf(ostream &os, vtkIndent indent) override