:) .... ok ok ... I got your point. For me the user data was not part of the scene graph. Visitors are not traversing it. But from now on I will consider them as a part of the scenegraph :)
Thanks again Nick http://www.linkedin.com/in/tnick On Thu, Feb 4, 2010 at 6:50 PM, Robert Osfield <[email protected]>wrote: > Hi Nick, > > On Thu, Feb 4, 2010 at 4:33 PM, Trajce Nikolov <[email protected]> > wrote: > > hi Robert, > > just for the sake of clarification .... I dont have circular scenegraph. > > Errr.... what you describe below is a circular scene graph, UserData > is still part of the scene graph, it's reference counted and still > needs to be treated like part of the scene graph. Same applies to any > data structure in your application. > > > But > > what I do have, I put in userdata nodes from the scene graph. In > > Node::setThreadSaferefUnref() you are setting that for the userdata as > well. > > And from here I get into circle, because the user data contains nodes, > that > > further in the scene can point to the node that is setting the > > ThreadSafeRefUnref (complex scene, mirrors etc, so istenad of creating > > custom nodes I use UserData). > > You need to remove the circular reference, the setTheadSafeRefUnref() > is also something you should be able to remove. With thread safe > ref/unref is something you should decide on construction of your > objects, and is typically done by passing a flag into the > Referenced(bool) constructor. Please note that scene graph objects > *should* almost always leave the thread safe ref/unref one, it's only > in very specific single threaded data structures that you can consider > the possibility of switching off thread safe ref/unref. > > Robert. > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

