ParaView
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkSMProxy Class Reference

proxy for a VTK object(s) on a server More...

#include <vtkSMProxy.h>

Inheritance diagram for vtkSMProxy:
Inheritance graph
[legend]
Collaboration diagram for vtkSMProxy:
Collaboration graph
[legend]

List of all members.

Public Types

enum  { COPY_PROXY_PROPERTY_VALUES_BY_REFERENCE = 0, COPY_PROXY_PROPERTY_VALUES_BY_CLONING }

Public Member Functions

 VTK_LEGACY (void SetServers(vtkTypeUInt32))
 VTK_LEGACY (vtkTypeUInt32 GetServers())
 VTK_LEGACY (vtkTypeUInt32 GetConnectionID())
 VTK_LEGACY (void SetConnectionID(vtkTypeUInt32))
virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void SetAnnotation (const char *key, const char *value)
const char * GetAnnotation (const char *key)
void RemoveAnnotation (const char *key)
void RemoveAllAnnotations ()
bool HasAnnotation (const char *key)
int GetNumberOfAnnotations ()
const char * GetAnnotationKeyAt (int index)
virtual void SetLocation (vtkTypeUInt32)
virtual vtkSMPropertyGetProperty (const char *name, int selfOnly)
const char * GetPropertyName (vtkSMProperty *prop)
virtual void UpdateVTKObjects ()
virtual vtkSMPropertyIteratorNewPropertyIterator ()
unsigned int GetNumberOfConsumers ()
vtkSMProxyGetConsumerProxy (unsigned int idx)
vtkSMPropertyGetConsumerProperty (unsigned int idx)
unsigned int GetNumberOfProducers ()
vtkSMProxyGetProducerProxy (unsigned int idx)
vtkSMPropertyGetProducerProperty (unsigned int idx)
virtual void UpdatePropertyInformation ()
virtual void UpdatePropertyInformation (vtkSMProperty *prop)
virtual void MarkAllPropertiesAsModified ()
virtual void MarkModified (vtkSMProxy *modifiedProxy)
void InitializeAndCopyFromProxy (vtkSMProxy *source)
virtual void MarkDirty (vtkSMProxy *modifiedProxy)
vtkObjectBaseGetClientSideObject ()
bool GatherInformation (vtkPVInformation *information)
virtual vtkPVXMLElementSaveXMLState (vtkPVXMLElement *root)
virtual vtkPVXMLElementSaveXMLState (vtkPVXMLElement *root, vtkSMPropertyIterator *iter)
virtual int LoadXMLState (vtkPVXMLElement *element, vtkSMProxyLocator *locator)
void UpdateSelfAndAllInputs ()
virtual void EnableLocalPushOnly ()
virtual void DisableLocalPushOnly ()
virtual const vtkSMMessageGetFullState ()
virtual void LoadState (const vtkSMMessage *msg, vtkSMProxyLocator *locator)
vtkSMPropertyGroupGetPropertyGroup (size_t index) const
size_t GetNumberOfPropertyGroups () const
virtual vtkSMPropertyGetProperty (const char *name)
bool UpdateProperty (const char *name)
bool UpdateProperty (const char *name, int force)
void InvokeCommand (const char *name)
virtual char * GetVTKClassName ()
virtual void SetVTKClassName (const char *)
virtual char * GetXMLName ()
virtual char * GetXMLGroup ()
virtual char * GetXMLLabel ()
void Copy (vtkSMProxy *src)
void Copy (vtkSMProxy *src, const char *exceptionClass)
virtual void Copy (vtkSMProxy *src, const char *exceptionClass, int proxyPropertyCopyFlag)
virtual vtkSMDocumentationGetDocumentation ()
virtual vtkPVXMLElementGetHints ()
virtual int GetObjectsCreated ()
virtual void PrototypeOn ()
virtual void PrototypeOff ()
virtual void SetPrototype (bool undo)

Static Public Member Functions

static vtkSMProxyNew ()
static int IsTypeOf (const char *type)
static vtkSMProxySafeDownCast (vtkObject *o)

Protected Member Functions

 vtkSMProxy ()
 ~vtkSMProxy ()
virtual void UpdateAndPushAnnotationState ()
virtual void AddProperty (const char *name, vtkSMProperty *prop)
virtual void MarkConsumersAsDirty (vtkSMProxy *modifiedProxy)
virtual void CreateVTKObjects ()
void RemoveAllObservers ()
virtual void SetPropertyModifiedFlag (const char *name, int flag)
void RemoveSubProxy (const char *name)
vtkSMProxyGetSubProxy (const char *name)
vtkSMProxyGetSubProxy (unsigned int index)
const char * GetSubProxyName (unsigned int index)
const char * GetSubProxyName (vtkSMProxy *)
unsigned int GetNumberOfSubProxies ()
virtual void AddConsumer (vtkSMProperty *property, vtkSMProxy *proxy)
virtual void RemoveConsumer (vtkSMProperty *property, vtkSMProxy *proxy)
virtual void RemoveAllConsumers ()
void AddProducer (vtkSMProperty *property, vtkSMProxy *proxy)
void RemoveProducer (vtkSMProperty *property, vtkSMProxy *proxy)
virtual void PostUpdateData ()
bool WarnIfDeprecated ()
virtual void UpdatePipelineInformation ()
virtual void ExecuteSubProxyEvent (vtkSMProxy *o, unsigned long event, void *data)
virtual int CreateSubProxiesAndProperties (vtkSMSessionProxyManager *pm, vtkPVXMLElement *element)
virtual void UpdatePropertyInformationInternal (vtkSMProperty *prop=NULL)
bool ArePropertiesModified ()
void SetHints (vtkPVXMLElement *hints)
void SetDeprecated (vtkPVXMLElement *deprecated)
void SetXMLElement (vtkPVXMLElement *element)
 vtkSMProxy (const vtkSMProxy &)
void operator= (const vtkSMProxy &)
void ExecuteStream (const vtkClientServerStream &msg, bool ignore_errors=false, vtkTypeUInt32 location=0)
virtual const
vtkClientServerStream & 
GetLastResult ()
virtual const
vtkClientServerStream & 
GetLastResult (vtkTypeUInt32 location)
virtual void SetXMLName (const char *)
virtual void SetXMLGroup (const char *)
virtual void SetXMLLabel (const char *)
virtual void SetXMLSubProxyName (const char *)
void AddSubProxy (const char *name, vtkSMProxy *proxy, int overrideOK=0)
vtkSMPropertyNewProperty (const char *name)
vtkSMPropertyNewProperty (const char *name, vtkPVXMLElement *propElement)
virtual int ReadXMLAttributes (vtkSMSessionProxyManager *pm, vtkPVXMLElement *element)
void SetupExposedProperties (const char *subproxy_name, vtkPVXMLElement *element)
void SetupSharedProperties (vtkSMProxy *subproxy, vtkPVXMLElement *element)
void ExposeSubProxyProperty (const char *subproxy_name, const char *property_name, const char *exposed_name, int overrideOK=0)

Protected Attributes

bool NeedsUpdate
char * VTKClassName
char * XMLGroup
char * XMLName
char * XMLLabel
char * XMLSubProxyName
int ObjectsCreated
int DoNotUpdateImmediately
int DoNotModifyProperty
int InUpdateVTKObjects
bool PropertiesModified
vtkPVXMLElementXMLElement
vtkSMDocumentationDocumentation
vtkPVXMLElementHints
vtkPVXMLElementDeprecated
vtkSMMessageState
int InMarkModified
vtkSMProxyInternalsInternals
vtkSMProxyObserver * SubProxyObserver

Friends

class vtkSMCameraLink
class vtkSMCompoundProxy
class vtkSMCompoundSourceProxy
class vtkSMInputProperty
class vtkSMOrderedPropertyIterator
class vtkSMPart
class vtkSMProperty
class vtkSMPropertyIterator
class vtkSMNamedPropertyIterator
class vtkSMSessionProxyManager
class vtkSMProxyObserver
class vtkSMProxyProperty
class vtkSMProxyRegisterUndoElement
class vtkSMProxyUnRegisterUndoElement
class vtkSMSourceProxy
class vtkSMUndoRedoStateLoader
class vtkSMDeserializerProtobuf
class vtkSMStateLocator
class vtkSMMultiServerSourceProxy
char * SIClassName
virtual void SetSIClassName (const char *)
virtual char * GetSIClassName ()

Detailed Description

proxy for a VTK object(s) on a server

vtkSMProxy manages VTK object(s) that are created on a server using the proxy pattern. The managed object is manipulated through properties. The type of object created and managed by vtkSMProxy is determined by the VTKClassName variable. The object is managed by getting the desired property from the proxy, changing it's value and updating the server with UpdateVTKObjects(). A proxy can be composite. Sub-proxies can be added by the proxy manager. This is transparent to the user who sees all properties as if they belong to the root proxy.

A proxy keeps an iVar ConnectionID. This is the connection ID for the connection on which this proxy exists. Currently, since a ParaView client is connected to 1 and only 1 server. This ID is insignificant. However, it provides the ground work to enable a client to connect with multiple servers. ConnectionID must be set immediately after instantiating the proxy (if at all). Chanding the ConnectionID after that can be dangerous.

When defining a proxy in the XML configuration file, to derrive the property interface from another proxy definition, we can use attributes "base_proxygroup" and "base_proxyname" which identify the proxy group and proxy name of another proxy. Base interfaces can be defined recursively, however care must be taken to avoid cycles.

There are several special XML features available for subproxies.

See also:
vtkSMProxyManager vtkSMProperty vtkSMSourceProxy vtkSMPropertyIterator

Definition at line 144 of file vtkSMProxy.h.


Member Enumeration Documentation

anonymous enum

Flags used for the proxyPropertyCopyFlag argument to the Copy method.

Enumerator:
COPY_PROXY_PROPERTY_VALUES_BY_REFERENCE 
COPY_PROXY_PROPERTY_VALUES_BY_CLONING 

Definition at line 310 of file vtkSMProxy.h.


Constructor & Destructor Documentation

vtkSMProxy::vtkSMProxy ( ) [protected]
vtkSMProxy::~vtkSMProxy ( ) [protected]
vtkSMProxy::vtkSMProxy ( const vtkSMProxy ) [protected]

Member Function Documentation

vtkSMProxy::VTK_LEGACY ( void   SetServersvtkTypeUInt32)
vtkSMProxy::VTK_LEGACY ( vtkTypeUInt32   GetServers())
vtkSMProxy::VTK_LEGACY ( vtkTypeUInt32   GetConnectionID())
vtkSMProxy::VTK_LEGACY ( void   SetConnectionIDvtkTypeUInt32)
static vtkSMProxy* vtkSMProxy::New ( ) [static]
virtual const char* vtkSMProxy::GetClassName ( ) [virtual]
static int vtkSMProxy::IsTypeOf ( const char *  type) [static]
virtual int vtkSMProxy::IsA ( const char *  type) [virtual]
static vtkSMProxy* vtkSMProxy::SafeDownCast ( vtkObject o) [static]
void vtkSMProxy::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]
void vtkSMProxy::SetAnnotation ( const char *  key,
const char *  value 
)
const char* vtkSMProxy::GetAnnotation ( const char *  key)

Retreive an annotation with a given key. If not found, this will return NULL.

void vtkSMProxy::RemoveAnnotation ( const char *  key)

Remove a given annotation based on its key to the proxy.

void vtkSMProxy::RemoveAllAnnotations ( )

Remove all proxy annotations.

bool vtkSMProxy::HasAnnotation ( const char *  key)

Return true if a given annotation exists.

int vtkSMProxy::GetNumberOfAnnotations ( )

Return the number of available annotations.

const char* vtkSMProxy::GetAnnotationKeyAt ( int  index)

Return the nth key of the available annotations.

virtual void vtkSMProxy::SetLocation ( vtkTypeUInt32  ) [virtual]

Get/Set the location where the underlying VTK-objects are created. The value can be contructed by or-ing vtkSMSession::ServerFlags

Reimplemented from vtkSMRemoteObject.

virtual vtkSMProperty* vtkSMProxy::GetProperty ( const char *  name) [inline, virtual]

Return the property with the given name. If no property is found NULL is returned.

Definition at line 190 of file vtkSMProxy.h.

virtual vtkSMProperty* vtkSMProxy::GetProperty ( const char *  name,
int  selfOnly 
) [virtual]

Return a property of the given name from self or one of the sub-proxies. If selfOnly is set, the sub-proxies are not checked.

const char* vtkSMProxy::GetPropertyName ( vtkSMProperty prop)

Given a property pointer, returns the name that was used to add it to the proxy. Returns NULL if the property is not in the proxy. If the property belongs to a sub-proxy, it returns the exposed name or NULL if the property is not exposed.

virtual void vtkSMProxy::UpdateVTKObjects ( ) [virtual]

Update the VTK object on the server by pushing the values of all modifed properties (un-modified properties are ignored). If the object has not been created, it will be created first.

Reimplemented in vtkSMCompoundSourceProxy, and vtkSMBoxRepresentationProxy.

bool vtkSMProxy::UpdateProperty ( const char *  name) [inline]

Update the value of one property (pushed to the server) if it is modified. If the object has not been created, it will be created first. If force is true, the property is pushed even if it not modified. Return true if UpdateProperty pushes the property value.

Definition at line 214 of file vtkSMProxy.h.

bool vtkSMProxy::UpdateProperty ( const char *  name,
int  force 
)

Update the value of one property (pushed to the server) if it is modified. If the object has not been created, it will be created first. If force is true, the property is pushed even if it not modified. Return true if UpdateProperty pushes the property value.

void vtkSMProxy::InvokeCommand ( const char *  name) [inline]

Convenience method equivalent to UpdateProperty(name, 1).

Definition at line 223 of file vtkSMProxy.h.

virtual char* vtkSMProxy::GetVTKClassName ( ) [virtual]

Returns the type of object managed by the proxy.

virtual void vtkSMProxy::SetVTKClassName ( const char *  ) [virtual]

the type of object created by the proxy. This is used only when creating the server objects. Once the server object(s) have been created, changing this has no effect.

virtual vtkSMPropertyIterator* vtkSMProxy::NewPropertyIterator ( ) [virtual]

Returns a new (initialized) iterator of the properties.

unsigned int vtkSMProxy::GetNumberOfConsumers ( )

Returns the number of consumers. Consumers are proxies that point to this proxy through a property (usually vtkSMProxyProperty)

vtkSMProxy* vtkSMProxy::GetConsumerProxy ( unsigned int  idx)

Returns the consumer of given index. Consumers are proxies that point to this proxy through a property (usually vtkSMProxyProperty)

vtkSMProperty* vtkSMProxy::GetConsumerProperty ( unsigned int  idx)

Returns the corresponding property of the consumer of given index. Consumers are proxies that point to this proxy through a property (usually vtkSMProxyProperty)

unsigned int vtkSMProxy::GetNumberOfProducers ( )

Returns the number of proxies this proxy depends on (uses or is connected to through the pipeline).

vtkSMProxy* vtkSMProxy::GetProducerProxy ( unsigned int  idx)

Returns a proxy this proxy depends on, given index.

vtkSMProperty* vtkSMProxy::GetProducerProperty ( unsigned int  idx)

Returns the property holding a producer proxy given an index. Note that this is a property of this proxy and it points to the producer proxy.

virtual char* vtkSMProxy::GetXMLName ( ) [virtual]

Assigned by the XML parser. The name assigned in the XML configuration. Can be used to figure out the origin of the proxy.

virtual char* vtkSMProxy::GetXMLGroup ( ) [virtual]

Assigned by the XML parser. The group in the XML configuration that this proxy belongs to. Can be used to figure out the origin of the proxy.

virtual char* vtkSMProxy::GetXMLLabel ( ) [virtual]

Assigned by the XML parser. The label assigned in the XML configuration. This is a more user-friendly name for the proxy, although it's cannot be used to locate the proxy.

virtual void vtkSMProxy::UpdatePropertyInformation ( ) [virtual]

Updates all property informations by calling UpdateInformation() and populating the values. It also calls UpdateDependentDomains() on all properties to make sure that domains that depend on the information are updated.

Reimplemented in vtkSMCameraProxy, and vtkSMBoxRepresentationProxy.

virtual void vtkSMProxy::UpdatePropertyInformation ( vtkSMProperty prop) [virtual]

Similar to UpdatePropertyInformation() but updates only the given property. If the property does not belong to the proxy, the call is ignored.

Reimplemented in vtkSMCameraProxy, and vtkSMBoxRepresentationProxy.

virtual void vtkSMProxy::MarkAllPropertiesAsModified ( ) [virtual]

Marks all properties as modified. This will cause them all to be sent to be sent on the next call to UpdateVTKObjects. This method is useful when the proxy is first created to make sure that the default property values in the properties is synced with the values in the actual objects.

void vtkSMProxy::Copy ( vtkSMProxy src)

Copies values of all the properties and sub-proxies from src. NOTE: This does NOT create properties and sub-proxies. Only copies values. Mismatched property and sub-proxy pairs are ignored. Properties of type exceptionClass are not copied. This is usually vtkSMInputProperty. proxyPropertyCopyFlag specifies how the values for vtkSMProxyProperty and its subclasses are copied over: by reference or by cloning (ie. creating new instances of the value proxies and synchronizing their values).

void vtkSMProxy::Copy ( vtkSMProxy src,
const char *  exceptionClass 
)

Copies values of all the properties and sub-proxies from src. NOTE: This does NOT create properties and sub-proxies. Only copies values. Mismatched property and sub-proxy pairs are ignored. Properties of type exceptionClass are not copied. This is usually vtkSMInputProperty. proxyPropertyCopyFlag specifies how the values for vtkSMProxyProperty and its subclasses are copied over: by reference or by cloning (ie. creating new instances of the value proxies and synchronizing their values).

virtual void vtkSMProxy::Copy ( vtkSMProxy src,
const char *  exceptionClass,
int  proxyPropertyCopyFlag 
) [virtual]

Copies values of all the properties and sub-proxies from src. NOTE: This does NOT create properties and sub-proxies. Only copies values. Mismatched property and sub-proxy pairs are ignored. Properties of type exceptionClass are not copied. This is usually vtkSMInputProperty. proxyPropertyCopyFlag specifies how the values for vtkSMProxyProperty and its subclasses are copied over: by reference or by cloning (ie. creating new instances of the value proxies and synchronizing their values).

virtual void vtkSMProxy::MarkModified ( vtkSMProxy modifiedProxy) [virtual]

Calls MarkDirty() and invokes ModifiedEvent.

virtual vtkSMDocumentation* vtkSMProxy::GetDocumentation ( ) [virtual]

Returns the documentation for this proxy.

virtual vtkPVXMLElement* vtkSMProxy::GetHints ( ) [virtual]

The server manager configuration XML may define <Hints> element for a proxy. Hints are metadata associated with the proxy. The Server Manager does not (and should not) interpret the hints. Hints provide a mechanism to add GUI pertinant information to the server manager XML. Returns the XML element for the hints associated with this proxy, if any, otherwise returns NULL.

virtual int vtkSMProxy::GetObjectsCreated ( ) [virtual]

Retuns if the VTK objects for this proxy have been created.

void vtkSMProxy::InitializeAndCopyFromProxy ( vtkSMProxy source)

Given a source proxy, makes this proxy point to the same server-side object (with a new id). This method copies connection id as well as server ids. This method can be called only once on an uninitialized proxy (CreateVTKObjects() also initialized a proxy) This is useful to make two (or more) proxies represent the same VTK object. This method does not copy IDs for any subproxies.

virtual void vtkSMProxy::MarkDirty ( vtkSMProxy modifiedProxy) [virtual]

Dirty means this algorithm will execute during next update. This all marks all consumers as dirty.

Reimplemented in vtkSMSourceProxy, vtkSMRenderViewProxy, vtkSMComparativeViewProxy, vtkSMMultiServerSourceProxy, and vtkSMRepresentationProxy.

vtkObjectBase* vtkSMProxy::GetClientSideObject ( )

Returns the client side object associated with the VTKObjectID (if any). Returns 0 otherwise.

bool vtkSMProxy::GatherInformation ( vtkPVInformation information)

Gathers information about this proxy. On success, the information object is filled up with details about the VTK object.

virtual vtkPVXMLElement* vtkSMProxy::SaveXMLState ( vtkPVXMLElement root) [virtual]

Saves the state of the proxy. This state can be reloaded to create a new proxy that is identical the present state of this proxy. The resulting proxy's XML hieratchy is returned, in addition if the root argument is not NULL then it's also inserted as a nested element. This call saves all a proxy's properties, including exposed properties and sub-proxies. More control is provided by the following overload.

Reimplemented in vtkSMViewLayoutProxy, and vtkSMComparativeAnimationCueProxy.

virtual vtkPVXMLElement* vtkSMProxy::SaveXMLState ( vtkPVXMLElement root,
vtkSMPropertyIterator iter 
) [virtual]

The iterator is use to filter the property available on the given proxy

Reimplemented in vtkSMViewLayoutProxy, and vtkSMComparativeAnimationCueProxy.

virtual int vtkSMProxy::LoadXMLState ( vtkPVXMLElement element,
vtkSMProxyLocator locator 
) [virtual]

Loads the proxy state from the XML element. Returns 0 on failure. locator is used to locate other proxies that may be referred to in the state XML (which happens in case of properties of type vtkSMProxyProperty or subclasses). If locator is NULL, then such properties are left unchanged.

Reimplemented in vtkSMViewLayoutProxy, vtkSMComparativeAnimationCueProxy, and vtkSMRepresentationProxy.

virtual void vtkSMProxy::PrototypeOn ( ) [virtual]

Allow user to set the remote object to be discard for Undo/Redo action. By default, any remote object is Undoable. This override the RemoteObject ones to propagate the flag to the sub-proxy

Reimplemented from vtkSMRemoteObject.

virtual void vtkSMProxy::PrototypeOff ( ) [virtual]

Allow user to set the remote object to be discard for Undo/Redo action. By default, any remote object is Undoable. This override the RemoteObject ones to propagate the flag to the sub-proxy

Reimplemented from vtkSMRemoteObject.

virtual void vtkSMProxy::SetPrototype ( bool  undo) [virtual]

Allow user to set the remote object to be discard for Undo/Redo action. By default, any remote object is Undoable. This override the RemoteObject ones to propagate the flag to the sub-proxy

Reimplemented from vtkSMRemoteObject.

void vtkSMProxy::UpdateSelfAndAllInputs ( )

This method call UpdateVTKObjects on the current pipeline by starting at the sources. The sources are found by getting the Input of all the filter along the pipeline.

virtual void vtkSMProxy::EnableLocalPushOnly ( ) [virtual]

Allow to switch off any push of state change to the server for that particular object. This is used when we load a state based on a server notification. In that particular case, the server is already aware of that new state, so we keep those changes local.

Reimplemented from vtkSMRemoteObject.

virtual void vtkSMProxy::DisableLocalPushOnly ( ) [virtual]

Enable the given remote object to communicate its state normaly to the server location.

Reimplemented from vtkSMRemoteObject.

virtual const vtkSMMessage* vtkSMProxy::GetFullState ( ) [virtual]

This method return the full object state that can be used to create that object from scratch. This method will be used to fill the undo stack. If not overriden this will return NULL.

Reimplemented from vtkSMRemoteObject.

virtual void vtkSMProxy::LoadState ( const vtkSMMessage msg,
vtkSMProxyLocator locator 
) [virtual]

This method is used to initialise the object to the given state If the definitionOnly Flag is set to True the proxy won't load the properties values and just setup the new proxy hierarchy with all subproxy globalID set. This allow to split the load process in 2 step to prevent invalid state when property refere to a sub-proxy that does not exist yet.

Reimplemented from vtkSMRemoteObject.

Reimplemented in vtkSMViewLayoutProxy, and vtkSMMultiServerSourceProxy.

vtkSMPropertyGroup* vtkSMProxy::GetPropertyGroup ( size_t  index) const

Returns the property group at index for the proxy.

size_t vtkSMProxy::GetNumberOfPropertyGroups ( ) const

Returns the number of property groups that the proxy contains.

void vtkSMProxy::ExecuteStream ( const vtkClientServerStream &  msg,
bool  ignore_errors = false,
vtkTypeUInt32  location = 0 
) [protected]

Invoke that takes a vtkClientServerStream as the argument.

virtual void vtkSMProxy::UpdateAndPushAnnotationState ( ) [protected, virtual]
virtual const vtkClientServerStream& vtkSMProxy::GetLastResult ( ) [protected, virtual]

Get the last result

virtual const vtkClientServerStream& vtkSMProxy::GetLastResult ( vtkTypeUInt32  location) [protected, virtual]

Get the last result

virtual void vtkSMProxy::AddProperty ( const char *  name,
vtkSMProperty prop 
) [protected, virtual]

Add a property with the given key (name). The name can then be used to retrieve the property with GetProperty(). If a property with the given name has been added before, it will be replaced. This includes properties in sub-proxies.

virtual void vtkSMProxy::MarkConsumersAsDirty ( vtkSMProxy modifiedProxy) [protected, virtual]

Calls MarkDirty() on all consumers.

virtual void vtkSMProxy::SetXMLName ( const char *  ) [protected, virtual]

Assigned by the XML parser. The name assigned in the XML configuration. Can be used to figure out the origin of the proxy.

virtual void vtkSMProxy::SetXMLGroup ( const char *  ) [protected, virtual]

Assigned by the XML parser. The group in the XML configuration that this proxy belongs to. Can be used to figure out the origin of the proxy.

virtual void vtkSMProxy::SetXMLLabel ( const char *  ) [protected, virtual]

Assigned by the XML parser. The label assigned in the XML configuration. This is a more user-friendly name for the proxy, although it's cannot be used to locate the proxy.

virtual void vtkSMProxy::SetXMLSubProxyName ( const char *  ) [protected, virtual]

Assigned by the XML parser. It is used to figure out the origin of the definition of that proxy. By default, it stay NULL, only in-line subProxy do specify this field so when the definition is sent to the server, it can retreive the in-line definition of that proxy.

virtual void vtkSMProxy::CreateVTKObjects ( ) [protected, virtual]
void vtkSMProxy::RemoveAllObservers ( ) [protected]

Cleanup code. Remove all observers from all properties assigned to this proxy. Called before deleting properties. This also removes observers on subproxies.

Reimplemented from vtkObject.

virtual void vtkSMProxy::SetPropertyModifiedFlag ( const char *  name,
int  flag 
) [protected, virtual]

Note on property modified flags: The modified flag of each property associated with a proxy is stored in the proxy object instead of in the property itself. Here is a brief explanation of how modified flags are used:

  • 1. When a property is modified, the modified flag is set
  • 2. In UpdateVTKObjects(), the proxy visits all properties and calls AppendCommandToStream() on each modified property. It also resets the modified flag. The reason why the modified flag is stored in the proxy instead of property is in item 2 above. If multiple proxies were sharing the same property, the first one would reset the modified flag in UpdateVTKObjects() and then others would not call AppendCommandToStream() in their turn. Therefore, each proxy has to keep track of all properties it updated. This is done by adding observers to the properties. When a property is modified, it invokes all observers and the observers set the appropriate flags in the proxies. Changes the modified flag of a property. Used by the observers

Reimplemented in vtkSMGlobalPropertiesManager, vtkSMPVRepresentationProxy, vtkSMChartRepresentationProxy, and vtkSMSpreadSheetRepresentationProxy.

void vtkSMProxy::AddSubProxy ( const char *  name,
vtkSMProxy proxy,
int  overrideOK = 0 
) [protected]

Add a sub-proxy. If the overrideOK flag is set, then no warning is printed when a new subproxy replaces a preexisting one.

void vtkSMProxy::RemoveSubProxy ( const char *  name) [protected]

Remove a sub-proxy.

vtkSMProxy* vtkSMProxy::GetSubProxy ( const char *  name) [protected]

Returns a sub-proxy. Returns 0 if sub-proxy does not exist.

vtkSMProxy* vtkSMProxy::GetSubProxy ( unsigned int  index) [protected]

Returns a sub-proxy. Returns 0 if sub-proxy does not exist.

const char* vtkSMProxy::GetSubProxyName ( unsigned int  index) [protected]

Returns the name used to store sub-proxy. Returns 0 if sub-proxy does not exist.

const char* vtkSMProxy::GetSubProxyName ( vtkSMProxy ) [protected]

Returns the name used to store sub-proxy. Returns 0 is the sub-proxy does not exist.

unsigned int vtkSMProxy::GetNumberOfSubProxies ( ) [protected]

Returns the number of sub-proxies.

virtual void vtkSMProxy::AddConsumer ( vtkSMProperty property,
vtkSMProxy proxy 
) [protected, virtual]

Called by a proxy property, this adds the property,proxy pair to the list of consumers.

Reimplemented in vtkSMRepresentationProxy.

virtual void vtkSMProxy::RemoveConsumer ( vtkSMProperty property,
vtkSMProxy proxy 
) [protected, virtual]

Remove the property,proxy pair from the list of consumers.

Reimplemented in vtkSMRepresentationProxy.

virtual void vtkSMProxy::RemoveAllConsumers ( ) [protected, virtual]

Remove all consumers.

Reimplemented in vtkSMRepresentationProxy.

void vtkSMProxy::AddProducer ( vtkSMProperty property,
vtkSMProxy proxy 
) [protected]

Called by an proxy/input property to add property, proxy pair to the list of producers.

void vtkSMProxy::RemoveProducer ( vtkSMProperty property,
vtkSMProxy proxy 
) [protected]

Remove the property,proxy pair from the list of producers.

virtual void vtkSMProxy::PostUpdateData ( ) [protected, virtual]

This method is called after the algorithm(s) (if any) associated with this proxy execute. Subclasses overwrite this method to add necessary functionality.

Reimplemented in vtkSMSourceProxy, and vtkSMRepresentationProxy.

bool vtkSMProxy::WarnIfDeprecated ( ) [protected]

If a proxy is deprecated, prints a warning.

virtual void vtkSMProxy::UpdatePipelineInformation ( ) [protected, virtual]

This method simply iterates over subproxies and calls UpdatePipelineInformation() on them. vtkSMSourceProxy overrides this method (makes it public) and updates the pipeline information.

Reimplemented in vtkSMSourceProxy.

vtkSMProperty* vtkSMProxy::NewProperty ( const char *  name) [protected]

Creates a new proxy and initializes it by calling ReadXMLAttributes() with the right XML element.

vtkSMProperty* vtkSMProxy::NewProperty ( const char *  name,
vtkPVXMLElement propElement 
) [protected]

Creates a new proxy and initializes it by calling ReadXMLAttributes() with the right XML element.

virtual int vtkSMProxy::ReadXMLAttributes ( vtkSMSessionProxyManager pm,
vtkPVXMLElement element 
) [protected, virtual]
void vtkSMProxy::SetupExposedProperties ( const char *  subproxy_name,
vtkPVXMLElement element 
) [protected]

Read attributes from an XML element.

void vtkSMProxy::SetupSharedProperties ( vtkSMProxy subproxy,
vtkPVXMLElement element 
) [protected]

Read attributes from an XML element.

void vtkSMProxy::ExposeSubProxyProperty ( const char *  subproxy_name,
const char *  property_name,
const char *  exposed_name,
int  overrideOK = 0 
) [protected]

Expose a subproxy property from the base proxy. The property with the name "property_name" on the subproxy with the name "subproxy_name" is exposed with the name "exposed_name". If the overrideOK flag is set, then no warning is printed when a new exposed property replaces a preexisting one.

virtual void vtkSMProxy::ExecuteSubProxyEvent ( vtkSMProxy o,
unsigned long  event,
void *  data 
) [protected, virtual]

Handle events fired by subproxies.

virtual int vtkSMProxy::CreateSubProxiesAndProperties ( vtkSMSessionProxyManager pm,
vtkPVXMLElement element 
) [protected, virtual]
virtual void vtkSMProxy::UpdatePropertyInformationInternal ( vtkSMProperty prop = NULL) [protected, virtual]

Called to update the property information on the property. It is assured that the property passed in as an argument is a self property. Both the overloads of UpdatePropertyInformation() call this method, so subclass can override this method to perform special tasks.

Reimplemented in vtkSMContextNamedOptionsProxy, and vtkSMParallelCoordinatesRepresentationProxy.

virtual void vtkSMProxy::SetSIClassName ( const char *  ) [protected, virtual]

SIClassName identifies the classname for the helper on the server side.

virtual char* vtkSMProxy::GetSIClassName ( ) [protected, virtual]

SIClassName identifies the classname for the helper on the server side.

bool vtkSMProxy::ArePropertiesModified ( ) [protected]

Indicates if any properties are modified.

void vtkSMProxy::SetHints ( vtkPVXMLElement hints) [protected]
void vtkSMProxy::SetDeprecated ( vtkPVXMLElement deprecated) [protected]
void vtkSMProxy::SetXMLElement ( vtkPVXMLElement element) [protected]
void vtkSMProxy::operator= ( const vtkSMProxy ) [protected]

Friends And Related Function Documentation

friend class vtkSMCameraLink [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 476 of file vtkSMProxy.h.

friend class vtkSMCompoundProxy [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 477 of file vtkSMProxy.h.

friend class vtkSMCompoundSourceProxy [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Reimplemented in vtkSMOutputPort.

Definition at line 478 of file vtkSMProxy.h.

friend class vtkSMInputProperty [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Reimplemented in vtkSMSourceProxy.

Definition at line 479 of file vtkSMProxy.h.

friend class vtkSMOrderedPropertyIterator [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 480 of file vtkSMProxy.h.

friend class vtkSMPart [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 481 of file vtkSMProxy.h.

friend class vtkSMProperty [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 482 of file vtkSMProxy.h.

friend class vtkSMPropertyIterator [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 483 of file vtkSMProxy.h.

friend class vtkSMNamedPropertyIterator [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 484 of file vtkSMProxy.h.

friend class vtkSMSessionProxyManager [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 485 of file vtkSMProxy.h.

friend class vtkSMProxyObserver [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 486 of file vtkSMProxy.h.

friend class vtkSMProxyProperty [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 487 of file vtkSMProxy.h.

friend class vtkSMProxyRegisterUndoElement [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 488 of file vtkSMProxy.h.

friend class vtkSMProxyUnRegisterUndoElement [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 489 of file vtkSMProxy.h.

friend class vtkSMSourceProxy [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Reimplemented in vtkSMOutputPort.

Definition at line 490 of file vtkSMProxy.h.

friend class vtkSMUndoRedoStateLoader [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 491 of file vtkSMProxy.h.

friend class vtkSMDeserializerProtobuf [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 492 of file vtkSMProxy.h.

friend class vtkSMStateLocator [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 493 of file vtkSMProxy.h.

friend class vtkSMMultiServerSourceProxy [friend]

These classes have been declared as friends to minimize the public interface exposed by vtkSMProxy. Each of these classes use a small subset of protected methods. This should be kept as such.

Definition at line 494 of file vtkSMProxy.h.


Member Data Documentation

bool vtkSMProxy::NeedsUpdate [protected]

Definition at line 613 of file vtkSMProxy.h.

char* vtkSMProxy::SIClassName [protected]

SIClassName identifies the classname for the helper on the server side.

Definition at line 656 of file vtkSMProxy.h.

char* vtkSMProxy::VTKClassName [protected]

Definition at line 660 of file vtkSMProxy.h.

char* vtkSMProxy::XMLGroup [protected]

Definition at line 661 of file vtkSMProxy.h.

char* vtkSMProxy::XMLName [protected]

Definition at line 662 of file vtkSMProxy.h.

char* vtkSMProxy::XMLLabel [protected]

Definition at line 663 of file vtkSMProxy.h.

char* vtkSMProxy::XMLSubProxyName [protected]

Definition at line 664 of file vtkSMProxy.h.

Definition at line 665 of file vtkSMProxy.h.

Definition at line 666 of file vtkSMProxy.h.

Definition at line 667 of file vtkSMProxy.h.

Avoids calls to UpdateVTKObjects in UpdateVTKObjects. UpdateVTKObjects call it self recursively until no properties are modified.

Definition at line 672 of file vtkSMProxy.h.

Flag used to help speed up UpdateVTKObjects and ArePropertiesModified calls.

Definition at line 676 of file vtkSMProxy.h.

Definition at line 685 of file vtkSMProxy.h.

Definition at line 687 of file vtkSMProxy.h.

Definition at line 688 of file vtkSMProxy.h.

Definition at line 689 of file vtkSMProxy.h.

Definition at line 692 of file vtkSMProxy.h.

Definition at line 695 of file vtkSMProxy.h.

Definition at line 698 of file vtkSMProxy.h.

vtkSMProxyObserver* vtkSMProxy::SubProxyObserver [protected]

Definition at line 699 of file vtkSMProxy.h.


The documentation for this class was generated from the following file: