HI Juan, At present the OSG's 3ds plugin doesn't support conversion of the 3ds tracks to an OSG object. If you want support for this you'll need to dive into the code and and handling of the 3ds tracks.
Our plugin is based on lib3ds which does the actually reading of the file, and then in our code we convert the lib3ds data structures across to OSG ones, but his only happens for state, nodes and geometry right now, so you'd need to add some kind of mapping for tracks to an OSG equivalent. I'm not 3ds expect so I don't know what the best mapping would be, but at a guess I'd suggest looking at an osg::AnimationPath attached to an osg::AnimationPathCallback, which in turn is attached to a transform node. Perhaps others in the community will be able to chip in with what they've done for tracks. Robert. On Thu, Sep 16, 2010 at 10:02 AM, Juan Valverde <[email protected]> wrote: > Hi, > > I'm working in a engineering project which is essentially a design tool. A > main GUI gives the user the ability to choose let's say the geometry of some > machine. It's always the same object but it can have different geometry > characteristics (larger, shorter, wider, etc). Once we have the geometry from > the GUI our code has an engine to simulate the dynamics of the problem given > some forces acting on the machine etc. After the code has calculated the > physics we want > to dump the results on a osg based VR. > So we have a 3D file, from some 3D tool, let's say 3Ds. This specific 3D > model must be prepared for a given set of geometric characteristics of the > machine, I mean, you have to draw your model so you need sizes, etc. As I > mentined before, > If I change the size of some part in the GUI, I want my OSG model to change > too, otherwise, when I dump the results on the VR (now physics model and 3D > model have different characteristics) the animation is not correct. I hope > you can understand what I mean. > So here is the question. What is the best way to resize a model I load using > osg::Node* track = osgDB::readNodeFile("track.ive"); where track was > initially track.3ds and I convert it to ive using OSGExp > or I can even do this: osg::Node* track = osgDB::readNodeFile("track.3ds"); > using the new ability of OSG to load directly 3ds files? Let's put it in > other words. How can I access parts of the node track (in my example) to > change their sizes? or at least if that's not possible to resize or rescale > the whole file? > > > Thank you so much! > > Cheers, > Juan > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=31669#31669 > > > > > > _______________________________________________ > 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

