Vector3 parseVector3 (TiXmlElement * XMLNode); Quaternion parseQuaternion (TiXmlElement * XMLNode); ColourValue parseColour (TiXmlElement * XMLNode);
SceneManager * mSceneMgr; SceneNode * mAttachNode; Sträng m_sGroupName; Sträng m_sPrependNode; };} Omdömen #endif //DOT_SCENELOADER_H Omdömen
DotSceneLoader.cpp Omdömen
#include "DotSceneLoader.h" #include "tinyxml.h" #include "Ogre.h" Omdömen using namespace std; using namespace Ogre,
annullera DotSceneLoader :: parseDotScene (const String & SceneName, const String & groupname, SceneManager * yourSceneMgr, SceneNode * pAttachNode, const String & sPrependNode) {//inrätta delade objektvärden m_sGroupName = groupname; mSceneMgr = yourSceneMgr; m_sPrependNode = sPrependNode; staticObjects.clear (); dynamicObjects.
clear ();
TiXmlDocument * XMLDoc = 0; TiXmlElement * XMLRoot,
try {//Strip vägen Ogre :: String basnamn, bana; Ogre :: StringUtil :: splitFilename (SceneName, basename, väg);
DataStreamPtr pStream = ResourceGroupManager :: getSingleton (). openResource (basename, groupname);
//DataStreamPtr pStream = ResourceGroupManager :: getSingleton (). //OpenResource (SceneName, groupname);
Strängdata = pStream-> getAsString (); //Öppna .scene File XMLDoc = new TiXmlDocument (); XMLDoc-> parse (data.c_str ()); pStream-> close (); pStream.setNull ();.
Omdömen if (XMLDoc-> Fel ()) {//Vi ska bara log, och fortsätta på graciöst LogManager :: getSingleton () logMessage ("[DotSceneLoader] The TiXmlDocument rapporterade ett fel" ); radera XMLDoc; återvända; }} Catch (...) {//Vi ska bara log, och fortsätta på graciöst LogManager :: getSingleton () logMessage ("[DotSceneLoader] Fel vid skapande TiXmlDocument"). radera XMLDoc; återvända; }
//Validera Arkiv XMLRoot = XMLDoc-> RootElement (); if (String (XMLRoot-> Value ()) = "scen"!) {LogManager :: getSingleton () logMessage. ("[DotSceneLoader] Fel:. Ogiltig .
scene fil saknas"); radera XMLDoc; återvända; }
//räkna ut var att bifoga noder vi skapar mAttachNode = pAttachNode; if (! mAttachNode) mAttachNode = mSceneMgr-> getRootSceneNode ();
//Process scenen processScene (XMLRoot),
//Stäng XML File bort XMLDoc;} Omdömen annullera DotSceneLoader :: processScene (TiXmlElement * XMLRoot) {//Process scenen parametrar String version = getAttrib (XMLRoot "formatVersion", "okänd");
String message = "[DotSceneLoader] Analysera dotScene fil med version" + version; if (XMLRoot-> Attribut ("ID")) meddelande + = "id" + String (XMLRoot-> Attribut ("ID")); if (XMLRoot-> Attribut ("sceneManager")) meddelande + = ", scen manager" + String (XMLRoot-> Attribut ("sceneManager")); if (XMLRoot-> Attribut ("minOgreVersion")) meddelande + = ", min Ogre version.
" + String (XMLRoot-> Attribut ("minOgreVersion")); if (XMLRoot-> Attribut ("författare")) meddelande + = "författare" + String (XMLRoot->
Skapa ett Flash plattformsspel med flixel och Flex - Powerup Blocks
- Tryckknapp Tutorial Series - Spårning & amp; amp; Jumping
- Rutiner och privilegier i Mysql
- Läs Programmering Basics
- iPhone Kärna Data självstudie Del 2
- 10 Enkel Unix och Linux Command Tips
- Kombinationsruta Notifications
- Sammansättning Association
- Översikt över Mysql Regular Expressions
- Oop och referenser i Php
- Datum och tid i C ++