File (LineSegmentIntersector.cpp) which I recevie works perfectly. Thanks for
it. Will this changes be included in rc2?
31.07.08, 16:23, "Paul Melis" <[EMAIL PROTECTED]>:
> Hi,
> There is definitely something fishy going on. With the attached
> extremely simple testcase (only 2 triangles, without any transform) and
> the normal osgpick example I indeed get no intersections at locations
> where there definitely should be some.
> I think I've tracked this down to the fact that the triangles are
> aligned with the coordinate system axes, so the Y-planes defined by the
> bounding box are the same as the triangle planes. This results in
> intersection noise as, depending on numerical errors, the intersection
> found might be just outside the ray interval. Your museum scene's walls
> have the same problem, which is why you're getting those missing
> intersections.
> Attached is an updated src/osgUtil/LineSegmentIntersector.cpp, which
> solves this for now by allowing the found intersection point to be a
> tiny bit beyond the end point of the segment. It also replaces the
> triangle intersection code with something that I can actually understand
> as the currect version is completely untransparent to me (and a
> surprising large amount of code for something so basic). I don't
> consider this a replacement as of yet as there are some things not
> completely equivalent to the current code (the r1, r2, r3 output
> parameters are not set). But maybe you find it useful for now.
> Paul
> GMD GammerMaxyandex.ru wrote:
> > I decided my issue. I removed the code from the file. (as was the case
> > previously in 2.5.2). The problem disappeared! Make it please in the next
> > version.
> >
> > LineSegmentIntersector.cpp
> >
> > removed the code from the file: line 290 ..
> >
> > double epsilon = 1e-8;
> > if ((s-e).length()<epsilon)
> > {
> > osg::Vec3d delta_e_end = _end - e;
> > osg::Vec3d delta_s_start = _start - s;
> > double scale = 0.001;
> > s += (delta_s_start * scale);
> > e += (delta_e_end * scale);
> > }
> >
> >
> >
> > code version 2.5.2:
> > s = _start;
> > e = _end;
> >
> >
> > The problem disappeared! Make it please in the next version.
> >
> >
> >
> > 28.07.08, 22:44, "GMD GammerMaxyandex.ru" <[EMAIL PROTECTED]>:
> >
> > > Here is the small example, where described problem appeares. Example
> > is modified example of osgpick (chenged code which returns name of object
> > and osg scene). To see this problem you must go in the deep of room (way is
> > showen in 00.jpeg). Then you need make several clicks in different
> > positions (movements bitween positions must be small) and you will see that
> > cursor often falls throught the object over which cursor is (possible
> > positions is showen on 11.jpg). There is two archives in attachement (with
> > textures and without them). Code is in osgpick.zip file which taken from
> > example osgpick. I hope this is enough to illustrate described problem. And
> > I think it will be not good if this error appeares in this release (2.6.0).
> > > Thanks, Max.
> > > files:
> > > (download: enter number, click green button)
> > > http://narod.ru/disk/1711280000/osgpick.zip.html
> > > http://narod.ru/disk/1711073000/00.JPG.html
> > > http://narod.ru/disk/1711279000/11.JPG.html
> > > http://narod.ru/disk/1712663000/museum_with_textures.zip.html
> > > Thanks, Max.
> > > 28.07.08, 10:47, "GMD GammerMaxyandex.ru" <[EMAIL PROTECTED]>:
> > > > Ok, I'll make small example and show where problem occures. I'll
> > try do this today.
> > > > 28.07.08, 00:33, "sherman wilcox" <[EMAIL PROTECTED]>:
> > > > > Can you make a small and simple prototype that *reliably*
> > reproduces
> > > > > the problem? You have a better chance of getting help that way.
> > > > > On Sun, Jul 27, 2008 at 2:50 AM, GMD GammerMaxyandex.ru
> > > > > <[EMAIL PROTECTED]> wrote:
> > > > > > Some offers of OSG 2.6.0( problems with new version).
> > > > > > Let's wait with OSG 2.6.0 release. I asked this because I
> > found a problem with osgUtil::LineSegmentIntersector function.
> > > > > > In OSG v 2.5.5 version of OSG function
> > viewer->computeIntersections(x,y, hlist) works very strange - when cursor
> > movements over object is short it(cursor) falls throught the object and
> > function returns name of object which is behind current(object over which
> > cursor is). In earlyer(less 2.5.2) versions of OSG this error has never
> > appeared. How can I solve this problem in this(2.5.5) version of OSG?
> > > > > > It is necessary to solve the problem until OSG 2.6.0 release.
> > > > > > Thanks in advance. Best regards, Max.
> > > > > > _______________________________________________
> > > > > > 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
> >
> >
> >
--
Яндекс.Почта. Чище не бывает http://mail.yandex.ru/nospam
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org