134 #include "vtkPVServerManagerCoreModule.h" 141 class vtkSMLoadStateContext;
150 class vtkSMProxyObserver;
162 void SetAnnotation(
const char* key,
const char* value);
168 const char* GetAnnotation(
const char* key);
173 void RemoveAnnotation(
const char* key);
178 void RemoveAllAnnotations();
183 bool HasAnnotation(
const char* key);
188 int GetNumberOfAnnotations();
193 const char* GetAnnotationKeyAt(
int index);
207 return this->GetProperty(name, 0);
231 virtual void UpdateVTKObjects();
238 virtual void RecreateVTKObjects();
248 bool UpdateProperty(
const char* name,
int force);
260 vtkGetStringMacro(VTKClassName);
269 vtkSetStringMacro(VTKClassName);
282 unsigned int GetNumberOfConsumers();
289 vtkSMProxy* GetConsumerProxy(
unsigned int idx);
302 unsigned int GetNumberOfProducers();
307 vtkSMProxy* GetProducerProxy(
unsigned int idx);
322 vtkGetStringMacro(XMLName);
331 vtkGetStringMacro(XMLGroup);
341 vtkGetStringMacro(XMLLabel);
348 virtual void UpdatePropertyInformation();
363 virtual void MarkAllPropertiesAsModified();
371 virtual void ResetPropertiesToXMLDefaults();
379 virtual void ResetPropertiesToDomainDefaults();
404 COPY_PROXY_PROPERTY_VALUES_BY_REFERENCE = 0,
406 COPY_PROXY_PROPERTY_VALUES_BY_CLONING
424 void Copy(
vtkSMProxy* src,
const char* exceptionClass);
425 virtual void Copy(
vtkSMProxy* src,
const char* exceptionClass,
int proxyPropertyCopyFlag);
431 virtual void MarkModified(
vtkSMProxy* modifiedProxy);
456 vtkGetMacro(ObjectsCreated,
int);
467 void InitializeAndCopyFromProxy(
vtkSMProxy* source);
473 virtual void MarkDirty(
vtkSMProxy* modifiedProxy);
488 bool GatherInformation(
vtkPVInformation* information, vtkTypeUInt32 location);
530 void UpdateSelfAndAllInputs();
536 bool GetIsSubProxy();
591 size_t GetNumberOfPropertyGroups()
const;
609 void SetLogName(
const char* name);
610 vtkGetStringMacro(LogName);
616 const char* GetLogNameOrDefault();
631 virtual void UpdateAndPushAnnotationState();
647 virtual void AddProperty(
const char* name,
vtkSMProperty* prop);
652 virtual void MarkConsumersAsDirty(
vtkSMProxy* modifiedProxy);
662 virtual void MarkDirtyFromProducer(
673 friend class vtkSMCompoundProxy;
677 friend class vtkSMPart;
682 friend class vtkSMProxyObserver;
684 friend class vtkSMProxyRegisterUndoElement;
685 friend class vtkSMProxyUnRegisterUndoElement;
687 friend class vtkSMUndoRedoStateLoader;
700 vtkSetStringMacro(XMLName);
709 vtkSetStringMacro(XMLGroup);
719 vtkSetStringMacro(XMLLabel);
730 vtkSetStringMacro(XMLSubProxyName);
738 virtual void CreateVTKObjects();
768 virtual void SetPropertyModifiedFlag(
const char* name,
int flag);
775 void AddSubProxy(
const char* name,
vtkSMProxy* proxy,
int overrideOK = 0);
780 void RemoveSubProxy(
const char* name);
796 const char* GetSubProxyName(
unsigned int index);
807 unsigned int GetNumberOfSubProxies();
823 virtual void RemoveAllConsumers();
841 virtual void PostUpdateData();
846 bool WarnIfDeprecated();
853 virtual void UpdatePipelineInformation();
887 void SetupExposedProperties(
const char* subproxy_name,
vtkPVXMLElement* element);
898 void ExposeSubProxyProperty(
const char* subproxy_name,
const char* property_name,
899 const char* exposed_name,
int overrideOK = 0);
904 virtual void ExecuteSubProxyEvent(
vtkSMProxy* o,
unsigned long event,
void* data);
914 virtual void UpdatePropertyInformationInternal(
vtkSMProperty* prop = NULL);
924 void RebuildStateForProperties();
929 virtual void SetLogNameInternal(
930 const char* name,
bool propagate_to_subproxies,
bool propagate_to_proxylistdomains);
936 vtkSetStringMacro(SIClassName);
937 vtkGetStringMacro(SIClassName);
966 bool ArePropertiesModified();
995 friend class vtkSMProxyInfo;
998 std::string DefaultLogName;
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...
void RemoveAllObservers()
iterates over a subset of a proxy's properties
virtual void PrototypeOff()
Allow user to set the remote object to be discard for Undo/Redo action.
property representing pointer(s) to vtkObject(s)
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 ...
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.
This defines a stream manipulator for the vtkClientServerStream that can be used to indicate to the i...
superclass for all SM properties
iterates over the properties of a proxy
Store messages for the interpreter.
singleton/facade to vtkSMSessionProxyManager
VTKPVSERVERMANAGERCORE_EXPORT vtkClientServerStream & operator<<(vtkClientServerStream &stream, const VTKOBJECT &manipulator)
SIPROXY(vtkSMProxy *proxy)
int DoNotUpdateImmediately
vtkSMDocumentation * Documentation
Header class that setup every thing in order to use Protobuf messages in a transparent manner...
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.
proxy for a VTK source on a server
vtkWeakPointer< vtkSMProxy > ParentProxy
deserializes proxies from their Protobuf states.
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session...
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
class providing access to the documentation for a vtkSMProxy.
virtual vtkSMProperty * GetProperty(const char *name)
Return the property with the given name.
vtkPVXMLElement * XMLElement
vtkSMProxyInternals * Internals
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.
virtual void SetPrototype(bool)
Allow user to set the remote object to be discard for Undo/Redo action.
static vtkSMSessionObject * New()
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
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.