SMesserschmidt wrote:
> Hi Petr,
> 
> 
> 
> > Hi,
> > 
> > I have a very weird problem.
> > I downloaded some models from Sketchup warehouse, exported as OBJ format 
> > and then converted using osgconv to OSG format.
> > 
> Could you please provide an example?
> 
> > 
> > Now, when I use osgUtil::LineSegmentIntersector then on some models "there 
> > is" an intersection detected on others there is not. Why is that?
> > Is there a need of creating some bounding boxes or something like that? Or 
> > some osgconv bug? Model bug?
> > 
> How are you using the IntersectionVisitor? Providing an example model 
> plus the code you are using would give us the means helping you.
> 
> cheers
> Sebastian
> 
> > 
> > Thank you!
> > 
> > Cheers,
> > Petr
> > 
> > ------------------
> > Read this topic online here:
> > http://forum.openscenegraph.org/viewtopic.php?p=58730#58730
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > osg-users mailing list
> > 
> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > 
> 
> _______________________________________________
> osg-users mailing list
> 
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> 
>  ------------------
> Post generated by Mail2Forum


In my scene there are objects:

Code:
osg::Node* m_tv  = osgDB::readNodeFile( "external/models/television.osg" );
    m_tv->setName("television");
    if(!m_tv)
    {
        std::cout << "Error: Couldn't find model!" << std::endl;
    }

    osg::ref_ptr<MyObject> television = new TV(this);
    television->insertChild(0,m_tv);
    television->setName("television");

//MyObject is abstract and it's basically PositionAttitudeTransform




Then I'm looking for intersection with these objects/models

Code:

//some inits etc...

//basic idea is that some of these objects which I'm interested in have names 
as identifications getName("television") etc.. and I'm looking for them

    osgUtil::LineSegmentIntersector::Intersections& intersections = 
ins->getIntersections();

    if  ( !ins->containsIntersections() ) return std::string("");
    for ( it = intersections.begin() ; it != intersections.end(); ++it )
    {
            for ( path_it = it->nodePath.rbegin(); path_it != 
it->nodePath.rend(); ++path_it)
            {
                MyObject* temp = dynamic_cast<MyObject*>(*path_it);
                if ( temp == 0 ) continue;
                if ( (*path_it)->getName() != "" ) //if my objects "of 
interest" has a name
                {
                    cdloc = it->getWorldIntersectPoint(); 
                    return (*path_it)->getName(); //returning identification 
(name) od object
                }
            }
    }




All of objects in the scene are downloaded from SketchUp Warehouse to SketchUp 
application. Because of some "non compatible" format of models I export them 
from SketchUp application as OBJ files.

Then using osgconv to convert them to OSG files.

The interesting part is that when I use different object for television, so in 
code

Code:

osg::Node* m_tv  = osgDB::readNodeFile( "external/models/radio_model.osg" );
instead of
osg::Node* m_tv  = osgDB::readNodeFile( "external/models/television.osg" )




Then there is no Intersection collision detected or in other worlds


Code:

if ( (*path_it)->getName() != "" ) //if my objects "of interest" has a name
 {
         cdloc = it->getWorldIntersectPoint(); 
          return (*path_it)->getName(); //returning identification (name) od 
object
 }
else return "";



this piece of code wont ever return other string then "".

I tried like 5 models, all the same way -> downloaded from Sketchup, exported, 
converted, same code just different model.. Some of them worked (intersection 
collision returned their identification via getName() ) some of them not.
I hope I explained it clearly

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=58732#58732





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to