// // OpenFlightŪ loader for OpenSceneGraph // // Copyright (C) 2005-2006 Brede Johansen // #include #include #include "Registry.h" #include "Document.h" #include "RecordInputStream.h" namespace flt { /** RoadSegment */ class RoadSegment : public PrimaryRecord { osg::ref_ptr _roadSegment; public: RoadSegment() {} META_Record(RoadSegment) META_setID(_roadSegment) META_setComment(_roadSegment) META_setMatrix(_roadSegment) META_setMultitexture(_roadSegment) META_addChild(_roadSegment) protected: virtual ~RoadSegment() {} virtual void readRecord(RecordInputStream& /*in*/, Document& /*document*/) { _roadSegment = new osg::Group; // Add to parent. if (_parent.valid()) _parent->addChild(*_roadSegment); } }; RegisterRecordProxy g_RoadSegment(ROAD_SEGMENT_OP); /** RoadConstruction */ class RoadConstruction : public PrimaryRecord { osg::ref_ptr _roadConstruction; public: RoadConstruction() {} META_Record(RoadConstruction) META_setID(_roadConstruction) META_setComment(_roadConstruction) META_setMatrix(_roadConstruction) META_setMultitexture(_roadConstruction) META_addChild(_roadConstruction) protected: virtual ~RoadConstruction() {} virtual void readRecord(RecordInputStream& /*in*/, Document& /*document*/) { _roadConstruction = new osg::Group; // Add to parent. if (_parent.valid()) _parent->addChild(*_roadConstruction); } }; RegisterRecordProxy g_RoadConstruction(ROAD_CONSTRUCTION_OP); /** RoadPath */ class RoadPath : public PrimaryRecord { osg::ref_ptr _roadPath; public: RoadPath() {} META_Record(RoadPath) META_setID(_roadPath) META_setComment(_roadPath) META_setMatrix(_roadPath) META_setMultitexture(_roadPath) META_addChild(_roadPath) protected: virtual ~RoadPath() {} virtual void readRecord(RecordInputStream& /*in*/, Document& /*document*/) { _roadPath = new osg::Group; // Add to parent. if (_parent.valid()) _parent->addChild(*_roadPath); } }; RegisterRecordProxy g_RoadPath(ROAD_PATH_OP); } // end namespace