Handles per-node-instance plug connection setup and storage. As plugs are
descriptors and thus an instance of the class, per-node-instance information needs
special treatment.
This class is being returned whenever the descriptors get and set methods are called,
it contains information about the node and the plug being involved, allowing to track
connection info directly using the node dict
This allows plugs to be connected, and information to flow through the dependency graph.
Plugs never act alone since they always belong to a parent node that will be asked for
value computations if the value is not yet cached.
:note: Do not instantiate this class youself, it must be created by the node as different
node types can use different versions of this shell
Inherited from tuple :
__add__ ,
__contains__ ,
__eq__ ,
__ge__ ,
__getattribute__ ,
__getitem__ ,
__getnewargs__ ,
__getslice__ ,
__gt__ ,
__hash__ ,
__iter__ ,
__le__ ,
__len__ ,
__lt__ ,
__mul__ ,
__ne__ ,
__rmul__ ,
__sizeof__ ,
count ,
index
Inherited from object :
__delattr__ ,
__format__ ,
__init__ ,
__reduce__ ,
__reduce_ex__ ,
__setattr__ ,
__subclasshook__
|
|
__getattr__(self,
attr)
Allow easy attribute access while staying memory efficient |
source code
|
|
|
|
|
|
|
|
|
set(self,
value,
ignore_connection=False)
Set the given value to be used in our plug
:param ignore_connection: if True, the plug can be destination of a connection and
will still get its value set - usually it would be overwritten by the value form the
connection. |
source code
|
|
|
|
|
connect(self,
otherplugshell,
**kwargs)
Connect this plug to otherplugshell such that otherplugshell is an input plug for our output |
source code
|
|
|
disconnect(self,
otherplugshell)
Remove the connection to otherplugshell if we are connected to it. |
source code
|
|
|
input(self,
predicate=<function <lambda> at 0x2f58500>)
Returns:
the connected input plug or None if there is no such connection |
source code
|
|
|
outputs(self,
predicate=<function <lambda> at 0x2f585f0>)
Returns:
a list of plugs being the destination of the connection |
source code
|
|
|
connections(self,
inpt,
output,
predicate=<function <lambda> at 0x2f586e0>)
Returns:
get all input and or output connections from this shell
or to this shell as edges ( sourceshell, destinationshell ) |
source code
|
|
|
isConnected(self)
Returns:
True, if the shell is connected as source or as destination of a connection |
source code
|
|
|
iterShells(self,
**kwargs)
Iterate plugs and their connections starting at this plug
:return: generator for plug shells
:note: supports all options of iterShells, this method allows syntax like:
node.outAttribute.iterShells( ) |
source code
|
|
|
|
|
|
|
setCache(self,
value)
Set the given value to be stored in our cache
:raise: TypeError if the value is not compatible to our defined type |
source code
|
|
|
|
|
clearCache(self,
clear_affected=False,
cleared_shells_set=None)
Empty the cache of our plug
:param clear_affected: if True, the caches of our affected plugs ( connections
or affects relations ) will also be cleared
This operation is recursive, and needs to be as different shells on different nodes
might do things differently. |
source code
|
|
|
|