Search - User list
Full Version: OTL cross-ref parm callbacks break inside another OTL
Root » Technical Discussion » OTL cross-ref parm callbacks break inside another OTL
ben simons
Hi,

Houdini 11.0.454, Linux x86_64 2.6.18-164.el5

A couple of guys here were messing around with an OTL which breaks when it's inside another OTL. Kind of strange. I've made a little demo / test-case. Making the inner OTL “editable” via the Type Properties didn't help. I was going to post this to the v11 beta forum, but it looks like that's closed now. It's probably worth SESI taking a look at what's happening.

The unusual thing going on here is the inner OTL has parms which cross-reference one another. That is, when you update one parm, there's a call-back which updates the other. This is done via an opparm() in the inner OTL. To demo this, i've made a simple “crate” with 2 parms on it; scale and position. Moving one changes the other.

When this crate is put into another OTL, named superCrate, this update/call-back breaks in various ways, depending on what you do to try to make it work! Generally i've seen one of the parms on the inner OTL gets blown-away. Eg change the superCrates OTL parm “crate1 a Translate Y” parm from 0.5, and the parm inside on crate1“a Scale Y” (being ch(“../crate1_asy”) ) gets cleared! Other times when it's all locked-up the update of the other parm (on the inner OTL) doesn't happen.

There's a hipfile and otl attached, which i made in /tmp/sc

cheers,
ben.
wolfwood
Use opparm -r in your callback.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB