niftools / pyffi

PyFFI is a Python library for processing block structured files.
http://www.niftools.org/pyffi
Other
47 stars 26 forks source link

Pyffi parse error NiTriShapeData #38

Closed neomonkeus closed 7 years ago

neomonkeus commented 7 years ago

@niftools/pyffi-reviewer

Issue Overview

Failure to parse NiTriShapeData in test_opt_dupgeomdata.nif

Version Information

Pyffi Version Info

2.2.3

Platform information

win32

Context

Execution of the

Steps to Reproduce

. Update test_doctest.py to include niftoaster.txt

. py.test -v /tests/test_doctests.py

Expected Result

Pyffi should be able to read the file without parsing error and pass the test

Actual Result

Pyffi is unable to read the file and throws an error

Possible Fix

[Optional, suggest fixes, improvement or reasons for the bug might have occurred]

Screenshot

N\A

Logs and Files

[Provide the generated log output and any accompanying files for the format related to the issue]

Console Output

''' File "\pyffi\tests\formats\nif\niftoaster.txt", line 233, in niftoaster.txt Failed example: niftoaster.NifToaster().cli() # doctest: +REPORT_UDIFF Differences (unified diff with -expected +actual): @@ -117,7 +117,21 @@ pyffi.toaster:INFO: comparing file sizes pyffi.toaster:INFO:=== tests/formats/nif/test_opt_dupgeomdata.nif === -pyffi.toaster:INFO: --- check_readwrite --- -pyffi.toaster:INFO: writing to temporary file -pyffi.toaster:INFO: comparing file sizes +pyffi.nif.data:ERROR:Reading <class 'pyffi.formats.nif.NiTriShapeData'> failed +Traceback (most recent call last):

Similar Known Issues

N\A

Additional Information

This could be a nif.xml issue

neomonkeus commented 7 years ago

Looks to be incorrect UV reading

* NiTriShapeData.num_uv_sets
0
* NiTriShapeData.has_uv
False
* NiTriShapeData.uv_sets
Array
* NiTriShapeData.num_triangles
3072
* NiTriShapeData.num_triangle_points

The num triangles for this nif should be 12, so it has already failed by that point.

Regression caused by -

Requires - https://github.com/niftools/nifxml/pull/59

Need to revert