Hi,
I'm having some trouble implementing an intersection detection method. I have a
model of a building and I'd like to get the coordinates of the intersection
points between the model and a ray. I wrote the following code from osg samples
online.
osg::LineSegment *ls = new
osg::LineSegment(osg::Vec3d(-5,-5,-5),osg::Vec3d(5,5,5));
osgUtil::IntersectVisitor *iv = new osgUtil::IntersectVisitor();
iv->addLineSegment(ls);
iv->apply(*m_node);
std::cout << iv->getNumHits(ls) << " intersection points (hits)." <<
std::endl; //result = 6
osgUtil::IntersectVisitor::HitList& hitlist = iv->getHitList(ls);
std::cout << "size : " << hitlist.size() << std::endl;
//std::vector<osgUtil::Hit>::iterator itr = hitlist.begin();
hitlist[0].getWorldIntersectPoint(); //causes unhandled exception...
When I execute the code I have this error : unhandled exception at 0x100042aa
in OSGDefaultProject.exe : 0xC0000005: access violation when reading 0xfeeeff36.
The problem comes from the last line of the code
(getWorldIntersectionPoint()). What's weird is that the iv finds 6 points of
intersection, so the algorithm seems to work fine. But the size of my hitlist
is abnormally large : it says more than 4 billion !
Thank you!
Cheers,
Olivier
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=27798#27798
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org