vtkSMProxyManagerUtilities.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMProxyManagerUtilities.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 =========================================================================*/
25 #ifndef vtkSMProxyManagerUtilities_h
26 #define vtkSMProxyManagerUtilities_h
27 
28 #include "vtkRemotingServerManagerModule.h" // needed for exports
29 #include "vtkSMObject.h"
30 
31 #include <map> // for std::map
32 #include <set> // for std::set
33 #include <string> // for std::string
34 
35 class vtkPVXMLElement;
37 class vtkSMProxy;
38 
40 {
41 public:
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
47 
50  void SetProxyManager(vtkSMSessionProxyManager* pxm);
51  vtkGetObjectMacro(ProxyManager, vtkSMSessionProxyManager);
53 
55 
64  std::set<vtkSMProxy*> GetProxiesWithAnnotations(
65  const std::map<std::string, std::string>& annotations, bool match_all);
66  std::set<vtkSMProxy*> GetProxiesWithAllAnnotations(
67  const std::map<std::string, std::string>& annotations)
68  {
69  return this->GetProxiesWithAnnotations(annotations, true);
70  }
71  std::set<vtkSMProxy*> GetProxiesWithAnyAnnotations(
72  const std::map<std::string, std::string>& annotations)
73  {
74  return this->GetProxiesWithAnnotations(annotations, false);
75  }
77 
79 
84  std::set<vtkSMProxy*> CollectHelpersAndRelatedProxies(const std::set<vtkSMProxy*>& proxies);
86 
87 protected:
89  ~vtkSMProxyManagerUtilities() override;
90 
91 private:
93  void operator=(const vtkSMProxyManagerUtilities&) = delete;
94 
95  vtkSMSessionProxyManager* ProxyManager;
96 };
97 
98 #endif
miscellaneous collection of proxy-manager utilities
#define VTKREMOTINGSERVERMANAGER_EXPORT
superclass for most server manager classes
Definition: vtkSMObject.h:29
std::set< vtkSMProxy * > GetProxiesWithAnyAnnotations(const std::map< std::string, std::string > &annotations)
Returns a collection of proxies that have the specified annotations.
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session...
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.
std::set< vtkSMProxy * > GetProxiesWithAllAnnotations(const std::map< std::string, std::string > &annotations)
Returns a collection of proxies that have the specified annotations.
void PrintSelf(ostream &os, vtkIndent indent) override