Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkSMProxyProperty Class Reference

property representing pointer(s) to vtkObject(s) More...

#include <vtkSMProxyProperty.h>

Inheritance diagram for vtkSMProxyProperty:

Inheritance graph
[legend]
Collaboration diagram for vtkSMProxyProperty:

Collaboration graph
[legend]
List of all members.

[NOHEADER]

virtual void SetCleanCommand (const char *)
virtual char * GetCleanCommand ()
char * CleanCommand

[NOHEADER]

virtual void SetRemoveCommand (const char *)
virtual char * GetRemoveCommand ()
char * RemoveCommand

Public Member Functions

 vtkTypeRevisionMacro (vtkSMProxyProperty, vtkSMProperty)
void PrintSelf (ostream &os, vtkIndent indent)
int AddProxy (vtkSMProxy *proxy, int modify)
void RemoveProxy (vtkSMProxy *proxy, int modify)
void RemoveAllUncheckedProxies ()
void RemoveAllProxies ()
unsigned int GetNumberOfProxies ()
unsigned int GetNumberOfUncheckedProxies ()
vtkSMProxyGetProxy (unsigned int idx)
vtkSMProxyGetUncheckedProxy (unsigned int idx)
virtual void Copy (vtkSMProperty *src)
int AddProxy (vtkSMProxy *proxy)
void RemoveProxy (vtkSMProxy *proxy)
int SetProxy (unsigned int idx, vtkSMProxy *proxy)
void AddUncheckedProxy (vtkSMProxy *proxy)
void RemoveUncheckedProxy (vtkSMProxy *proxy)
void SetUncheckedProxy (unsigned int idx, vtkSMProxy *proxy)
virtual void DeepCopy (vtkSMProperty *src, const char *exceptionClass, int proxyPropertyCopyFlag)

Static Public Member Functions

vtkSMProxyPropertyNew ()

Protected Member Functions

 vtkSMProxyProperty ()
 ~vtkSMProxyProperty ()
virtual void UpdateAllInputs ()
virtual void SaveState (const char *name, ostream *file, vtkIndent indent)
void RemoveConsumers (vtkSMProxy *proxy)
virtual void SetRepeatCommand (int)
virtual int GetRepeatCommand ()
void AppendCommandToStreamWithRemoveCommand (vtkSMProxy *cons, vtkClientServerStream *str, vtkClientServerID objectId)
void AppendProxyToStream (vtkSMProxy *toAppend, vtkSMProxy *cons, vtkClientServerStream *str, vtkClientServerID objectId, int remove=0)
virtual void AppendCommandToStream (vtkSMProxy *, vtkClientServerStream *stream, vtkClientServerID objectId)
void AddPreviousProxy (vtkSMProxy *proxy)
void RemoveAllPreviousProxies ()
virtual int ReadXMLAttributes (vtkSMProxy *parent, vtkPVXMLElement *element)

Protected Attributes

vtkSMProxyPropertyInternals * PPInternals
int RepeatCommand

Friends

class vtkSMProxy

Detailed Description

property representing pointer(s) to vtkObject(s)

vtkSMProxyProperty is a concrete sub-class of vtkSMProperty representing pointer(s) to vtkObject(s) (through vtkSMProxy). If UpdateSelf is true, the proxy ids (as opposed to the server object ids) are passed to the stream. Note: This property connects two proxies: proxy A (to which this property belongs) and proxy B (or more) (which is to be proxy A by using this property). The way this is set depends on the number of IDs of the two proxies. If A and B have same number of IDs, the vtkObject represented by i'th ID on B is set on the server object represented by i'th ID on A. If A has 1 ID and B has more than one, than all IDs in B are set on A one after the other. If B has 1 ID and A has more than one, than vtkObject represented by B is set on all the server objects of A.

ProxyProperty supports attribute "remove_command". Note that if RemoveCommand is set, the clean_command is ignored. When RemoveCommand is set, only the changes in the proxies (by AddProxy/RemoveProxy) are progaated to servers .ie. those proxies not present in the previous call to AppendCommandToStream are set on the servers using this->Command and those missing during current call are removed from the servers using this->RemoveCommand. Note that a property with "RemoveCommand" set should not be shared among more than 1 proxies.

TODO: Update comment

See also:
vtkSMProperty

Definition at line 57 of file vtkSMProxyProperty.h.


Constructor & Destructor Documentation

vtkSMProxyProperty::vtkSMProxyProperty  )  [protected]
 

vtkSMProxyProperty::~vtkSMProxyProperty  )  [protected]
 


Member Function Documentation

vtkSMProxyProperty* vtkSMProxyProperty::New  )  [static]
 

Reimplemented from vtkSMProperty.

Reimplemented in vtkSMInputProperty.

vtkSMProxyProperty::vtkTypeRevisionMacro vtkSMProxyProperty  ,
vtkSMProperty 
 

void vtkSMProxyProperty::PrintSelf ostream &  os,
vtkIndent  indent
 

Reimplemented from vtkSMProperty.

Reimplemented in vtkSMInputProperty.

int vtkSMProxyProperty::AddProxy vtkSMProxy proxy  ) 
 

Add a proxy to the list of proxies.

void vtkSMProxyProperty::RemoveProxy vtkSMProxy proxy  ) 
 

Add a proxy to the list of proxies.

int vtkSMProxyProperty::SetProxy unsigned int  idx,
vtkSMProxy proxy
 

Add a proxy to the list of proxies.

int vtkSMProxyProperty::AddProxy vtkSMProxy proxy,
int  modify
 

Add a proxy to the list of proxies without calling Modified (if modify is false). This is commonly used when ImmediateUpdate is true but it is more efficient to avoid calling Update until the last proxy is added. To do this, add all proxies with modify=false and call Modified after the last. This will perform domain checking. If the domain check fails, the proxy will not be added and 0 will be returned. Returns 1 on success. If the domain check fails or the property is read only, returns 0. All proxies added with AddProxy() will become "consumers" of the proxy passed to AppendCommandToStream().

void vtkSMProxyProperty::RemoveProxy vtkSMProxy proxy,
int  modify
 

Removes a proxy from the vector of added Proxies (added by AddProxy).

void vtkSMProxyProperty::AddUncheckedProxy vtkSMProxy proxy  ) 
 

Add an unchecked proxy. Does not modify the property. Unchecked proxies are used by domains when verifying whether a value is acceptable. To check if a value is in the domains, you can do the following:

 - RemoveAllUncheckedProxies() -
      AddUncheckedProxy(proxy) - IsInDomains() 

void vtkSMProxyProperty::RemoveUncheckedProxy vtkSMProxy proxy  ) 
 

Add an unchecked proxy. Does not modify the property. Unchecked proxies are used by domains when verifying whether a value is acceptable. To check if a value is in the domains, you can do the following:

 - RemoveAllUncheckedProxies() -
      AddUncheckedProxy(proxy) - IsInDomains() 

void vtkSMProxyProperty::SetUncheckedProxy unsigned int  idx,
vtkSMProxy proxy
 

Add an unchecked proxy. Does not modify the property. Unchecked proxies are used by domains when verifying whether a value is acceptable. To check if a value is in the domains, you can do the following:

 - RemoveAllUncheckedProxies() -
      AddUncheckedProxy(proxy) - IsInDomains() 

void vtkSMProxyProperty::RemoveAllUncheckedProxies  ) 
 

Removes all unchecked proxies.

void vtkSMProxyProperty::RemoveAllProxies  ) 
 

Remove all proxies from the list.

unsigned int vtkSMProxyProperty::GetNumberOfProxies  ) 
 

Returns the number of proxies.

unsigned int vtkSMProxyProperty::GetNumberOfUncheckedProxies  ) 
 

Returns the number of unchecked proxies.

vtkSMProxy* vtkSMProxyProperty::GetProxy unsigned int  idx  ) 
 

Return a proxy. No bounds check is performed.

vtkSMProxy* vtkSMProxyProperty::GetUncheckedProxy unsigned int  idx  ) 
 

Return a proxy. No bounds check is performed.

virtual void vtkSMProxyProperty::Copy vtkSMProperty src  )  [virtual]
 

Copy all property values.

Reimplemented from vtkSMProperty.

virtual void vtkSMProxyProperty::DeepCopy vtkSMProperty src,
const char *  exceptionClass,
int  proxyPropertyCopyFlag
[virtual]
 

Copy all proxies added to the src over to this by creating new instances for the proxies and inturn calling Copy to copy the proxies. exceptionClass and proxyPropertyCopyFlag are used while copying over the values from the two proxy properties.

virtual void vtkSMProxyProperty::AppendCommandToStream vtkSMProxy ,
vtkClientServerStream *  stream,
vtkClientServerID  objectId
[protected, virtual]
 

Description: Append a command to update the vtk object with the property values(s). The proxy objects create a stream by calling this method on all the modified properties. Note that if the proxy has multiple IDs, they are all appended to the command stream. All proxies added with AddProxy() will become "consumers" of the proxy passed to AppendCommandToStream().

Reimplemented from vtkSMProperty.

Reimplemented in vtkSMInputProperty.

virtual void vtkSMProxyProperty::UpdateAllInputs  )  [protected, virtual]
 

Update all proxies referred by this property.

Reimplemented from vtkSMProperty.

virtual void vtkSMProxyProperty::SaveState const char *  name,
ostream *  file,
vtkIndent  indent
[protected, virtual]
 

Saves the state of the object in XML format.

Reimplemented from vtkSMProperty.

void vtkSMProxyProperty::AddPreviousProxy vtkSMProxy proxy  )  [protected]
 

void vtkSMProxyProperty::RemoveAllPreviousProxies  )  [protected]
 

void vtkSMProxyProperty::RemoveConsumers vtkSMProxy proxy  )  [protected]
 

Given a proxy, remove all previous proxies from it's consumer list.

virtual void vtkSMProxyProperty::SetCleanCommand const char *   )  [protected, virtual]
 

Command that can be used to remove inputs. If set, this command is called before the main Command is called with all the arguments.

virtual char* vtkSMProxyProperty::GetCleanCommand  )  [protected, virtual]
 

Command that can be used to remove inputs. If set, this command is called before the main Command is called with all the arguments.

virtual void vtkSMProxyProperty::SetRemoveCommand const char *   )  [protected, virtual]
 

Remove command is the command called to remove the VTK object on the server-side. If set, CleanCommand is ignored. Instead for every proxy that was absent from the proxies previously pushed, the RemoveCommand is invoked. NOTE: Do not share properties that have RemoveCommand set among proxies, as they will not work. If required, the support can be added.

virtual char* vtkSMProxyProperty::GetRemoveCommand  )  [protected, virtual]
 

Remove command is the command called to remove the VTK object on the server-side. If set, CleanCommand is ignored. Instead for every proxy that was absent from the proxies previously pushed, the RemoveCommand is invoked. NOTE: Do not share properties that have RemoveCommand set among proxies, as they will not work. If required, the support can be added.

virtual int vtkSMProxyProperty::ReadXMLAttributes vtkSMProxy parent,
vtkPVXMLElement element
[protected, virtual]
 

Set the appropriate ivars from the xml element. Should be overwritten by subclass if adding ivars.

Reimplemented from vtkSMProperty.

Reimplemented in vtkSMInputProperty.

virtual void vtkSMProxyProperty::SetRepeatCommand int   )  [protected, virtual]
 

virtual int vtkSMProxyProperty::GetRepeatCommand  )  [protected, virtual]
 

void vtkSMProxyProperty::AppendCommandToStreamWithRemoveCommand vtkSMProxy cons,
vtkClientServerStream *  str,
vtkClientServerID  objectId
[protected]
 

void vtkSMProxyProperty::AppendProxyToStream vtkSMProxy toAppend,
vtkSMProxy cons,
vtkClientServerStream *  str,
vtkClientServerID  objectId,
int  remove = 0
[protected]
 


Friends And Related Function Documentation

friend class vtkSMProxy [friend]
 

Reimplemented from vtkSMProperty.

Definition at line 164 of file vtkSMProxyProperty.h.


Member Data Documentation

vtkSMProxyPropertyInternals* vtkSMProxyProperty::PPInternals [protected]
 

Definition at line 167 of file vtkSMProxyProperty.h.

char* vtkSMProxyProperty::CleanCommand [protected]
 

Command that can be used to remove inputs. If set, this command is called before the main Command is called with all the arguments.

Definition at line 174 of file vtkSMProxyProperty.h.

char* vtkSMProxyProperty::RemoveCommand [protected]
 

Remove command is the command called to remove the VTK object on the server-side. If set, CleanCommand is ignored. Instead for every proxy that was absent from the proxies previously pushed, the RemoveCommand is invoked. NOTE: Do not share properties that have RemoveCommand set among proxies, as they will not work. If required, the support can be added.

Definition at line 186 of file vtkSMProxyProperty.h.

int vtkSMProxyProperty::RepeatCommand [protected]
 

Definition at line 198 of file vtkSMProxyProperty.h.


The documentation for this class was generated from the following file:
Generated on Tue May 30 12:42:17 2006 for ParaView by doxygen 1.3.5