فهرست منبع

Use correct lookup.

Kim Kulling 7 سال پیش
والد
کامیت
7cd1a66c8b
1فایلهای تغییر یافته به همراه7 افزوده شده و 6 حذف شده
  1. 7 6
      code/D3MFImporter.cpp

+ 7 - 6
code/D3MFImporter.cpp

@@ -205,10 +205,11 @@ private:
              const std::string nodeName( xmlReader->getNodeName() );
              const std::string nodeName( xmlReader->getNodeName() );
              if(xmlReader->getNodeName() == D3MF::XmlTag::triangle) {
              if(xmlReader->getNodeName() == D3MF::XmlTag::triangle) {
                  faces.push_back(ReadTriangle());
                  faces.push_back(ReadTriangle());
-             } else if ( nodeName == D3MF::XmlTag::pid ) {
-                 const std::string matId( xmlReader->getAttributeValue( nodeName.c_str() ) );
-                 int matIdx( std::atoi( matId.c_str() ) );
-                 mesh->mMaterialIndex = matIdx;
+                 const char *pidToken( xmlReader->getAttributeValue( D3MF::XmlTag::pid.c_str() ) );
+                 if ( nullptr != pidToken ) {
+                     int matIdx( std::atoi( pidToken ) );
+                     mesh->mMaterialIndex = matIdx;
+                 }
              }
              }
          }
          }
 
 
@@ -234,6 +235,7 @@ private:
     void ReadBaseMaterials() {
     void ReadBaseMaterials() {
         while ( ReadToEndElement( D3MF::XmlTag::basematerials ) ) {
         while ( ReadToEndElement( D3MF::XmlTag::basematerials ) ) {
             mMaterials.push_back( readMaterialDef() );
             mMaterials.push_back( readMaterialDef() );
+            xmlReader->read();
         }
         }
     }
     }
 
 
@@ -324,8 +326,7 @@ private:
         return false;
         return false;
     }
     }
 
 
-    bool ReadToEndElement(const std::string& closeTag)
-    {
+    bool ReadToEndElement(const std::string& closeTag) {
         while(xmlReader->read())
         while(xmlReader->read())
         {
         {
             if (xmlReader->getNodeType() == irr::io::EXN_ELEMENT) {
             if (xmlReader->getNodeType() == irr::io::EXN_ELEMENT) {