Переглянути джерело

check for area test if the face is a triangle.

Kim Kulling 7 роки тому
батько
коміт
ad2ff9fd71
1 змінених файлів з 9 додано та 7 видалено
  1. 9 7
      code/FindDegenerates.cpp

+ 9 - 7
code/FindDegenerates.cpp

@@ -172,14 +172,16 @@ void FindDegeneratesProcess::ExecuteOnMesh( aiMesh* mesh) {
                     }
                 }
             }
-            ai_real area = calculateAreaOfTriangle( face, mesh );
-            if ( area < 1e-6 ) {
-                if ( configRemoveDegenerates ) {
-                    remove_me[ a ] = true;
-                    goto evil_jump_outside;
-                }
+            if ( face.mNumIndices == 3 ) {
+                ai_real area = calculateAreaOfTriangle( face, mesh );
+                if ( area < 1e-6 ) {
+                    if ( configRemoveDegenerates ) {
+                        remove_me[ a ] = true;
+                        goto evil_jump_outside;
+                    }
 
-                // todo: check for index which is corrupt.
+                    // todo: check for index which is corrupt.
+                }
             }
         }