Black magic! I've never even heard of that object. :(

--------------------------------------------
Eric Thivierge
http://www.ethivierge.com


On Mon, Jul 30, 2012 at 7:32 AM, Alan Fregtman <[email protected]>wrote:

> Hey guys,
>
> *You're all forgetting the ConnectionStack.* It tells you what's
> connected under the hood. *No need to scan through all expressions in the
> scene!*
>
>
> import xml.etree.ElementTree as ET
> def getExpressionsDrivenByParameter( param ):
>     stack = XSIUtils.DataRepository.GetConnectionStackInfo(param)
>
>     expressions = XSIFactory.CreateObject('XSI.Collection')
>     xml = ET.fromstring(stack)
>     for conn in xml.findall('connection'):
>         if conn.find('type').text == 'out':
>             item = conn.find('object').text
>             if item.endswith('.Expression'):
>                 expressions.AddItems(item)
>
>     return expressions
>
>
>
> It took 4.5s on my laptop to find 10,752 expressions that were pointing to
> one single parameter. Fast enough for ya? :) -- In a less ludicrous use
> case, it's pretty much instant.
>
>    -- Alan
>
>
>
> On Sat, Jul 28, 2012 at 11:51 AM, Alok Gandhi 
> <[email protected]>wrote:
>
>> Hi Jeremy,
>>
>> I missed this first time but to make it more elegant you (not a speed up)
>> you can even do:
>> def getExpressionsDrivenByParameter( param ):
>>     return PARAM_EXPR_DICT.get(param.FullName)
>>
>> which is exactly the same as before but cleaner code,
>>
>
>

Reply via email to