Changeset 127


Ignore:
Timestamp:
Sep 5, 2010, 8:56:56 PM (14 years ago)
Author:
Torben Dannhauer
Message:
 
Location:
osgVisual
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • osgVisual/include/core/visual_core.h

    r125 r127  
    108108        void parseConfigFile(osg::ArgumentParser& arguments_);
    109109        void checkXMLNode(xmlNode * a_node);
     110        void parseModule(xmlNode * a_node);
    110111        void parseScenery(xmlNode * a_node);
    111112        bool loadTerrain(osg::ArgumentParser& arguments_);
  • osgVisual/src/core/visual_core.cpp

    r125 r127  
    8282        loadTerrain(arguments);
    8383
     84        // create the windows and run the threads.
     85        viewer->realize();
     86
     87        // setup scenery
     88        setupScenery();
     89
     90        // parse Configuration file
     91        parseConfigFile(arguments);
     92
    8493        // All modules are initialized - now check arguments for any unused parameter.
    8594        checkCommandlineArgumentsForFinalErrors();
    86 
    87         // create the windows and run the threads.
    88         viewer->realize();
    89 
    90         // setup scenery
    91         setupScenery();
    9295
    9396        // Run visual main loop
     
    253256void visual_core::parseConfigFile(osg::ArgumentParser& arguments_)
    254257{
     258        configFileValid = false;
     259
    255260        std::string filename;
    256261        if( arguments.read("-c", filename) || arguments.read("--config", filename) )
    257262        {
     263                OSG_ALWAYS << "Using configuration file.." << std::endl;
    258264                if( osgDB::fileExists(filename) )
    259265                {
     
    274280
    275281                                // Parse the XML document.
    276 
     282                                checkXMLNode(root_element);
    277283
    278284                                // free the document
     
    291297void visual_core::checkXMLNode(xmlNode * a_node)
    292298{
    293 
     299  for (xmlNode *cur_node = a_node; cur_node; cur_node = cur_node->next)
     300        {
     301                std::string node_name=reinterpret_cast<const char*>(cur_node->name);
     302                if(cur_node->type == XML_ELEMENT_NODE && node_name == "osgvisualconfiguration")
     303                {
     304                        OSG_DEBUG << "XML node osgvisualconfiguration found" << std::endl;
     305                        configFileValid = true;
     306                        // Iterate to the next nodes to configure modules and scenery.
     307                        checkXMLNode(cur_node->children);               
     308                }
     309
     310        if (cur_node->type == XML_ELEMENT_NODE && node_name == "module")
     311                {
     312                        OSG_DEBUG << "XML node module found" << std::endl;
     313
     314                        parseModule(cur_node);
     315       
     316            //OSG_DEBUG << "node type=Element, name:" << cur_node->name << std::endl;
     317                        //OSG_DEBUG << "Processing children at " << cur_node->children << std::endl;
     318        }       // IF(module) END
     319
     320                if (cur_node->type == XML_ELEMENT_NODE && node_name == "scenery")
     321                {
     322                        OSG_DEBUG << "XML node scenery found" << std::endl;
     323
     324                        parseScenery(cur_node);
     325       
     326            //OSG_DEBUG << "node type=Element, name:" << cur_node->name << std::endl;
     327                        //OSG_DEBUG << "Processing children at " << cur_node->children << std::endl;
     328        }       // IF(scenery) END
     329    }   // FOR END
     330}
     331
     332void visual_core::parseModule(xmlNode * a_node)
     333{
     334OSG_ALWAYS << "parseModule()" << std::endl;
    294335}
    295336
    296337void visual_core::parseScenery(xmlNode * a_node)
    297338{
    298 
     339OSG_ALWAYS << "parseScenery()" << std::endl;
    299340}
    300341
Note: See TracChangeset for help on using the changeset viewer.