vtkSMProxyManagerUtilities.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkSMProxyManagerUtilities_h
14 #define vtkSMProxyManagerUtilities_h
15 
16 #include "vtkRemotingServerManagerModule.h" // needed for exports
17 #include "vtkSMObject.h"
18 
19 #include <map> // for std::map
20 #include <set> // for std::set
21 #include <string> // for std::string
22 
23 class vtkPVXMLElement;
25 class vtkSMProxy;
26 
27 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSMProxyManagerUtilities : public vtkSMObject
28 {
29 public:
32  void PrintSelf(ostream& os, vtkIndent indent) override;
33 
35 
38  void SetProxyManager(vtkSMSessionProxyManager* pxm);
39  vtkGetObjectMacro(ProxyManager, vtkSMSessionProxyManager);
41 
43 
52  std::set<vtkSMProxy*> GetProxiesWithAnnotations(
53  const std::map<std::string, std::string>& annotations, bool match_all);
54  std::set<vtkSMProxy*> GetProxiesWithAllAnnotations(
55  const std::map<std::string, std::string>& annotations)
56  {
57  return this->GetProxiesWithAnnotations(annotations, true);
58  }
59  std::set<vtkSMProxy*> GetProxiesWithAnyAnnotations(
60  const std::map<std::string, std::string>& annotations)
61  {
62  return this->GetProxiesWithAnnotations(annotations, false);
63  }
65 
67 
72  std::set<vtkSMProxy*> CollectHelpersAndRelatedProxies(const std::set<vtkSMProxy*>& proxies);
74 
75 protected:
77  ~vtkSMProxyManagerUtilities() override;
78 
79 private:
81  void operator=(const vtkSMProxyManagerUtilities&) = delete;
82 
83  vtkSMSessionProxyManager* ProxyManager;
84 };
85 
86 #endif
vtkSMSessionProxyManager
Definition: vtkSMSessionProxyManager.h:135
vtkSMObject
superclass for most server manager classes
Definition: vtkSMObject.h:17
vtkSMObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
vtkSMObject.h
vtkSMProxy
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
vtkSMProxyManagerUtilities
miscellaneous collection of proxy-manager utilities
Definition: vtkSMProxyManagerUtilities.h:27
vtkIndent
vtkSMProxyManagerUtilities::GetProxiesWithAnyAnnotations
std::set< vtkSMProxy * > GetProxiesWithAnyAnnotations(const std::map< std::string, std::string > &annotations)
Returns a collection of proxies that have the specified annotations.
Definition: vtkSMProxyManagerUtilities.h:59
vtkPVXMLElement
Definition: vtkPVXMLElement.h:23
vtkSMObject::New
static vtkSMObject * New()
vtkSMProxyManagerUtilities::GetProxiesWithAllAnnotations
std::set< vtkSMProxy * > GetProxiesWithAllAnnotations(const std::map< std::string, std::string > &annotations)
Returns a collection of proxies that have the specified annotations.
Definition: vtkSMProxyManagerUtilities.h:54