First off, I hope everyone is staying sane and healthy during this pandemic.

 

I’m working with a collection of 3D models that have come from a variety of 
different source but are now all in osgb format. For several of the models 
I’d like to grab a “node” and apply rotation.

 

As I’m working through my understanding of the approach, I’ve created a 
simple application that loads the model, traverses the scene, returns a 
pointer to the “node”, casts to a DOFTransform and manipulate the “node” 
(DOFTransform). Snippet:

FindNamedNodeVisitor fnnv("turret");

scene->accept(fnnv);

osg::ref_ptr<osgSim::DOFTransform> dofTrans = new osgSim::DOFTransform();

dofTrans = 
dynamic_cast<osgSim::DOFTransform*>(fnnv.getFoundNode()->asTransform());

if(dofTrans != NULL)

                                //manipulate (rotate)   

 

This approach works for the tank.osg model. Now I’m trying to apply this 
approach to a different model (helicopter for example). When I access the 
“node” of interest, “Main_Hub” which is an osg::Group I obviously can’t 
cast that to a osgSim::DOFTransform. I’m trying to get an understand of how 
I can change the model, now in osgt (readable) format, to a structure that 
can be used. I’ve been using the tank.osg as a guide and attempted to 
recreate a similar structure in the helicopter.osgt. I’m trying to take 
logical stabs in the dark, in the helicopter model I’ve attempted to simply 
renamed the “node” of interest from an osg::Group to osgSim::DOFTransform. 
The model still displays correctly, but the cast to osgSim::DOFTransform 
returns NULL. I thought there may be some required variables at are needed 
as part of the osgSim::DOFTransform structure, so I began adding 
currentHPR, currentTranslate, and currentScale and continued to add more 
bringing it in line with the tank.osg example. Through all the attempts I 
still getting NULL when casting.

 

I’m looking for any guidance/suggestions/lessons learned on how to properly 
do this.


Thanks in advance

 

Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"OpenSceneGraph Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osg-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osg-users/cbb4b132-24a7-4e75-b10f-7474c1a99378%40googlegroups.com.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to