Thanks for all your answers.
Hitting a little bit of a problem in my understanding of the source code. If I 
change TriangleIntersection to use Vec3d and not Vec3:


Code:

        TriangleIntersection(unsigned int index, const osg::Vec3d& normal, 
double r1, const osg::Vec3d* v1, double r2, const osg::Vec3d* v2, double r3, 
const osg::Vec3d* v3):
            _index(index),
            _normal(normal),
            _r1(r1),
            _v1(v1),        
            _r2(r2),
            _v2(v2),        
            _r3(r3),
            _v3(v3) {}




I get a compilation error in LineSegmentIntersector::intersect:


Code:

                osg::Vec3Array* vertices = 
dynamic_cast<osg::Vec3Array*>(geometry->getVertexArray());
                    osg::Vec3* first = &(vertices->front());
                    if (triHit._v1)
                    {
                        hit.indexList.push_back(triHit._v1-first);
                        hit.ratioList.push_back(triHit._r1);
                    }




triHit._v1 is a Vec3d*, first is a Vec3*, I'm lost here as to whether 
subtracting two pointers (of different type) makes sense here.

The trouble is the original vertices I get are from the vertex array of the 
geometry. There's no point turning these into Vec3d's is there?

Would somebody mind shedding some light on this, while I keep looking at the 
source and try to figure it out.

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





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to