Eric Laeuffer <[EMAIL PROTECTED]> writes:
> I'm trying to customize my universe with a ptcl script. My script must
> change some states of my universe.
> So I use the command, setstate block-name state-name value, to do that.
> But my universe has some galaxies which has galaxies too. And then, I
> can't change the states of these galaxies.
> I tried setstate galaxy1.galaxie1_1 state1_1 val but it doesn't work.

Yup, that's an annoying limitation of setstate (particularly seeing that
statevalue works fine with dotted names).

The only workaround that I know of is to export the lower-level states
up through their containing galaxies.  That is, if A.B has a state S
that you need to be able to change, then you have to make a state S
for A, and have B's actual value for S refer to the outer S (A's S).

After you've done that, your script only has to set parameters for
top-level galaxies, so the setstate limitation isn't a problem anymore.

One way to look at this is that it's good programming practice anyway:
if you "reach inside" a galaxy to set states of its sub-blocks, you're
not treating the galaxy as a black box.

                        regards, tom lane

----------------------------------------------------------------------------
Posted to the ptolemy-hackers mailing list.  Please send administrative
mail for this list to: [EMAIL PROTECTED]

Reply via email to