PDA

View Full Version : Modifying transform node in C++ extension


rafael
09-06-2011, 11:48 AM
Hi,
I need to modify the position and orientation of a 3D model in an C++ extension. Tried to pass a model and a transform node (created by Transform = vizmat.Transform() ) to the extension.

Have tried something like this:
int HybridTrackingExt::modifyNode(viz::Data &data)
{

osg::Node* osg_root = data.getPointer<osg::Node>("osg_root");


if(osg_root != NULL)
{
std::cout << "Node found!" << std::endl;

osg::MatrixTransform* mt = static_cast<osg::MatrixTransform*>(osg_root);
if(mt)
{

_transform.makeTranslate( osg::Vec3(3.0f, 0.0f, 0.0f));
mt->setMatrix(_transform);

}

}
return 0;
}

Unfortunately, this didn't work. How could a transform a 3D model using an extension?

regards,
Rafael