vtkSMCompoundSourceProxyDefinitionBuilder.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 =========================================================================*/
28 #ifndef vtkSMCompoundSourceProxyDefinitionBuilder_h
29 #define vtkSMCompoundSourceProxyDefinitionBuilder_h
30 
31 #include "vtkRemotingServerManagerModule.h" //needed for exports
32 #include "vtkSMObject.h"
33 
34 class vtkSMProxy;
35 class vtkPVXMLElement;
36 
38 {
39 public:
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
48  void Reset();
49 
55  void AddProxy(const char* name, vtkSMProxy* proxy);
56 
63  void ExposeProperty(const char* proxyName, const char* propertyName, const char* exposedName);
64 
71  void ExposeOutputPort(const char* proxyName, const char* portName, const char* exposedName);
72 
79  void ExposeOutputPort(const char* proxyName, unsigned int portIndex, const char* exposedName);
80 
84  unsigned int GetNumberOfProxies();
85 
89  vtkSMProxy* GetProxy(unsigned int cc);
90 
94  vtkSMProxy* GetProxy(const char* name);
95 
100  const char* GetProxyName(unsigned int index);
101 
110  vtkPVXMLElement* SaveDefinition(vtkPVXMLElement* root);
111 
112 protected:
115 
116 private:
119  void operator=(const vtkSMCompoundSourceProxyDefinitionBuilder&) = delete;
120 
121  class vtkInternals;
122  vtkInternals* Internals;
123 
124  // returns 1 if the value element should be written.
125  // proxy property values that point to "outside" proxies
126  // are not written
127  int ShouldWriteValue(vtkPVXMLElement* valueElem);
128  void TraverseForProperties(vtkPVXMLElement* root);
129  void StripValues(vtkPVXMLElement* propertyElem);
130 };
131 
132 #endif
#define VTKREMOTINGSERVERMANAGER_EXPORT
superclass for most server manager classes
Definition: vtkSMObject.h:29
used to build a vtkSMCompoundSourceProxy definition.
static vtkSMObject * New()
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:152
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
void PrintSelf(ostream &os, vtkIndent indent) override