<div dir="ltr"><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">First off, I hope everyone is staying sane and healthy during this pandemic.</span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;"> </span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">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.</span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;"> </span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">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:</span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; text-indent: 0.5in; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font: inherit; vertical-align: baseline; color: inherit;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">FindNamedNodeVisitor fnnv("turret");</span></span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; text-indent: 0.5in; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">scene->accept(fnnv);</span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; text-indent: 0.5in; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font: inherit; vertical-align: baseline; color: inherit;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">osg::ref_ptr<osgSim::DOFTransform> dofTrans = new osgSim::DOFTransform();</span></span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; text-indent: 0.5in; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font: inherit; vertical-align: baseline; color: inherit;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">dofTrans = dynamic_cast<osgSim::DOFTransform*>(fnnv.getFoundNode()->asTransform());</span></span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; text-indent: 0.5in; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font: inherit; vertical-align: baseline; color: inherit;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">if(dofTrans != NULL)</span></span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font: inherit; vertical-align: baseline; color: inherit;"><span style="-webkit-font-smoothing: antialiased; padding: 0in; border-width: 1pt; border-style: none; border-color: windowtext; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;"> </span></span><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">//manipulate (rotate)<span style="-webkit-font-smoothing: antialiased; padding: 0in; border-width: 1pt; border-style: none; border-color: windowtext; font: inherit; vertical-align: baseline; color: inherit;"><span style="-webkit-font-smoothing: antialiased; font: inherit; vertical-align: baseline; color: inherit;"> </span></span></span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;"> </span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">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.</span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;"> </span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">I’m looking for any guidance/suggestions/lessons learned on how to properly do this.</span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><br style="-webkit-font-smoothing: antialiased;"></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font: inherit; vertical-align: baseline; color: inherit;"><span style="-webkit-font-smoothing: antialiased; padding: 0in; border-width: 1pt; border-style: none; border-color: windowtext; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">Thanks</span></span><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;"> in advance</span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;"> </span></p><p style="-webkit-font-smoothing: antialiased; color: rgb(0, 0, 0); font-size: 12pt; font-family: "Times New Roman", serif; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="-webkit-font-smoothing: antialiased; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 11pt; line-height: inherit; font-family: Calibri, sans-serif; vertical-align: baseline;">Jeremy</span></p></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups "OpenSceneGraph Users" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:osg-users+unsubscribe@googlegroups.com">osg-users+unsubscribe@googlegroups.com</a>.<br />
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/osg-users/cbb4b132-24a7-4e75-b10f-7474c1a99378%40googlegroups.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/osg-users/cbb4b132-24a7-4e75-b10f-7474c1a99378%40googlegroups.com</a>.<br />