129 class vtkSMLoadStateContext;
138 class vtkSMProxyObserver;
150 void SetAnnotation(
const char* key,
const char* value);
156 const char* GetAnnotation(
const char* key);
161 void RemoveAnnotation(
const char* key);
166 void RemoveAllAnnotations();
171 bool HasAnnotation(
const char* key);
176 int GetNumberOfAnnotations();
181 const char* GetAnnotationKeyAt(
int index);
195 return this->GetProperty(name, 0);
219 virtual void UpdateVTKObjects();
226 virtual void RecreateVTKObjects();
236 bool UpdateProperty(
const char* name,
int force);
248 vtkGetStringMacro(VTKClassName);
257 vtkSetStringMacro(VTKClassName);
270 unsigned int GetNumberOfConsumers();
277 vtkSMProxy* GetConsumerProxy(
unsigned int idx);
290 unsigned int GetNumberOfProducers();
295 vtkSMProxy* GetProducerProxy(
unsigned int idx);
310 vtkGetStringMacro(XMLName);
319 vtkGetStringMacro(XMLGroup);
329 vtkGetStringMacro(XMLLabel);
336 virtual void UpdatePropertyInformation();
351 virtual void MarkAllPropertiesAsModified();
359 virtual void ResetPropertiesToXMLDefaults();
367 virtual void ResetPropertiesToDomainDefaults();
392 COPY_PROXY_PROPERTY_VALUES_BY_REFERENCE = 0,
394 COPY_PROXY_PROPERTY_VALUES_BY_CLONING
412 void Copy(
vtkSMProxy* src,
const char* exceptionClass);
413 virtual void Copy(
vtkSMProxy* src,
const char* exceptionClass,
int proxyPropertyCopyFlag);
419 virtual void MarkModified(
vtkSMProxy* modifiedProxy);
444 vtkGetMacro(ObjectsCreated,
int);
466 virtual void MarkDirty(
vtkSMProxy* modifiedProxy);
523 void UpdateSelfAndAllInputs();
529 bool GetIsSubProxy();
582 size_t GetNumberOfPropertyGroups()
const;
600 void SetLogName(
const char* name);
601 vtkGetStringMacro(LogName);
607 const char* GetLogNameOrDefault();
614 virtual std::vector<std::string> GetPropertiesWithDifferentValues(
vtkSMProxy* otherProxy);
629 virtual void UpdateAndPushAnnotationState();
645 virtual void AddProperty(
const char* name,
vtkSMProperty* prop);
650 virtual void MarkConsumersAsDirty(
vtkSMProxy* modifiedProxy);
660 virtual void MarkDirtyFromProducer(
673 void MarkInputsAsDirty();
683 friend class vtkSMCompoundProxy;
693 friend class vtkSMProxyObserver;
695 friend class vtkSMProxyRegisterUndoElement;
696 friend class vtkSMProxyUnRegisterUndoElement;
701 friend class vtkSMUndoRedoStateLoader;
930 const char* exposed_name,
int overrideOK = 0);
961 const char* name,
bool propagate_to_subproxies,
bool propagate_to_proxylistdomains);
1032 friend class vtkSMProxyInfo;
1035 std::string DefaultLogName;
virtual void PostUpdateData(bool using_cache)
This method is called after the algorithm(s) (if any) associated with this proxy execute.
bool UpdateProperty(const char *name)
Update the value of one property (pushed to the server) if it is modified.
This defines a stream manipulator for the vtkClientServerStream that can be used to indicate to the i...
vtkSMProperty * NewProperty(const char *name)
Creates a new property and initializes it by calling ReadXMLAttributes() with the right XML element...
virtual void RemoveConsumer(vtkSMProperty *property, vtkSMProxy *proxy)
Remove the property,proxy pair from the list of consumers.
virtual int CreateSubProxiesAndProperties(vtkSMSessionProxyManager *pm, vtkPVXMLElement *element)
void RemoveAllObservers()
iterates over a subset of a proxy's properties
virtual void UpdatePipelineInformation()
This method simply iterates over subproxies and calls UpdatePipelineInformation() on them...
void CreateVTKObjects() override
Called at the end of CreateVTKObjects().
virtual void PrototypeOff()
Allow user to set the remote object to be discard for Undo/Redo action.
void AppendPropertyGroup(vtkSMPropertyGroup *group)
Adds a property groups.
virtual void AddConsumer(vtkSMProperty *property, vtkSMProxy *proxy)
Called by a proxy property, this adds the property,proxy pair to the list of consumers.
vtkSMProxy * GetSubProxy(const char *name)
Returns a sub-proxy.
property representing pointer(s) to vtkObject(s)
void ExposeSubProxyProperty(const char *subproxy_name, const char *property_name, const char *exposed_name, int overrideOK=0)
Expose a subproxy property from the base proxy.
VTKOBJECT(vtkSMProxy *proxy)
virtual void LoadState(const vtkSMMessage *msg, vtkSMProxyLocator *locator)
This method is used to initialise the object to the given state If the definitionOnly Flag is set to ...
void SetupSharedProperties(vtkSMProxy *subproxy, vtkPVXMLElement *element)
Read attributes from an XML element.
#define VTKREMOTINGSERVERMANAGER_EXPORT
virtual void PrototypeOn()
Allow user to set the remote object to be discard for Undo/Redo action.
virtual void EnableLocalPushOnly()
Allow to switch off any push of state change to the server for that particular object.
virtual void SetLocation(vtkTypeUInt32)
Get/Set the location where the underlying VTK-objects are created.
Superclass for all view proxies.
This defines a stream manipulator for the vtkClientServerStream that can be used to indicate to the i...
superclass for all SM properties
bool GetPropertiesModified()
vtkPVXMLElement * EnsurePluginLoaded
virtual void SetPropertyModifiedFlag(const char *name, int flag)
Note on property modified flags: The modified flag of each property associated with a proxy is stored...
iterates over the properties of a proxy
void RemoveProducer(vtkSMProperty *property, vtkSMProxy *proxy)
Remove the property,proxy pair from the list of producers.
Store messages for the interpreter.
bool ArePropertiesModified()
Indicates if any properties are modified.
void AddSubProxy(const char *name, vtkSMProxy *proxy, int overrideOK=0)
Add a sub-proxy.
bool IsDeprecated()
Returns true if the proxy has a deprecation tag.
singleton/facade to vtkSMSessionProxyManager
SIPROXY(vtkSMProxy *proxy)
bool WarnIfDeprecated()
If a proxy is deprecated, prints a warning.
int DoNotUpdateImmediately
int ReadXMLAttributes(vtkSMSessionProxyManager *pm, vtkPVXMLElement *element) override
Read attributes from an XML element.
vtkSMDocumentation * Documentation
virtual void SetLogNameInternal(const char *name, bool propagate_to_subproxies, bool propagate_to_proxylistdomains)
Internal method used by SetLogName
Header class that setup every thing in order to use Protobuf messages in a transparent manner...
void RebuildStateForProperties()
vtkSMProxy tracks state of properties on this proxy in an internal State object.
This defines a manipulator for the vtkClientServerStream that can be used to indicate to the interpre...
virtual void DisableLocalPushOnly()
Enable the given remote object to communicate its state normally to the server location.
bool LoadPluginIfEnsured()
If a proxy need to ensure a plugin is loaded, make sure it is.
void AddProducer(vtkSMProperty *property, vtkSMProxy *proxy)
Called by an proxy/input property to add property, proxy pair to the list of producers.
VTKREMOTINGSERVERMANAGER_EXPORT vtkClientServerStream & operator<<(vtkClientServerStream &stream, const VTKOBJECT &manipulator)
Preselection enables the user to inspect cells/points without actually selecting them.
proxy for a VTK source on a server
virtual void UpdatePropertyInformationInternal(vtkSMProperty *prop=nullptr)
Called to update the property information on the property.
void LinkProperty(vtkSMProperty *inputProperty, vtkSMProperty *outputProperty)
Links properties such that when inputProperty's checked or unchecked values are changed, the outputProperty's corresponding values are also changed.
void SetDeprecated(vtkPVXMLElement *deprecated)
vtkWeakPointer< vtkSMProxy > ParentProxy
deserializes proxies from their Protobuf states.
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session...
void SetupExposedProperties(const char *subproxy_name, vtkPVXMLElement *element)
Read attributes from an XML element.
const char * GetSubProxyName(unsigned int index)
Returns the name used to store sub-proxy.
a proxy excapsulation a pipeline of proxies.
proxy for a VTK object(s) on a server
int InUpdateVTKObjects
Avoids calls to UpdateVTKObjects in UpdateVTKObjects.
void InvokeCommand(const char *name)
Convenience method equivalent to UpdateProperty(name, 1).
virtual const vtkSMMessage * GetFullState()
This method return the full object state that can be used to create that object from scratch...
is used to locate proxies referred to in state xmls while loading state files.
vtkSMProxyObserver * SubProxyObserver
virtual void ExecuteSubProxyEvent(vtkSMProxy *o, unsigned long event, void *data)
Handle events fired by subproxies.
class providing access to the documentation for a vtkSMProxy.
virtual vtkSMProperty * GetProperty(const char *name)
Return the property with the given name.
void SetEnsurePluginLoaded(vtkPVXMLElement *ensurePluginLoaded)
Set the "EnsurePluginLoaded" XML element that is used in LoadPluginIfEnsured.
vtkPVXMLElement * XMLElement
vtkSMProxyInternals * Internals
virtual void RemoveAllConsumers()
Remove all consumers.
creates a link between two cameras.
Utility class to load state from XML.
baseclass for all proxy-objects that have counter parts on server as well as client processes...
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
void SetXMLElement(vtkPVXMLElement *element)
virtual void SetPrototype(bool)
Allow user to set the remote object to be discard for Undo/Redo action.
unsigned int GetNumberOfSubProxies()
Returns the number of sub-proxies.
static vtkSMSessionObject * New()
friend class vtkSMProxyObserver
These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy...
void SetHints(vtkPVXMLElement *hints)
bool PropertiesModified
Flag used to help speed up UpdateVTKObjects and ArePropertiesModified calls.
void PrintSelf(ostream &os, vtkIndent indent) override
iterates over the properties of a proxy
void RemoveSubProxy(const char *name)
Remove a sub-proxy.
vtkPVXMLElement * Deprecated
Class used to retrieve a given message state based on its GlobalID.
char * SIClassName
SIClassName identifies the classname for the helper on the server side.
void PostUpdateDataSelfOnly(bool using_cache)
This is called by PostUpdateData to only update state for this proxy without iterative over producers...
vtkSMPropertyGroup * NewPropertyGroup(vtkPVXMLElement *propElement)
Parses the XML to create a new property group.