Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 17, 2007, 4:27:41 PM (16 years ago)
Author:
rgrieder
Message:
  • fixed the problem about the ship being static.
  • added SceneNode hierarchy support in parser
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/FICN/src/orxonox/objects/SceneNode.cc

    r560 r580  
    3737                String2Number<float>(z, pos[2]);
    3838
     39        float sx = 1, sy = 1, sz = 1;
     40        if (xmlElem->Attribute("scale"))
     41        {
     42                  pos = tokenize(xmlElem->Attribute("scale"),",");
     43                  String2Number<float>(sx, pos[0]);
     44                  String2Number<float>(sy, pos[1]);
     45                  String2Number<float>(sz, pos[2]);
     46        }
    3947
    40                 mgr->getRootSceneNode()->createChildSceneNode(name, Vector3(x,y,z));
     48        float yaw = 0.0;
     49        if (xmlElem->Attribute("yaw"))
     50        {
     51          String2Number<float>(yaw,xmlElem->Attribute("yaw"));
     52        }
     53        float pitch = 0.0;
     54        if (xmlElem->Attribute("pitch"))
     55        {
     56          String2Number<float>(pitch,xmlElem->Attribute("pitch"));
     57        }
     58        float roll = 0.0;
     59        if (xmlElem->Attribute("roll"))
     60        {
     61          String2Number<float>(roll,xmlElem->Attribute("roll"));
     62        }
     63
     64        Ogre::SceneNode *parentNode;
     65        if (xmlElem->Attribute("node"))
     66          parentNode = mgr->getSceneNode(xmlElem->Attribute("node"));
     67        else
     68          parentNode = mgr->getRootSceneNode();
     69
     70        Ogre::SceneNode* node = parentNode->createChildSceneNode(name, Vector3(x,y,z));
     71        node->scale(sx,sy,sz);
     72        node->yaw(Ogre::Degree(yaw));
     73        node->pitch(Ogre::Degree(pitch));
     74        node->roll(Ogre::Degree(roll));
    4175
    4276                COUT(4) << "Loader: Created node "<< name <<" : "<<x<<" " << y << " " << z  << std::endl << std::endl;
Note: See TracChangeset for help on using the changeset viewer.