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
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