Hi all,

I'm loading 3ds scenes as subnodes into my scene. The 3ds coordinates
are in a different scale than my scene.
Usually I would solve this by a transform. But because of internal
reasons I need the vertices being
in MY coordinate measure.
So I wrote a scaling visitor, that multiplies al vertices of geometries
by a given factor.
That works perfectly fine when loading the 3ds scene:
/       
osg::ref_ptr<osg::Node//>////node////=////osgDB//::readRefNodeFile(//path//);
//
////       
ScaleVisitor////sv(//initialObjectScale////*////correctiveObjectScale//); //
//        //node->//accept//(sv); //
//        //addChild//(node); //
/
Unfortunately when rescaling the object after being added as a child
this doesn't work any more:
/        osg::ref_ptr<osg::Node> node////=////getChild(0);////
//        ScaleVisitor////sv(scaleChange);//
        //node->accept(sv);/

The 3ds scene doesn't change size on my screen.
The visitor calls:
        vertices->dirty();
        geom.dirtyBound();

But nothing happens. What am I missing? Deleting the 3ds scene and
recreating it from scratch works OK but is very inefficient.

Thanks for any hint.

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

Reply via email to