FW: DBASE

New Message Reply Date view Thread view Subject view Author view

From: Dorosky, Christopher G (christopher.g.dorosky++at++lmco.com)
Date: 05/22/2001 06:23:46


Larry,
 
You have fallen victim to scoping. Performer provides a rather nice method
of keeping things MP safe. One of the consquences of that is that you cannot
asynchronously change a node of the scene graph. What would happen if it
changed while you were in the middle of drawing it?
 
There is a buffer->scope(node) call that can tell you if you can fool with
the node in question or not.
 
I would suggest you either:
 
1. Set the callback in the app at init.
2. have a shared memory flag that you can see from both processes that tells
you when to set it.
3. Remove scope from the app, and put in dbase, do your thing, and return
scope to app. (requires detach/attach from scene graph).
 
It is amazing how many ways there are to do this wrong. My method for
investigating items of this nature is to write a small program that does
nothing but adding a square to the screen, and then going from there.
 
Buena suerte,
 

Christopher Dorosky
Lead Electronic Systems Engineer - Real Time Simulation
Lockheed Martin Missiles and Fire Control - Dallas
christopher.g.dorosky++at++lmco.com
972-603-2349

-----Original Message-----
From: Larry Ramey [mailto:ramey++at++vrco.com]
Sent: Monday, May 21, 2001 5:53 PM
To: info-performer++at++sgi.com
Subject: DBASE

The callback, setCurrentMatrix, seems to not be getting called.....

This Code is sitting in the DBASE Process. I thought that set/get was legal
on a pfNode in the DBASE. This node , animDCS, ALREADY exists in the
SceneGraph.
  

int* newMat = (int *) pfMalloc( sizeof(int), pfGetSharedArena() );
*newMat = info.transformID;

animDCS->setTravFuncs( PFTRAV_APP, 0, setCurrentMatrix );
animDCS->setTravData( PFTRAV_APP, newMat );

-- 

"At the sickbed of Cuchulainn, we'll kneel and say a prayer" -Pogues

Larry E. Ramey

Software Engineer

ramey++at++vrco.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Tue May 22 2001 - 06:23:02 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.