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

vtkSMProperty Class Reference

superclass for all SM properties More...

#include <vtkSMProperty.h>

Inheritance diagram for vtkSMProperty:

Inheritance graph
[legend]
Collaboration diagram for vtkSMProperty:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 vtkTypeRevisionMacro (vtkSMProperty, vtkSMObject)
void PrintSelf (ostream &os, vtkIndent indent)
vtkSMPropertyGetSubProperty (const char *name)
int IsInDomains ()
virtual void UnRegister (vtkObjectBase *obj)
vtkSMDomainIteratorNewDomainIterator ()
vtkSMDomainGetDomain (const char *name)
unsigned int GetNumberOfDomains ()
void UpdateDependentDomains ()
void AddDomain (const char *name, vtkSMDomain *dom)
virtual void Copy (vtkSMProperty *src)
virtual void SetCommand (const char *)
virtual char * GetCommand ()
virtual void SetImmediateUpdate (int)
virtual int GetImmediateUpdate ()
virtual void SetUpdateSelf (int)
virtual int GetUpdateSelf ()
virtual char * GetXMLName ()
virtual int GetInformationOnly ()
virtual vtkSMPropertyGetInformationProperty ()
void SetControllerProxy (vtkSMProxy *proxy)
void SetControllerProperty (vtkSMProperty *property)
virtual void SetAnimateable (int)
virtual int GetAnimateable ()
virtual void SetSaveable (int)
virtual int GetSaveable ()

Static Public Member Functions

vtkSMPropertyNew ()
int GetCheckDomains ()
void SetCheckDomains (int check)

Protected Member Functions

 vtkSMProperty ()
 ~vtkSMProperty ()
virtual void UpdateAllInputs ()
void AddSubProperty (const char *name, vtkSMProperty *proxy)
void RemoveSubProperty (const char *name)
vtkSMPropertyNewProperty (const char *name)
void AddDependent (vtkSMDomain *dom)
void RemoveAllDependents ()
virtual void SaveState (const char *name, ostream *file, vtkIndent indent)
void SetInformationHelper (vtkSMInformationHelper *helper)
void SetProxy (vtkSMProxy *proxy)
virtual void SetInformationOnly (int)
void SetInformationProperty (vtkSMProperty *ip)
virtual void AppendCommandToStream (vtkSMProxy *, vtkClientServerStream *stream, vtkClientServerID objectId)
virtual void UpdateInformation (int serverids, vtkClientServerID objectId)
virtual int ReadXMLAttributes (vtkSMProxy *parent, vtkPVXMLElement *element)
virtual void SetXMLName (const char *)

Protected Attributes

char * Command
vtkSMPropertyInternalsPInternals
int ImmediateUpdate
int UpdateSelf
int Animateable
int Saveable
char * XMLName
vtkSMDomainIteratorDomainIterator
vtkSMProxyControllerProxy
vtkSMPropertyControllerProperty
vtkSMProxyProxy
int InformationOnly
vtkSMInformationHelperInformationHelper
vtkSMPropertyInformationProperty

Static Protected Attributes

int CheckDomains

Friends

class vtkSMProxyManager
class vtkSMProxy
class vtkSMSubPropertyIterator
class vtkSMDomainIterator
class vtkSMSourceProxy
class vtkSMDomain

Detailed Description

superclass for all SM properties

Each instance of vtkSMProperty or a sub-class represents a method and associated arguments (if any) of a a vtk object stored on one or more client manager or server nodes. It may have a state and can push this state to the vtk object it refers to. vtkSMPropery only supports methods with no arguments. Sub-classes support methods with different arguments types and numbers. A property can also be marked as an "information" property in which case it's values are obtained from the server with the UpdateInformation() call. This call is forwarded to an information helper. The type of the information helper used is specified in the XML file. Each property can have one or more sub-properties. The sub-properties can be accessed using an iterator. It is possible to create composite properties of any depth this way. Each property can have one or more domains. A domain represents a set of acceptable values the property can have. An Attempt to set a value outside the domain will fail. If more than one domain is specified, the actual domain is the intersection of all domains.

A property can be marked "animateable". "animateable" attribute can have value {0, 1, 2}. 0 :-- property is not animateable at all. 1 :-- property is shown as animateable on the key frame animation interface in the non-advanced mode. 2 :-- property is animateable but only shown in the advanced mode. Properties that are not vector properties or that don't have domain or that are information_only properties can never be animated irrespective of the "animateable" attribute's value. All vector properties (vtkSMIntVectorProperty, vtkSMDoubleVectorPropery, vtkSMStringVectorProperty, vtkSMIdTypeVectorProperty) by default have have animateable="2".

A property can be marked "saveable". "saveable" attribute can have value {0, 1}. 0 :-- property is not saveable. Hence, when saving ServerManager state or saving batch script, the property's value is not saved. 1 :-- property is saveable. Hence, it gets saved when saving SM state or batch script. An instance of vtkSMProperty is never savable. All other concrete subclasses are by default savable (i.e. vtkSMProxyProperty and subclasses and vtkSMVectorProperty subclasses).

See also:
vtkSMProxyProperty vtkSMInputProperty vtkSMVectorProperty vtkSMDoubleVectorPropery vtkSMIntVectorPropery vtkSMStringVectorProperty vtkSMDomain vtkSMInformationHelper

Definition at line 81 of file vtkSMProperty.h.


Constructor & Destructor Documentation

vtkSMProperty::vtkSMProperty  )  [protected]
 

vtkSMProperty::~vtkSMProperty  )  [protected]
 


Member Function Documentation

vtkSMProperty* vtkSMProperty::New  )  [static]
 

Reimplemented from vtkSMObject.

Reimplemented in vtkSMDoubleVectorProperty, vtkSMIdTypeVectorProperty, vtkSMInputProperty, vtkSMIntVectorProperty, vtkSMProxyProperty, and vtkSMStringVectorProperty.

vtkSMProperty::vtkTypeRevisionMacro vtkSMProperty  ,
vtkSMObject 
 

void vtkSMProperty::PrintSelf ostream &  os,
vtkIndent  indent
 

Reimplemented from vtkSMObject.

Reimplemented in vtkSMDoubleVectorProperty, vtkSMIdTypeVectorProperty, vtkSMInputProperty, vtkSMIntVectorProperty, vtkSMProxyProperty, vtkSMStringVectorProperty, and vtkSMVectorProperty.

virtual void vtkSMProperty::SetCommand const char *   )  [virtual]
 

The command name used to set the value on the server object. For example: SetThetaResolution

virtual char* vtkSMProperty::GetCommand  )  [virtual]
 

The command name used to set the value on the server object. For example: SetThetaResolution

virtual void vtkSMProperty::SetImmediateUpdate int   )  [virtual]
 

If ImmediateUpdate is true, the value of the property will be pushed to the server as soon as it is modified. Properties that do not have values can be pushed by calling Modified().

virtual int vtkSMProperty::GetImmediateUpdate  )  [virtual]
 

If ImmediateUpdate is true, the value of the property will be pushed to the server as soon as it is modified. Properties that do not have values can be pushed by calling Modified().

virtual void vtkSMProperty::SetUpdateSelf int   )  [virtual]
 

Advanced. If UpdateSelf is true, the property will be pushed by calling the method (Command) on the proxy instead of the VTK object. This is commonly used to implement more complicated functionality than can be obtained by calling a method on all server objects.

virtual int vtkSMProperty::GetUpdateSelf  )  [virtual]
 

Advanced. If UpdateSelf is true, the property will be pushed by calling the method (Command) on the proxy instead of the VTK object. This is commonly used to implement more complicated functionality than can be obtained by calling a method on all server objects.

vtkSMProperty* vtkSMProperty::GetSubProperty const char *  name  ) 
 

Returns a sub-property with the given name. If the sub-property does not exist, NULL is returned.

int vtkSMProperty::IsInDomains  ) 
 

Returns true if all values are in all domains, false otherwise. The domains will check the unchecked values (SetUncheckedXXX()) instead of the actual values.

virtual void vtkSMProperty::UnRegister vtkObjectBase obj  )  [virtual]
 

Overloaded to break the reference loop caused by the internal domain iterator.

vtkSMDomainIterator* vtkSMProperty::NewDomainIterator  ) 
 

Creates, initializes and returns a new domain iterator. The user has to delete the iterator.

vtkSMDomain* vtkSMProperty::GetDomain const char *  name  ) 
 

Returns a domain give a name.

unsigned int vtkSMProperty::GetNumberOfDomains  ) 
 

Returns the number of domains this property has. This can be used to specify a valid index for GetDomain(index).

void vtkSMProperty::UpdateDependentDomains  ) 
 

Calls Update() on all domains contained by the property as well as all dependant domains. This is usually called after SetUncheckedXXX() to tell all dependant domains to update themselves according to the new value. Note that when calling Update() on domains contained by this property, a NULL is passed as the argument. This is because the domain does not really "depend" on the property. When calling Update() on dependent domains, the property passes itself as the argument.

int vtkSMProperty::GetCheckDomains  )  [static]
 

Static boolean used to determine whether domain checking should be performed when setting values. On by default.

void vtkSMProperty::SetCheckDomains int  check  )  [static]
 

Static boolean used to determine whether domain checking should be performed when setting values. On by default.

virtual char* vtkSMProperty::GetXMLName  )  [virtual]
 

The name assigned by the xml parser. Used to get the property from a proxy.

virtual int vtkSMProperty::GetInformationOnly  )  [virtual]
 

Is InformationOnly is set to true, this property is used to get information from server instead of setting values.

virtual vtkSMProperty* vtkSMProperty::GetInformationProperty  )  [virtual]
 

Get the associated information property. This allows applications to have access to both the in and out properties. The information property has to be specified in the xml configuration file.

void vtkSMProperty::SetControllerProxy vtkSMProxy proxy  ) 
 

ControllerProxy is pointer to the proxy whose property (ControllerProperty) is mapped to the current property. This is useful for 3DWidgets. The properties of the implicit function proxy controlled by the 3DWidget will have these set to the corresponing property of the 3DWidget. Thus, providing hints about which implicit function property is controlled by which 3DWidget and what property. This goes mostly unnoticed in ParaView, but useful for ARL. If these are set, then they are saved in the XML during SaveState as a element <ControllerProperty name="propertyname" />. ARL notices such elements and creates a property value dependency among the controlee and the controller property.

void vtkSMProperty::SetControllerProperty vtkSMProperty property  ) 
 

ControllerProxy is pointer to the proxy whose property (ControllerProperty) is mapped to the current property. This is useful for 3DWidgets. The properties of the implicit function proxy controlled by the 3DWidget will have these set to the corresponing property of the 3DWidget. Thus, providing hints about which implicit function property is controlled by which 3DWidget and what property. This goes mostly unnoticed in ParaView, but useful for ARL. If these are set, then they are saved in the XML during SaveState as a element <ControllerProperty name="propertyname" />. ARL notices such elements and creates a property value dependency among the controlee and the controller property.

void vtkSMProperty::AddDomain const char *  name,
vtkSMDomain dom
 

Properties can have one or more domains. These are assigned by the proxy manager and can be used to obtain information other than given by the type of the propery and its values.

virtual void vtkSMProperty::SetAnimateable int   )  [virtual]
 

Get/Set if the property is animateable. Non-animateable properties are shown in the GUI only in advanced mode.

virtual int vtkSMProperty::GetAnimateable  )  [virtual]
 

Get/Set if the property is animateable. Non-animateable properties are shown in the GUI only in advanced mode.

virtual void vtkSMProperty::SetSaveable int   )  [virtual]
 

Get/Set if the property is saveable. A non-saveable property should not be saved in state or batch script.

virtual int vtkSMProperty::GetSaveable  )  [virtual]
 

Get/Set if the property is saveable. A non-saveable property should not be saved in state or batch script.

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

Copy all property values.

Reimplemented in vtkSMDoubleVectorProperty, vtkSMIdTypeVectorProperty, vtkSMIntVectorProperty, vtkSMProxyProperty, vtkSMStringVectorProperty, and vtkSMVectorProperty.

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

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.

Reimplemented in vtkSMDoubleVectorProperty, vtkSMIdTypeVectorProperty, vtkSMInputProperty, vtkSMIntVectorProperty, vtkSMProxyProperty, and vtkSMStringVectorProperty.

virtual void vtkSMProperty::UpdateInformation int  serverids,
vtkClientServerID  objectId
[protected, virtual]
 

If this is an information property (InformationOnly is true), this method fills the vector with the values obtained from the server. This work is forwarded to the information helper.

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

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

Reimplemented in vtkSMDoubleVectorProperty, vtkSMIdTypeVectorProperty, vtkSMInputProperty, vtkSMIntVectorProperty, vtkSMProxyProperty, vtkSMStringVectorProperty, and vtkSMVectorProperty.

virtual void vtkSMProperty::UpdateAllInputs  )  [inline, protected, virtual]
 

Update all proxies referred by this property (if any). Overwritten by vtkSMProxyProperty and sub-classes.

Reimplemented in vtkSMProxyProperty.

Definition at line 246 of file vtkSMProperty.h.

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

The name assigned by the xml parser. Used to get the property from a proxy.

void vtkSMProperty::AddSubProperty const char *  name,
vtkSMProperty proxy
[protected]
 

Add a sub-property with the given name.

void vtkSMProperty::RemoveSubProperty const char *  name  )  [protected]
 

Remove the named sub-property.

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

Internal. Used during XML parsing to get a property with given name. Used by the domains when setting required properties.

void vtkSMProperty::AddDependent vtkSMDomain dom  )  [protected]
 

Internal. Used by the domains that require this property. They add themselves as dependents.

void vtkSMProperty::RemoveAllDependents  )  [protected]
 

Removes all dependents.

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

Save the state in XML.

Reimplemented from vtkSMObject.

Reimplemented in vtkSMDoubleVectorProperty, vtkSMIdTypeVectorProperty, vtkSMIntVectorProperty, vtkSMProxyProperty, and vtkSMStringVectorProperty.

void vtkSMProperty::SetInformationHelper vtkSMInformationHelper helper  )  [protected]
 

Set from the XML file, information helpers fill in the property values with information obtained from server.

void vtkSMProperty::SetProxy vtkSMProxy proxy  )  [protected]
 

virtual void vtkSMProperty::SetInformationOnly int   )  [protected, virtual]
 

void vtkSMProperty::SetInformationProperty vtkSMProperty ip  )  [protected]
 


Friends And Related Function Documentation

friend class vtkSMProxyManager [friend]
 

Definition at line 214 of file vtkSMProperty.h.

friend class vtkSMProxy [friend]
 

Reimplemented in vtkSMProxyProperty.

Definition at line 215 of file vtkSMProperty.h.

friend class vtkSMSubPropertyIterator [friend]
 

Definition at line 216 of file vtkSMProperty.h.

friend class vtkSMDomainIterator [friend]
 

Definition at line 217 of file vtkSMProperty.h.

friend class vtkSMSourceProxy [friend]
 

Definition at line 218 of file vtkSMProperty.h.

friend class vtkSMDomain [friend]
 

Definition at line 219 of file vtkSMProperty.h.


Member Data Documentation

char* vtkSMProperty::Command [protected]
 

Definition at line 278 of file vtkSMProperty.h.

vtkSMPropertyInternals* vtkSMProperty::PInternals [protected]
 

Definition at line 280 of file vtkSMProperty.h.

int vtkSMProperty::ImmediateUpdate [protected]
 

Definition at line 282 of file vtkSMProperty.h.

int vtkSMProperty::UpdateSelf [protected]
 

Definition at line 283 of file vtkSMProperty.h.

int vtkSMProperty::Animateable [protected]
 

Definition at line 284 of file vtkSMProperty.h.

int vtkSMProperty::Saveable [protected]
 

Definition at line 285 of file vtkSMProperty.h.

char* vtkSMProperty::XMLName [protected]
 

Definition at line 287 of file vtkSMProperty.h.

vtkSMDomainIterator* vtkSMProperty::DomainIterator [protected]
 

Definition at line 289 of file vtkSMProperty.h.

int vtkSMProperty::CheckDomains [static, protected]
 

Definition at line 291 of file vtkSMProperty.h.

vtkSMProxy* vtkSMProperty::ControllerProxy [protected]
 

Definition at line 304 of file vtkSMProperty.h.

vtkSMProperty* vtkSMProperty::ControllerProperty [protected]
 

Definition at line 305 of file vtkSMProperty.h.

vtkSMProxy* vtkSMProperty::Proxy [protected]
 

Definition at line 308 of file vtkSMProperty.h.

int vtkSMProperty::InformationOnly [protected]
 

Definition at line 312 of file vtkSMProperty.h.

vtkSMInformationHelper* vtkSMProperty::InformationHelper [protected]
 

Definition at line 314 of file vtkSMProperty.h.

vtkSMProperty* vtkSMProperty::InformationProperty [protected]
 

Definition at line 317 of file vtkSMProperty.h.


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