SceneBuilder.h
Go to the documentation of this file.
00001 /* 
00002  * Copyright (c) 2013 University of Jaume-I.
00003  * All rights reserved. This program and the accompanying materials
00004  * are made available under the terms of the GNU Public License v3.0
00005  * which accompanies this distribution, and is available at
00006  * http://www.gnu.org/licenses/gpl.html
00007  * 
00008  * Contributors:
00009  *     Mario Prats
00010  *     Javier Perez
00011  */
00012 
00013 #ifndef SCENEBUILDER_H
00014 #define SCENEBUILDER_H
00015 
00016 #include <osgWidget/Util>
00017 #include <osgOcean/OceanScene>
00018 
00019 #include "osgOceanScene.h"
00020 #include "HUDCamera.h"
00021 #include "ROSInterface.h"
00022 #include "SimulatedIAUV.h"
00023 #include "ConfigXMLParser.h"
00024 
00025 class SceneBuilder
00026 {
00027 public:
00028   boost::shared_ptr<osg::ArgumentParser> arguments;
00029   osg::ref_ptr<osgOceanScene> scene;
00030   std::vector<boost::shared_ptr<SimulatedIAUV> > iauvFile;
00031   std::vector<osg::ref_ptr<osg::Node> > objects;
00032   std::vector<osg::ref_ptr<osg::Node> > trajectories;
00033 
00034   osg::ref_ptr<osg::Group> root;
00035 
00036   std::vector<boost::shared_ptr<HUDCamera> > realcams;
00037   std::vector<boost::shared_ptr<ROSInterface> > ROSInterfaces;
00038   std::vector<osg::ref_ptr<osgWidget::Window> > camWidgets;
00039 
00040 public:
00041   SceneBuilder();
00042   SceneBuilder(int *argc, char **argv);
00043   SceneBuilder(boost::shared_ptr<osg::ArgumentParser> args);
00044 
00045   bool loadScene(std::string xml_file);
00046   bool loadScene(ConfigFile config);
00047 
00048   osg::Group* getRoot()
00049   {
00050     return root.get();
00051   }
00052   osgOceanScene* getScene()
00053   {
00054     return scene.get();
00055   }
00056 
00057   ~SceneBuilder();
00058 };
00059 
00060 #endif
00061 


uwsim
Author(s): Mario Prats , Javier Perez
autogenerated on Fri Aug 28 2015 13:28:58