<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>Hi Lee,<br><br></div>There a couple of different ways to manage things.<br><br></div>1) manage a list of picked nodes separate from the scene graph<br></div>2) Use osg::Object::setUserValue() functionality i.e.<br><br></div>           node->setUserValue("picked",true);<br></div>           bool picked;<br></div>           if (node->getUserValue("picked",picked) && picked) { // node is picked; }<br><br></div>3) Insert /remove osgFX::Scribe node above each of the picked subgraphs,<br></div>    and use the presence of the Scribe node to determine if a subgraph is picked<br><br></div>4) Implement a CullCallback that implements the mutlipass technique that osgFX::Scribe<br></div>    implements, assigning this to the top node of the subgraph being picked.<br><br></div>    You can then search in the scene graph and if it's has this custom ScribeCullCallback<br></div>    you know it's picked.  The advantage with approach is that you aren' inserting/removing<br></div>    nodes from the scene graph, just assigned or removing a cull callback.<br><br></div>    Potentially you could put a flag in the cull callback to toggle it on/off rather than have it<br></div>    assigned and removed from node.<br><br></div>Robert.<br><div><div><div><div><div><div><div><br><br><div><div><div><div><br><br><div><br></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 28 March 2016 at 18:46, Lee Butler <span dir="ltr"><<a href="mailto:iraytrace@gmail.com" target="_blank">iraytrace@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    How do you manage the scene graph for picked objects?  That is, how
    do you structure the graph to track selected vs. not selected
    objects?  Do you (for example) insert an osgFX::Scribe node between
    each selected node and its parent?  Do you create a single
    osgFX::Scribe node and move nodes into it?  What is the best way to
    keep track of where they should return to once they are unselected? 
    Is there a better way I am not thinking of?<span class="HOEnZb"><font color="#888888"><br>
    <br>
    <span style="color:#800080"><font color="#000000">Lee<br>
      </font></span>
  </font></span></div>

<br>_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
<br></blockquote></div><br></div>