Преглед на файлове

Check node parents in ValidateDataStructure

Turo Lamminen преди 2 години
родител
ревизия
ea3cc37890
променени са 1 файла, в които са добавени 6 реда и са изтрити 1 реда
  1. 6 1
      code/PostProcessing/ValidateDataStructure.cpp

+ 6 - 1
code/PostProcessing/ValidateDataStructure.cpp

@@ -911,7 +911,12 @@ void ValidateDSProcess::Validate(const aiNode *pNode) {
                     nodeName, pNode->mNumChildren);
         }
         for (unsigned int i = 0; i < pNode->mNumChildren; ++i) {
-            Validate(pNode->mChildren[i]);
+            const aiNode *pChild = pNode->mChildren[i];
+            Validate(pChild);
+            if (pChild->mParent != pNode) {
+                const char *parentName = (pChild->mParent != nullptr) ? pChild->mParent->mName.C_Str() : "null";
+                ReportError("aiNode \"%s\" child %i \"%s\" parent is someone else: \"%s\"", pNode->mName.C_Str(), i, pChild->mName.C_Str(), parentName);
+            }
         }
     }
 }