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);
247 vtkGetMacro(NeedsUpdate,
bool);
253 vtkGetStringMacro(VTKClassName);
262 vtkSetStringMacro(VTKClassName);
275 unsigned int GetNumberOfConsumers();
282 vtkSMProxy* GetConsumerProxy(
unsigned int idx);
295 unsigned int GetNumberOfProducers();
300 vtkSMProxy* GetProducerProxy(
unsigned int idx);
315 vtkGetStringMacro(XMLName);
324 vtkGetStringMacro(XMLGroup);
334 vtkGetStringMacro(XMLLabel);
341 virtual void UpdatePropertyInformation();
356 virtual void MarkAllPropertiesAsModified();
364 virtual void ResetPropertiesToXMLDefaults();
372 virtual void ResetPropertiesToDomainDefaults();
397 COPY_PROXY_PROPERTY_VALUES_BY_REFERENCE = 0,
399 COPY_PROXY_PROPERTY_VALUES_BY_CLONING
417 void Copy(
vtkSMProxy* src,
const char* exceptionClass);
418 virtual void Copy(
vtkSMProxy* src,
const char* exceptionClass,
int proxyPropertyCopyFlag);
424 virtual void MarkModified(
vtkSMProxy* modifiedProxy);
449 vtkGetMacro(ObjectsCreated,
int);
471 virtual void MarkDirty(
vtkSMProxy* modifiedProxy);
528 void UpdateSelfAndAllInputs();
534 bool GetIsSubProxy();
587 size_t GetNumberOfPropertyGroups()
const;
605 void SetLogName(
const char* name);
606 vtkGetStringMacro(LogName);
612 const char* GetLogNameOrDefault();
619 virtual std::vector<std::string> GetPropertiesWithDifferentValues(
vtkSMProxy* otherProxy);
628 virtual void ExecuteStream(
634 virtual void UpdateAndPushAnnotationState();
650 virtual void AddProperty(
const char* name,
vtkSMProperty* prop);
655 virtual void MarkConsumersAsDirty(
vtkSMProxy* modifiedProxy);
665 virtual void MarkDirtyFromProducer(
678 void MarkInputsAsDirty();
688 friend class vtkSMCompoundProxy;
698 friend class vtkSMProxyObserver;
700 friend class vtkSMProxyRegisterUndoElement;
701 friend class vtkSMProxyUnRegisterUndoElement;
706 friend class vtkSMUndoRedoStateLoader;
935 const char* exposed_name,
int overrideOK = 0);
966 const char* name,
bool propagate_to_subproxies,
bool propagate_to_proxylistdomains);
1037 friend class vtkSMProxyInfo;
1040 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.