Hello,
I'm also facing a related problem when I save/restore vtkSMProxy's. The
proxy ID is stored in the XML file. So when I reload the proxies, the
StateLoader attempts to recreate the proxy with the same ID as before.
But because I'm running a new ParaView session, sometimes the saved ID
has already been reserved by another object in the current session,
causing a collision.
When this happens, ParaView aborts inside the function:
vtkClientServerInterpreter::ProcessCommandAssign(const vtkClientServerStream&
css, int midx)
The error message is "Attempt to assign existing ID".
Has anyone else ever dealt with this before? Is there a known workaround?
Am I completely off base?
Thank you!
--Geoff
On Wed, 19 Nov 2008, Nehme Bilal wrote:
Thank you Utkarsh !
it works but I have some problems like:
- after restoring the proxy, changing some display properties in Paraview has
no effect (like color ...)
- only the display properties are saved/restored. (variables in object
inspector "properties" tab are not restored)
It's probably the way that I'm casting the source proxy and some staff like
that.
I'll try to solve these problems and let you know.
thank you !
On Wed, 19 Nov 2008 10:20:52 -0500
Utkarsh Ayachit <[EMAIL PROTECTED]> wrote:
Here's one way of doing it:
vtkSMProxyManager* pxm = vtkSMObject::GetProxyManager();
vtkSMProxy *tempProxy = pxm->NewProxy(
src->GetXMLGroup(),
src->GetXMLName());
tempProxy->Copy(src);
....
src->Copy(tempProxy);
Utkarsh
Nehme Bilal wrote:
tempProxy is just a proxy I created using:
vtkSMProxy tempProxy = vtkSMProxy::New();
I am trying to save/restore all the object properties displayed in the
object inspector.
On Wed, 19 Nov 2008 09:30:55 -0500
Utkarsh Ayachit <[EMAIL PROTECTED]> wrote:
Nehme,
What properties are you changing/trying to restore? Is "tempProxy" of the
same type as "src"?
Utkarsh
Nehme Bilal wrote:
Hello,
Sorry I missed a few commas in the last message. this is the correct
one:
I am looking for a way to save a proxy properties and restore it later.
The only way I found is by saving and restoring the state using:
virtual vtkPVXMLElement* SaveState(vtkPVXMLElement* root);
virtual int LoadState(vtkPVXMLElement* element, vtkSMStateLoaderBase*
loader);
I don't want to use LoadState because this method create a new proxy. I
just want to restore all properties to the existing proxy.
There is also a method called Copy (void Copy(vtkSMProxy* src), this
method will copy all src properties to another proxy:
//copying properties to tempProxy
tempProxy->Copy(src,0,vtkSMProxy::COPY_PROXY_PROPERTY_VALUES_BY_CLONING);
I tried to change some display properties in Paraview and then restore
using:
src->Copy(tempProxy,0,vtkSMProxy::COPY_PROXY_PROPERTY_VALUES_BY_CLONING);
src->UpdateVTKObjects();
but nothing is restored ! why? Is there any other way to do that?
(suppose that I have only on source)
Thank you
_______________________________________________
ParaView mailing list
[email protected]
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
ParaView mailing list
[email protected]
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
ParaView mailing list
[email protected]
http://www.paraview.org/mailman/listinfo/paraview