Commit Graph

10317 Commits (90c115cb3f139d945df25d41b3bce1d92e8a8bcb)

Author SHA1 Message Date
Jason C de5c8ece6f [xgl] Fail if file could not be parsed.
Fail instead of returning empty scene.

Partially addresses #3888.

TODO: Propagate XML error detail through exception (depends on #3881).
2021-05-05 17:49:10 -04:00
Jason C 98f586c8d4 [irr] Fail if file could not be parsed.
Fail instead of returning empty scene.

Partially addresses #3888.

TODO: Propagate XML error detail through exception (depends on #3881).
2021-05-05 17:48:44 -04:00
Jason C 470913bf27 [assbin] Fail if file could not be opened
Fail instead of returning empty scene.

Partially addresses #3888.
2021-05-05 17:46:24 -04:00
Jason C 0d3e8b52be [sib] Fix assertion failure when file could not be opened.
Check result of IOSystem::Open before constructing stream.

Partially addresses #3888.
2021-05-05 17:32:10 -04:00
Jason C a80b3b25eb [quick3d] Fix assertion failure when file could not be opened.
Check result of IOSystem::Open before constructing stream.

Partially addresses #3888.
2021-05-05 17:31:50 -04:00
Jason C e52c297284 [nendo] Fix assertion failure when file could not be opened.
Check result of IOSystem::Open before constructing stream.

Partially addresses #3888.
2021-05-05 17:31:24 -04:00
Jason C 1cd3752ec6 [ms3d] Fix assertion failure when file could not be opened.
Check result of IOSystem::Open before constructing stream.

Partially addresses #3888.
2021-05-05 17:31:06 -04:00
Jason C 7f13387487 [cob] Fix assertion failure when file could not be opened.
Check result of IOSystem::Open before constructing stream.

Partially addresses #3888.
2021-05-05 17:30:29 -04:00
Jason C 116ebf6e10 [3ds] Fix assertion failure when file could not be opened
Check result of IOSystem::Open before constructing stream.

Partially addresses #3888.
2021-05-05 17:30:05 -04:00
Jason C 785cca1bb4 [amf] Fix crash when file could not be parsed.
Fix double free of mXmlParser (deleted but not reset in ParseFile, then deleted again in ~AMFImporter).

Should probably use a smart pointer instead, though.

Partially addresses https://github.com/assimp/assimp/issues/3888.
2021-05-05 17:13:10 -04:00
Jason C f5a31b70f5
Merge branch 'master' into patch-3 2021-05-05 16:24:46 -04:00
Kim Kulling 992f10e7bf
Merge branch 'master' into remove-useless-scaling-prototype 2021-05-05 21:54:31 +02:00
Jason C 7ae8a52d9f
Merge branch 'master' into jc3-spam-killa 2021-05-05 10:33:29 -04:00
Kim Kulling 1e89c06157
Merge pull request #3882 from assimp/optimize_3mf_strings
Optimize 3mf strings
2021-05-05 15:56:14 +02:00
Kim Kulling 5325b327c3
Merge branch 'master' into optimize_3mf_strings 2021-05-05 15:12:06 +02:00
Kim Kulling 3f5c3eb38c
Delete dna.txt 2021-05-05 15:11:36 +02:00
Kim Kulling 067993d607
Delete dae.dae 2021-05-05 15:11:20 +02:00
Kim Kulling 0aadd8a3f9
Delete spiderExport.stl 2021-05-05 15:10:59 +02:00
Kim Kulling d1991ad949
Delete AssimpLog_Cpp.txt 2021-05-05 15:10:50 +02:00
Kim Kulling e683c6eef9
Delete testExport.stl 2021-05-05 15:10:30 +02:00
Kim Kulling 9395322e56
Delete AssimpLog_C.txt 2021-05-05 15:10:22 +02:00
Max Vollmer (Microsoft Havok) 153b890b02 Prevent accessing nullpointers 2021-05-05 14:09:43 +01:00
kkulling 2a6b84c8ea - closes https://github.com/assimp/assimp/issues/3830
- Fix rgba2hex
- Add tests
2021-05-05 14:43:51 +02:00
kkulling f15dcfa981 - Fix model parsing 2021-05-05 13:10:52 +02:00
kkulling cbce6d3dad Merge branch 'optimize_3mf_strings' of https://github.com/assimp/assimp into optimize_3mf_strings 2021-05-05 10:46:54 +02:00
Jason C 6e65115253 [assimp/xml] Improved XML parse error message.
Fixed typo, added detail.
2021-05-05 00:33:57 -04:00
Jason C ccd1a4455e [ply] Fix minor typo in error message. 2021-05-04 21:57:00 -04:00
Jason C a03dc4edaa [amf] Fix minor typo in error message.
Added missing space to detail string on parse failure.
2021-05-04 21:56:49 -04:00
Jason C f8609c2c2d [opengex] Direct OpenDDLParser log messages to assimp logger
Also filter unprintable characters. Addresses second part of #3862.
2021-05-04 21:54:14 -04:00
Jason C 558457e5bf [openddlparser] Remove default log handler and unsolicited output.
This addresses part of #3862.

- Remove default log handler.
- Log callback can now be set to nullptr, which just makes logging a no-op.
- Initial log callback is nullptr.
- Also tweaked format of token error log message and removed newline.

Assimp code that uses this may regain logging output by installing a callback and directing the output through appropriate logging facilities.
2021-05-04 21:54:14 -04:00
Jason C 9a04f5d4b0 Fix garbage messages in SIB, MD2, and MDC loaders. 2021-05-04 21:53:16 -04:00
Jason C a9fb1e56ae Add ai_str_toprintable; fixed garbage messages in HMP, MDL, Q3D loaders.
- ai_str_toprintable: See docs in StringUtils.h.
- HMP, MDL, Q3D: In particular, newlines in binary data were complicating logging.
2021-05-04 20:33:16 -04:00
Jason C c8ad8c6017 [mmd] Remove stderr spam.
Removed stderr spam and cleaned up exception text.

Addresses #3865.
2021-05-04 20:33:16 -04:00
Jason C 200086c4c5 [assimp_view] Make sure ctype calls use unsigned char.
Addresses https://github.com/assimp/assimp/issues/3867 and then some.
2021-05-04 17:31:46 -04:00
Jason C 7dd7a053a9 [gtest] Fixed a rogue std::isalnum
Use IsAlNum instead (gtest-port.h), which deals with char signedness correctly. This was the only spot in gtest where a cctype function was called instead of its gtest-port.h equivalent.

Addresses https://github.com/assimp/assimp/issues/3867 and then some.
2021-05-04 17:31:46 -04:00
Jason C 1ec8d4b6cf [draco] Make sure ctype calls use unsigned char.
Addresses https://github.com/assimp/assimp/issues/3867 and then some.
2021-05-04 17:31:46 -04:00
Jason C 2925592c64 [assimp] Make sure ctype calls use unsigned char.
Cast to unsigned char as required by C++ (see C++ **[cctype.cyn]** -> ISO C99 section 7.4, [see also](https://en.cppreference.com/w/cpp/string/byte/isspace)).

Addresses https://github.com/assimp/assimp/issues/3867 and then some.
2021-05-04 17:31:13 -04:00
Kim Kulling 072aee7cbe
Merge branch 'master' into add-step-extension 2021-05-04 22:35:21 +02:00
Kim Kulling 38df0f4376
Merge pull request #3834 from JC3/patch-4
ASSIMP_ENABLE_DEV_IMPORTERS env var, applied to X3D importer
2021-05-04 22:33:48 +02:00
Krishty b57ce004f8 reduced FBX string bloat
The FBX importer used two std::strings where string literals would have been sufficient.
2021-05-04 22:01:01 +02:00
Krishty f3c18556d1 reduced OpenGEX string bloat
The OpenGEX importer defined a few global std::string constants, only to convert them back to C strings on use. This commit defines them as C strings from the beginning.

strncmp() was used to compare these strings to other strings, but the length limit was set to string length, which made it equivalent to strcmp(), just slower. Fixed that as well.
2021-05-04 22:01:01 +02:00
Krishty 7b6dab5e20 reduced DXF string bloat
The DXF importer defined a global std::string constant, only to convert it back to a C string on use.

This commit defines the constant as a C string right away, thus saving 340 B of code and data.
2021-05-04 22:01:00 +02:00
Krishty 2a126f9f62 reduced Ogre string bloat
The Ogre importer used std::string where a string literal would have been sufficient. Saves another 600 B of code and data.
2021-05-04 22:01:00 +02:00
Kim Kulling dc6fa58814
Merge branch 'master' into patch-4 2021-05-04 21:08:56 +02:00
Kim Kulling be85eac703
Merge pull request #3877 from olsoneric/olsoneric-issue_2339_py_cant_load_obj
Use POINTER(char) for binary data. For pyassimp issue #2339: Can't load OBJ
2021-05-04 21:08:35 +02:00
Kim Kulling 875acc5166
Merge branch 'master' into patch-4 2021-05-04 20:59:06 +02:00
Eric Olson f17d58cadd Use POINTER(c_char) for binary data with pyassimp
"For a general character pointer that may also point to binary data,
POINTER(c_char) must be used." c_char_p is for a zero-terminated string.

Reference: https://docs.python.org/3/library/ctypes.html#ctypes.c_char_p

Applying this change to the 4.1.4 released python module fixes #2339 for
me in Ubuntu.
2021-05-04 13:38:38 -05:00
Krishty 8ad9c937f1 enabled debug information in MSVC release build
No effect on runtime speed/size. Slightly slower link time, but debugging experience improves by a million times.

- /Zi – Store debug information in a .pdb file, not directly in the DLL/EXE
- /DEBUG:FULL – generate debug information during link
- /PDBALTPATH:%_PDB% – do not store the file system path of the .pdb, just the filename and hash (no disclose paths on distribution)
- /OPT:REF /OPT:ICF – remove unreferenced functions and fold identical functions (this was enabled before, but requires explicit enabling if /DEBUG:FULL is specified)
2021-05-04 19:10:24 +02:00
Kim Kulling cd0fd30821
Merge pull request #3819 from vfxgordon/fbxBlendshapes
Fixed weighting issue with blendShapeChannels
2021-05-04 17:44:32 +02:00
Kim Kulling e85a69a960
Update D3MFImporter.cpp 2021-05-04 15:31:07 +02:00