diff --git a/src/osgPlugins/flt/flt2osg.cpp b/src/osgPlugins/flt/flt2osg.cpp index 32c9de95d..186ed25fa 100644 --- a/src/osgPlugins/flt/flt2osg.cpp +++ b/src/osgPlugins/flt/flt2osg.cpp @@ -254,6 +254,10 @@ osg::Group* ConvertFromFLT::visitPrimaryNode(osg::Group& osgParent, PrimNodeReco case EXTERNAL_REFERENCE_OP: osgPrim = visitExternal(osgParent, (ExternalRecord*)child); break; + case ROAD_CONSTRUCTION_OP: + // treat road construction record as a group record for now + osgPrim = visitRoadConstruction(osgParent, (GroupRecord*)child); + break; } } } @@ -564,6 +568,16 @@ osg::Group* ConvertFromFLT::visitGroup(osg::Group& osgParent, GroupRecord* rec) return group; } +osg::Group* ConvertFromFLT::visitRoadConstruction(osg::Group& osgParent, GroupRecord* rec) +{ + osg::Group* group = new osg::Group; + + group->setName(rec->getData()->szIdent); + //cout<<"Converted a road construction node of ID "<getName()<<" to group node."<addChild( group ); + visitPrimaryNode(*group, rec); + return group; +} osg::Group* ConvertFromFLT::visitLOD(osg::Group& osgParent, LodRecord* rec) { diff --git a/src/osgPlugins/flt/flt2osg.h b/src/osgPlugins/flt/flt2osg.h index bf21f6f47..d6a104a1a 100644 --- a/src/osgPlugins/flt/flt2osg.h +++ b/src/osgPlugins/flt/flt2osg.h @@ -129,6 +129,7 @@ class ConvertFromFLT // Primary records osg::Group* visitHeader(HeaderRecord* rec); osg::Group* visitGroup(osg::Group& osgParent, GroupRecord* rec); + osg::Group* visitRoadConstruction(osg::Group& osgParent, GroupRecord* rec); osg::Group* visitLOD(osg::Group& osgParent, LodRecord* rec); osg::Group* visitOldLOD(osg::Group& osgParent, OldLodRecord* rec); osg::Group* visitDOF(osg::Group& osgParent, DofRecord* rec);