Thanks! Jean-Sebastien I write originally code as you descripe.But
case(osgGA::GUIEventAdapter::PUSH):
{
// ... do what you want here
I modify my scene node example , node->removechild(1);
node->addchild(new node);
return false;
}
// Mouse button release
case(osgGA::GUIEventAdapter::RELEASE):
{
// ... do what you want here
node->removechild(1);
node->addchild(new node);
return false;
}
But this code sometimes success,sometimes fail! I means code run sequence:
1: PickHandler's pick() code;
2: draw scene code;
or they run parallel?
Thanks again.
Jean-Sébastien Guay <[EMAIL PROTECTED]> 写道:
Hello YangXiao,
> 2. I have another question, when viewer.frame() which thread
> listening windows message(example mouse clicked,keyboard down ,up etc)
> ,and when
> i update my scene node in updatecallback,How threads guarantee sequence?
To avoid threading problems I suggest you use an EventHandler to do this.
For example:
class MyEventHandler : public osgGA::GUIEventHandler
{
public:
MyEventHandler() {}
~MyEventHandler() {}
bool handle(const osgGA::GUIEventAdapter& ea,
osgGA::GUIActionAdapter& aa)
{
switch(ea.getEventType())
{
// Mouse button press
case(osgGA::GUIEventAdapter::PUSH):
{
// ... do what you want here
return false;
}
// Mouse button release
case(osgGA::GUIEventAdapter::RELEASE):
{
// ... do what you want here
return false;
}
default:
return false;
}
}
};
Then add this handler to the viewer:
viewer.addEventHandler(new MyEventHandler);
See the osgpick example for an example of a mouse event handler, and the
osgkeyboard example for a keyboard event handler - of course you can
combine both if you want (the same handle() method can be used for mouse
and keyboard events). See the docs for the return values of
ea.getEventType().
I suggest you read the OSG Quick Start Guide (free from
http://www.osgbooks.com/) and then go around the reference docs
(http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/)
and the many included examples in the OSG source tree to get a feel for
things. These are pretty basic questions that you could answer yourself
by reading a bit (not that we don't want to answer them, but you'll wait
longer for an answer).
J-S
--
______________________________________________________
Jean-Sebastien Guay [EMAIL PROTECTED]
http://www.cm-labs.com/
http://whitestar02.webhop.org/
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
---------------------------------
雅虎邮箱,您的终生邮箱!
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org