[Paraview-developers] More server manager woes.
Berk Geveci
berk.geveci at gmail.com
Wed Apr 20 13:20:32 EDT 2005
> (1) Should the ModifiedAtCreation flag really exist? The point seems to
> be to make sure that when the object is created, its state reflects the
> default values specified in the xml. Is that important? Why would the
> default values in the xml be more important than those in the class
> itself? Does it matter that they don't agree? These are proxy objects
> after all. The programmer must know of the possibility that the state
> does not match up perfectly. ParaView turns this flag off. Is there
> any client that really needs it on? Could it be replaced with a method
> in vtkProxy that updates all properties regardless of the modified flag?
I think that a method that pushed all values whether they are modified
or not is better than using ModifiedAtCreation. I can't remember the
motivation behind the flag but I have no objection to removing it. The
web stuff might depend on it though. Utkarsh? Andy?
> (2) Should everything in a proxy be a property? A property, in my mind,
> is just a piece of state. Both "Render" and "ForceUpdate" are not
> really properties in that sense. They are commands that invoke some
> sort of process. They may change the state, but probably in ways far
> outside those of other properties. To me (and probably to most
> programmers) setting a property named "ForceUpdate" seems far removed
> from "update the upstream pipeline now." Is this hokey mechanism better
> than just using a client/server stream directly? Should proxies also
> have commands in addition to properties? That would help prevent code
> from blindly doing pipeline updates or renders when it thinks it's just
> modifying some fields in a class.
I agree with these too. I actually prefer a C++ interface for things
like render, update etc. However, for applications that require a
property like interface a command object makes more sense. However
this is a bit tricky because properties do not have access to the
actual ids so they can't directly invoke. Here is one way of doing it:
* Make command subclass of property, make sure ImmediateUpdate is on
and that Modified is false.
* Add Invoke command that calls this->Modified()
More information about the Paraview-developers
mailing list