I have a polygon mesh with a number of custom operators that maintain a
custom mesh structure.

An operator (Loader) at the very beginning of the modeling stack reads the
custom mesh structure and makes a copy that we can work on without
modifying the original.
If later operators were modifying the base structure instead of a copy, the
modifications would stack on each evaluation.

You can then apply standard topology operators (extrude, move etc), or
other custom operators that modify the internal structure directly, then on
the next evaluation cycle we reset the work copy and start with a fresh
copy of the unmodified mesh.

With the Loader operator set to AlwaysEvaluate it will update every frame
on playback, but when making certain changes (MoveComponent, for instance)
the evaluation stack will not re-evaluate operators earlier in the stack.

It would seem that if you have a mesh with [extrude op] and [move
component]s around after it, the first [extrude op] operator will not be
evaluated unless you jump to a different frame.

This means that my work copy is never reset, and any changes I make via
other operators stack on every evaluation.

I suppose this is a desired optimization for XSI's own cacheable data, but
it becomes a bit of a show stopper if you want your own data to be
evaluated in the stack.

As I am assuming the SDK does not provide the means to mimic this caching
behavior, is there any way to force the entire stack to always be evaluated?

Thanks!

Reply via email to