Skip to content

Commit

Permalink
From Piotr Domagalski, "I've added reading of node names ('DEF' eleme…
Browse files Browse the repository at this point in the history
…nt) to the VRML reading plugin. The changes were based on trunk's version of the plugin."
  • Loading branch information
robertosfield committed Sep 6, 2012
1 parent 8f7d3dc commit 64dcfa2
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/osgPlugins/vrml/ReaderWriterVRML2.cpp
Expand Up @@ -255,6 +255,9 @@ osg::Node* ReaderWriterVRML2::convertFromVRML(openvrml::node *obj) const

osg::ref_ptr<osg::Group> osg_group = new osg::Group;

if (!obj->id().empty())
osg_group->setName(obj->id());

try
{
std::auto_ptr<openvrml::field_value> fv = obj->field("children");
Expand Down Expand Up @@ -290,6 +293,9 @@ osg::Node* ReaderWriterVRML2::convertFromVRML(openvrml::node *obj) const
openvrml::mat4f vrml_m = vrml_transform->transform();
osg::ref_ptr<osg::MatrixTransform> osg_m = new osg::MatrixTransform(osg::Matrix(vrml_m[0][0], vrml_m[0][1], vrml_m[0][2], vrml_m[0][3], vrml_m[1][0], vrml_m[1][1], vrml_m[1][2], vrml_m[1][3], vrml_m[2][0], vrml_m[2][1], vrml_m[2][2], vrml_m[2][3], vrml_m[3][0], vrml_m[3][1], vrml_m[3][2], vrml_m[3][3]));

if (!obj->id().empty())
osg_m->setName(obj->id());

try
{
std::auto_ptr<openvrml::field_value> fv = obj->field("children");
Expand Down Expand Up @@ -354,11 +360,16 @@ osg::Node* ReaderWriterVRML2::convertFromVRML(openvrml::node *obj) const
{
// other geometry types not handled yet
}

if (osg_geom.valid() && !node_ptr->id().empty())
osg_geom->setName(node_ptr->id());
}
}
}

osg::ref_ptr<osg::Geode> osg_geode = new osg::Geode();
if (!obj->id().empty())
osg_geode->setName(obj->id());
osg_geode->addDrawable(osg_geom.get());
osg::StateSet *osg_stateset = osg_geode->getOrCreateStateSet();

Expand Down

0 comments on commit 64dcfa2

Please sign in to comment.