vtkSMProxyProperty.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMProxyProperty.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 =========================================================================*/
60 #ifndef vtkSMProxyProperty_h
61 #define vtkSMProxyProperty_h
62 
63 #include "vtkRemotingServerManagerModule.h" //needed for exports
64 #include "vtkSMProperty.h"
65 
66 class vtkSMProxy;
67 class vtkSMStateLocator;
68 
70 {
71 public:
73 
79  static void EnableProxyCreation();
80  static void DisableProxyCreation();
81  static bool CanCreateProxy();
83 
84  static vtkSMProxyProperty* New();
86  void PrintSelf(ostream& os, vtkIndent indent) override;
87 
89 
93  virtual void AddProxy(vtkSMProxy* proxy);
94  virtual void SetProxy(unsigned int idx, vtkSMProxy* proxy);
95  virtual void RemoveProxy(vtkSMProxy* proxy);
96  virtual void RemoveAllProxies();
98 
102  virtual void SetProxies(unsigned int numElements, vtkSMProxy* proxies[]);
103 
107  bool IsProxyAdded(vtkSMProxy* proxy);
108 
110 
121  virtual void AddUncheckedProxy(vtkSMProxy* proxy);
122  virtual void SetUncheckedProxy(unsigned int idx, vtkSMProxy* proxy);
124 
128  virtual void RemoveAllUncheckedProxies();
129  void ClearUncheckedElements() override { this->RemoveAllUncheckedProxies(); }
130 
134  unsigned int GetNumberOfProxies();
135 
139  unsigned int GetNumberOfUncheckedProxies();
140 
142 
145  void SetNumberOfProxies(unsigned int count);
146  void SetNumberOfUncheckedProxies(unsigned int count);
148 
152  vtkSMProxy* GetProxy(unsigned int idx);
153 
157  vtkSMProxy* GetUncheckedProxy(unsigned int idx);
158 
167  void Copy(vtkSMProperty* src) override;
168 
172  void UpdateAllInputs() override;
173 
174  bool IsValueDefault() override;
175 
182  void ResetToXMLDefaults() override;
183 
184 protected:
186  ~vtkSMProxyProperty() override;
187 
191  void WriteTo(vtkSMMessage* msg) override;
192 
196  void ReadFrom(const vtkSMMessage* msg, int msg_offset, vtkSMProxyLocator*) override;
197 
198  friend class vtkSMProxy;
199 
204  int ReadXMLAttributes(vtkSMProxy* parent, vtkPVXMLElement* element) override;
205 
209  void SaveStateValues(vtkPVXMLElement* propertyElement) override;
210 
217  virtual vtkPVXMLElement* AddProxyElementState(vtkPVXMLElement* prop, unsigned int idx);
221  int LoadState(vtkPVXMLElement* element, vtkSMProxyLocator* loader) override;
222 
227  void OnUpdateDataEvent() { this->UpdateDomains(); }
228 
229  // Static flag used to know if the locator should be used to create proxy
230  // or if the session should be used to find only the existing ones
231  static bool CreateProxyAllowed;
232 
234  friend class vtkPPInternals;
236 
237 private:
238  vtkSMProxyProperty(const vtkSMProxyProperty&) = delete;
239  void operator=(const vtkSMProxyProperty&) = delete;
240 };
241 
242 #endif
virtual int ReadXMLAttributes(vtkSMProxy *parent, vtkPVXMLElement *element)
Set the appropriate ivars from the xml element.
virtual void SaveStateValues(vtkPVXMLElement *propertyElement)
This method must be overridden by concrete class in order to save the real property data...
void ClearUncheckedElements() override
Use this method to clear unchecked values set of this property.
virtual void WriteTo(vtkSMMessage *msg)
Let the property write its content into the stream.
vtkPPInternals * PPInternals
property representing pointer(s) to vtkObject(s)
#define VTKREMOTINGSERVERMANAGER_EXPORT
superclass for all SM properties
virtual void Copy(vtkSMProperty *src)
Copy all property values.
Header class that setup every thing in order to use Protobuf messages in a transparent manner...
static bool CreateProxyAllowed
static vtkSMProperty * New()
void UpdateDomains()
Calls Update() on all domains contained by the property as well as all dependent domains.
void OnUpdateDataEvent()
Called when a producer fires the vtkCommand::UpdateDataEvent.
This class is used by vtkSMProxyProperty to keep track of the proxies.
virtual void ReadFrom(const vtkSMMessage *, int vtkNotUsed(message_offset), vtkSMProxyLocator *)
Let the property read and set its content from the stream.
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.
virtual void ResetToXMLDefaults()
For properties that support specifying defaults in XML configuration, this method will reset the prop...
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
virtual int LoadState(vtkPVXMLElement *element, vtkSMProxyLocator *loader)
Updates state from an XML element.
virtual bool IsValueDefault()
Returns true if the property's value is different from the default value.
void PrintSelf(ostream &os, vtkIndent indent) override
Class used to retrieve a given message state based on its GlobalID.
virtual void UpdateAllInputs()
Update all proxies referred by this property (if any).