Commit Graph

3843 Commits (a43ac5b3fddf576de6d1425f0c2f339b98bf0bcd)

Author SHA1 Message Date
Tommy 0dad1d0c04 FBX Export: fix Texture_Alpha_soutce typo. 2018-03-29 01:47:31 +02:00
Tommy 826243f289 Implement ascii FBX export.
It's available under the 'fbxa' format id.
2018-03-29 01:44:32 +02:00
Tommy aadb413fc0 Explicit handling of an FBXExportNode edge-case. 2018-03-28 16:09:07 +02:00
Tommy 00277d93f2 Tidier FBXExportNode construction with properties. 2018-03-28 15:47:27 +02:00
Tommy e972b73fc2 FBX Export: tidy includes 2018-03-27 13:29:03 +02:00
Tommy ee0cdb3954 FBX Export: Tidy animation export code. 2018-03-27 13:12:15 +02:00
Tommy 57bd125839 FBX Export: implement basic animation export. 2018-03-27 11:45:03 +02:00
Tommy 2dff6e2d5b FBXExportProperty: implement float and long array properties. 2018-03-26 18:27:15 +02:00
Kim Kulling d810446bb2
Merge branch 'master' into patch-1 2018-03-23 19:43:58 +01:00
Kim Kulling 666e224359
Merge branch 'master' into issue_1527 2018-03-22 23:57:30 +01:00
Kim Kulling be4c780115
Update FBXMeshGeometry.cpp
Fix build.
2018-03-22 23:08:25 +01:00
Kim Kulling 13ae0a0ac3 FBX: fix parse error for uv-coordinates. 2018-03-22 22:14:10 +01:00
JeffH-BMG 376586b164
Merge branch 'master' into patch-1 2018-03-22 13:09:32 -04:00
Cloud Wu cad11df039 Fix mingw compilation 2018-03-22 16:54:12 +08:00
Kim Kulling e01e77a6c7
Merge branch 'master' into develop_kimkulling 2018-03-21 21:20:28 +01:00
Kim Kulling af3bba1572 fix review findings. 2018-03-20 23:38:08 +01:00
Kim Kulling 4ae7298489
Update DefaultIOSystem.cpp
fix typo
2018-03-20 21:59:45 +01:00
Kim Kulling 1a887a64c1
Update EmbedTexturesProcess.cpp
Fix typo.
2018-03-20 21:56:26 +01:00
Kim Kulling b01594f6a8
Update EmbedTexturesProcess.cpp
Replace c-cast by static_cast.
2018-03-20 21:52:42 +01:00
Kim Kulling 339e33303e
Update DefaultIOSystem.cpp
Use static_cast instead of int.
2018-03-20 20:39:15 +01:00
Kim Kulling d0edb94208
Update D3MFImporter.cpp
Use static cast instead of c-cast.
2018-03-20 20:38:03 +01:00
Kim Kulling f898f40486
Merge branch 'master' into master 2018-03-20 20:33:17 +01:00
Kim Kulling 5814e6f9f0 Optimize some std::string usages. 2018-03-20 18:43:54 +01:00
Kim Kulling 2d7ece4ce7
Merge branch 'master' into 3mf_basematerial_support 2018-03-20 16:14:25 +01:00
Kim Kulling e36f78482c https://github.com/assimp/assimp/issues/1796: return correct value on detach logger. 2018-03-20 14:53:57 +01:00
Kim Kulling e668b97453
Merge branch 'master' into 3mf_basematerial_support 2018-03-20 14:12:00 +01:00
Kim Kulling 317f3e2a59 3MF: Export metadata. 2018-03-20 14:10:08 +01:00
Kim Kulling b66bee8d79 Export: Copy metadata to be able to export it properly. 2018-03-20 14:09:07 +01:00
Kim Kulling ef12eb84bb 3MF: add metadata import. 2018-03-20 10:09:47 +01:00
Marco Di Benedetto 9d813a48b0 fixed emply buffer stream write, removed some cast warnings. 2018-03-19 18:22:27 +01:00
JeffH-BMG 4841ee05c5
Merge branch 'master' into patch-1 2018-03-19 10:29:43 -04:00
Kim Kulling f7854e4b32
Merge branch 'master' into master 2018-03-18 20:56:25 +01:00
Kim Kulling 6843b7a00c
Merge branch 'master' into patch-3 2018-03-18 17:44:21 +01:00
Sergey Gonchar 2d980c16f0 Support Maya 2018 Collada Export with blendshapes and bones controllers for a mesh 2018-03-15 21:41:40 -07:00
Kim Kulling 5cf6509fb5 closes https://github.com/assimp/assimp/issues/1120: use euler angles for pre- and post-rotation. 2018-03-14 20:42:42 +01:00
Kim Kulling 4c023c3818 fix unittest folder for roundtriptest. 2018-03-13 21:40:23 +01:00
JeffH-BMG 546ad1c1bd
Merge branch 'master' into patch-3 2018-03-13 15:19:14 -04:00
JeffH-BMG 9e1638e813
Merge branch 'master' into patch-1 2018-03-13 15:18:50 -04:00
Kim Kulling 6b9add5594 fix compiler warning fr 64 bit 2018-03-13 18:19:10 +01:00
Kim Kulling f11d4902c6 fix CanRead-method for the 3MF-Importer. 2018-03-13 17:50:34 +01:00
Kim Kulling c5c0052a6c Merge branch '3mf_basematerial_support' of https://github.com/assimp/assimp into 3mf_basematerial_support 2018-03-12 22:28:53 +01:00
Kim Kulling c7ac32f891 fix naming readout + export. 2018-03-12 22:28:00 +01:00
Kim Kulling a3ad45f3b3
Merge branch 'master' into 3mf_basematerial_support 2018-03-11 20:16:40 +01:00
Kim Kulling c8ae0bbb3d 3MF: fix model folder desc. 2018-03-11 20:15:49 +01:00
Kim Kulling 017b7d1a2f 3MF: add missig tags for meta data. 2018-03-11 20:15:25 +01:00
Kim Kulling 336a09ee0e add material reference to faces. 2018-03-09 23:35:12 +01:00
JeffH-BMG 72280463c2
Merge branch 'master' into patch-3 2018-03-09 14:40:30 -05:00
JeffH-BMG f7469df871
Merge branch 'master' into patch-2 2018-03-09 14:40:16 -05:00
JeffH-BMG c539dfe7a2
Merge branch 'master' into patch-1 2018-03-09 14:38:54 -05:00
Kim Kulling 6668eeb68e Fix possible nullptr dereferencing. 2018-03-09 19:03:05 +01:00
Kim Kulling 2ca2e7e355
Merge branch 'master' into fbx_export_footer_tweak 2018-03-09 18:11:56 +01:00
Kim Kulling 69742670dd 3mf: use correct material assignment in case of multi-materials. 2018-03-09 11:40:45 +01:00
Kim Kulling 56f9069eb5
Merge branch 'master' into blender_fbx_opacity_fix 2018-03-09 08:30:23 +01:00
Kim Kulling 7f04b4dd43
Merge branch 'master' into fix/issue623 2018-03-09 00:04:28 +01:00
JeffH-BMG cfd56a43a5
Fix compile error
Fixed bad cast.
2018-03-07 18:24:38 -05:00
JeffH-BMG 89a4cf9495
Respond to comments
Use memcpy() to read normals and vertices, to mitigate alignment issues, per comments.
2018-03-07 17:26:01 -05:00
Kim Kulling af8839a8b5
Merge branch 'master' into fbx_export_footer_tweak 2018-03-07 19:44:38 +01:00
Tommy 9f02c8a97c Fix default opacity of materials exported to FBX by Blender. 2018-03-07 09:15:08 +01:00
JeffH-BMG 6fd64b95c3
Fix compile error
Add parens to use of 'sizeof' operator
2018-03-06 15:03:44 -05:00
JeffH-BMG 5ea06e1bb6
Add support for texture file in PLY exports
The PLY format has an unofficial way to specify an associated texture, using the "comment TextureFile"  comment line. The PLY loader supports this, but the exporter does not. The change looks for a diffuse texture in the scene's materials, and if it finds one, it adds it to the exported mesh using "comment TextureFile".
2018-03-06 14:50:02 -05:00
JeffH-BMG 0dab5c508e
STL binary Export should write 4-byte floats for vertex and normal coordinates
The STL binary format uses 4-byte floats. When using double-precision builds of Asset Importer, the STL exporter was writing out 8-byte double values instead..
2018-03-06 13:55:32 -05:00
JeffH-BMG 05cf8bfb2e
Fix import of binary STL files in double-precision builds
When ASSIMP_DOUBLE_PRECISION is used, the STL loader attempts to read 8-byte double vertex and normal values from the STL file. STL files are written using 4-byte floats, however, and the import will read past the end of the buffer, and possibly crash.
2018-03-06 13:48:11 -05:00
Daniel Kirchner f4c37fa245 Collada: add importer property that forces the use of collada names. Closes #1375. 2018-03-06 00:30:33 +01:00
Kim Kulling 5312ec806e
Merge branch 'master' into bugfix/c4d_obj_export_mtllib_after_g 2018-03-05 18:19:36 +01:00
Kim Kulling 22182a907e
Merge branch 'master' into master 2018-03-05 13:20:07 +01:00
Alexandre Avenel 15fa86f100 Set primitive_type to point when PLY is a point cloud 2018-03-04 22:43:20 +01:00
Alexandre Avenel f053695176 Fix issue #623 PLY importer should not create faces
When the PLY file contains no faces, we should not create them.
2018-03-04 22:43:20 +01:00
Alexandre Avenel d2547e84f5 Fix for undefined behavior when loading binary PLY
This commit fix undefined behavior reported by UBSAN when loading a binary
PLY file.
2018-03-04 22:04:31 +01:00
Tommy 701f9ccfe9 FBX Export: minor tweak to footer.
Should now be identical to those output by the FBX SDK.
2018-03-03 19:53:49 +01:00
Kim Kulling 8e7b7a0d87
Merge branch 'master' into master 2018-03-02 15:04:28 +01:00
Tommy a58f8e1c1a FBX Export: add missing 0 value to file footer. 2018-02-28 23:38:49 +01:00
Josh Faust f07d27eb07
Merge branch 'master' into bugfix/c4d_obj_export_mtllib_after_g 2018-02-27 18:47:11 -08:00
Josh Faust 190190c1d7 Fix material index off-by-one error in some OBJ files (seen in a C4D export) 2018-02-27 14:58:04 -08:00
Kim Kulling ef371bddd6
Merge branch 'master' into master 2018-02-27 18:34:34 +01:00
Kim Kulling c0f04bf965 IMporter: fix lookup for tokens during inmemory imports. 2018-02-27 18:30:36 +01:00
Kim Kulling e99dfdb050 fix cppcheck findings. 2018-02-25 21:03:09 +01:00
Tommy 9d9acf6840 FBX Export: allow export even when not in bind pose,
iff all bones have an offset matrix defined.
2018-02-25 11:45:38 +01:00
Tommy 249f1844ae FBX Export: reconstruct full skeleton for any FBX deformers. 2018-02-25 09:53:09 +01:00
Marco Di Benedetto 72e9f3ecb9 fixed embedded texture reading. 2018-02-24 18:47:43 +01:00
Marco Di Benedetto 138b990d0a added missing install of pbrmaterial.h 2018-02-24 17:57:42 +01:00
Marco Di Benedetto 4b7cd97fea added support for embedded textures defined with buffer views. 2018-02-24 17:44:40 +01:00
Marco Di Benedetto b0ac2d9daf Merge https://github.com/assimp/assimp 2018-02-24 17:06:12 +01:00
Tommy a9d70b2dbc FBX Import: properly delete inverse geotrans nodes when not using them. 2018-02-24 09:37:36 +01:00
Tommy c18a07e47f FBX Import: Properly clean up post_nodes_chain in case of exception. 2018-02-24 08:43:36 +01:00
Tommy b91976eead FBX Export: handle newly-added geometric transform inverse nodes.
This also tidies up the imported node structure a little,
by not adding the inverse nodes if there are no child nodes.
2018-02-24 08:42:05 +01:00
Kim Kulling 5e4b2b898f
Merge branch 'master' into fbx_export_squashed 2018-02-23 23:33:43 +01:00
Kim Kulling 375dd4c179
Update D3MFImporter.cpp
Fix order of init list.
2018-02-23 20:34:34 +01:00
Kim Kulling 437ae0c839
Merge branch 'master' into 3mf_basematerial_support 2018-02-23 18:29:54 +01:00
Kim Kulling 606a28dbe8
Merge branch 'master' into develop_kimkulling 2018-02-23 17:54:58 +01:00
Kim Kulling 1d901f075c 3mf-importer: fix parsing of base-material color. 2018-02-23 17:49:29 +01:00
Tommy f847d4817d FBX Export: fix logic for determining if scale transformation is identity.
Previously it was comparing scale.SquareLength() to 1.0.
2018-02-21 15:29:59 +01:00
Tommy c1f353f6c7 FBX Export: Geometric transformations always create transformation chain.
In combination with fb213e4b, this fixes #1112.
2018-02-21 14:15:03 +01:00
Kim Kulling 50b6c63594
Merge branch 'master' into develop_kimkulling 2018-02-21 13:31:32 +01:00
Kim Kulling 22dbb6c2d2
Update FileSystemFilter.h
- Fix typo.
-test in public metod against invalid parameters
2018-02-21 13:10:51 +01:00
Tommy fb213e4bac FBX Importer: apply inverse of geometric transform to child nodes. 2018-02-21 12:45:09 +01:00
Kim Kulling 7cd1a66c8b Use correct lookup. 2018-02-20 22:08:40 +01:00
Kim Kulling a92dbabc25
Update FileSystemFilter.h
Fix missing save.
2018-02-20 16:36:55 +01:00
Kim Kulling 7c33d932e3
Merge branch 'master' into master 2018-02-20 10:40:04 +01:00
Kim Kulling d49c5b6ecf
Merge branch 'master' into fix-paint3d-vertexcolor 2018-02-20 09:23:53 +01:00
Kim Kulling a84604f566
Merge branch 'master' into develop_kimkulling 2018-02-20 09:04:11 +01:00
Kim Kulling f0ccff70a4
Update FileSystemFilter.h
Fix review findings
2018-02-20 09:03:18 +01:00
Kim Kulling 5f4539db28
Merge branch 'master' into issue_1773 2018-02-19 22:55:11 +01:00
Kim Kulling b9a34dbc50
Merge branch 'master' into globalscale-registry 2018-02-19 20:19:17 +01:00
Kim Kulling f78f273916
Merge branch 'master' into issue_1773 2018-02-19 15:54:46 +01:00
Tommy 1de9b3232a Silence a clang warning. 2018-02-19 15:04:46 +01:00
Tommy 95f66f84ef Remove constexpr for MSVC. 2018-02-19 14:33:40 +01:00
Tommy 242b5d5874 Initial FBX Export Support, sponsored by MyDidimo (mydidimo.com).
Supports:
 * mesh data with normals and uvs
 * lambert and phong materials
 * file textures
 * bones / skeletons
 * skinning

Does not yet support:
 * animations
 * cameras
 * lights
 * embedded textures
2018-02-19 13:53:55 +01:00
Kim Kulling 219702597f
Merge branch 'master' into develop_kimkulling 2018-02-19 11:47:41 +01:00
Kim Kulling 8950504cf0 Fix import of materials. 2018-02-18 21:30:23 +01:00
Giuseppe Barbieri 58436068e7
Update BlenderScene.cpp 2018-02-16 22:16:10 +01:00
Kim Kulling 1b53c26943
Merge branch 'master' into globalscale-registry 2018-02-15 18:04:38 +01:00
Martin Buchner a7587cb526
Merge branch 'master' into issue_1773 2018-02-15 15:31:41 +01:00
Kim Kulling ccbcaa2ee8 fix some static-analysis findings. 2018-02-13 20:36:22 +01:00
Kim Kulling cdfe33e3f2
Merge branch 'master' into pbrmaterial_h 2018-02-13 19:17:18 +01:00
Kim Kulling 4fb0e85d9d
Merge branch 'master' into issue_1773 2018-02-13 14:45:14 +01:00
Sergio Acereda 9a7611a93e AI_MATKEY_GLTF_... -> assimp/pbrmaterial.h 2018-02-12 22:33:51 +01:00
Kim Kulling 331e67c32d 3mf: introduce first prototype for basematerial support. 2018-02-12 22:07:12 +01:00
Sergio Acereda 8a4fd2f947 globalScale process not registered 2018-02-12 21:51:40 +01:00
Kim Kulling 78173177e8 closes https://github.com/assimp/assimp/issues/1564: remove copy constructor. 2018-02-12 21:45:47 +01:00
mbuchner 1299905026 Make FileSystemFilter forward all virtual functions to wrapped IOSystem instance
This makes it possible to override those functions. Previously the
default implementation was always used.

Fixes #1773
2018-02-12 12:13:44 +01:00
Giuseppe Barbieri f00d450d25
Update BlenderDNA.inl 2018-02-11 17:43:49 +01:00
Marco Di Benedetto c874fd8ae2 changed std::to_string to to_string. 2018-02-09 16:18:49 +01:00
Marco Di Benedetto affedc139e Merge https://github.com/assimp/assimp 2018-02-09 15:54:34 +01:00
Turo Lamminen ebdad4f883 Ogre: Avoid creating function-scoped static constants
They're causing false positive race condition messages from Helgrind
2018-02-09 15:40:28 +02:00
Kim Kulling 4e4098f1fc
Merge branch 'master' into issue_567 2018-02-08 20:29:47 +01:00
Kim Kulling 674a47dd3e closes https://github.com/assimp/assimp/issues/567: prevend dependency cycle 2018-02-08 20:24:18 +01:00
Kim Kulling c7ea536351 closes https://github.com/assimp/assimp/issues/1386: fix undefined behaviour in compare function. 2018-02-07 20:21:05 +01:00
Max Vollmer 990dc983ed Issue #1776 Fixed potential crash bug in ObjectCompare, because it didn't follow strict weak ordering. As counter-intuitive as it seems, a comparator must return false for equal values. The C++ standard defines and expects this behavior: true if lhs < rhs, false otherwise. 2018-02-07 10:48:39 +01:00
Kim Kulling 277fa2da93
Merge branch 'master' into memleaks 2018-02-07 00:38:23 +01:00
Kim Kulling 57c1fe5954 x-parser: fix the crash. 2018-02-06 23:59:46 +01:00
Giuseppe Barbieri 4736160b79
Update BlenderDNA.h 2018-02-06 22:36:37 +01:00
Kim Kulling 495ae70cc5 XFileParser: release x-file-based scene when throwing an exception. 2018-02-06 19:21:56 +01:00
Turo Lamminen 17b26c91e2 OpenGEX: Use std::unique_ptr to fix some memory leaks 2018-02-06 20:20:16 +02:00
Turo Lamminen 5ce9ece0cc OpenGEX: Replace std::copy with explicit loop 2018-02-06 20:08:49 +02:00
Turo Lamminen aa434b9566 OpenGEX: Add comment about pointer ownership 2018-02-06 20:05:02 +02:00
Turo Lamminen ef891fb850 LWO: Move some assignments to make it clearer when the thing should be moved 2018-02-06 19:58:05 +02:00
Turo Lamminen 3b68ffe363 LWO: Use C++11 auto for easier refactoring 2018-02-06 19:50:42 +02:00
Turo Lamminen 9344074a04 MDLLoader: Replace raw pointer with vector to fix a memory leak 2018-02-06 19:22:32 +02:00
Turo Lamminen 1aed63afb7 OpenGEX: Replace another raw pointer with vector to fix a memory leak 2018-02-06 19:13:54 +02:00
Turo Lamminen 880be5403f OpenGEX: Replace raw pointer with vector to fix a memory leak 2018-02-06 19:03:47 +02:00
Turo Lamminen c42dd9104c BlenderLoader: Fix memory leak 2018-02-06 18:52:23 +02:00
Turo Lamminen d284d107e7 XGLLoader: Fix a memory leak 2018-02-06 18:43:51 +02:00
Kim Kulling dceb7257dd
Update XFileParser.cpp
Fix the build.
2018-02-05 13:53:06 +01:00
Kim Kulling eb23946fe7
Update XFileParser.cpp
Fix alignment for float and double.
2018-02-05 13:44:19 +01:00
Kim Kulling ff556027ef X: fix some review findings. 2018-02-05 00:33:41 +01:00
Kim Kulling 3685791e0d closes https://github.com/assimp/assimp/issues/1729: check for bit flip when unsigned int overflow happens in x-file parsing. 2018-02-04 22:15:18 +01:00
Kim Kulling 1a9f17e13d
Merge branch 'master' into issue_774 2018-02-04 18:33:22 +01:00
Kim Kulling c5157bc471 fbx: global settings use float instead of double. 2018-02-04 17:13:58 +01:00
Kim Kulling 37d352622b closes https://github.com/assimp/assimp/issues/774: use correct type for unitscale in fbx. 2018-02-04 16:42:36 +01:00
Turo Lamminen 5278e1a5f8 CSM: Fix a possible memory leak by using std::unique_ptr 2018-02-03 17:52:25 +02:00
Turo Lamminen cfcaf3e97b BVH: Initialize all members of Node in constructor 2018-02-03 17:38:30 +02:00
Turo Lamminen da19ed0b2a BaseImporter: Remove dead condition
operator new never returns NULL, it throws exception on allocation failure
2018-02-03 17:25:31 +02:00
Turo Lamminen be865ae613 LimitBoneWeightsProcess: Initialize all members of Weight in constructor 2018-02-03 17:19:27 +02:00
Turo Lamminen 9397932e4f PretransformVertices: Rearrange some assignments to clarify things 2018-02-03 17:08:25 +02:00
Kim Kulling d47f34344e closes https://github.com/assimp/assimp/issues/1752: move guard over include statement. 2018-02-03 08:46:03 +01:00
Kim Kulling 58d1ef6492
Merge branch 'master' into unzipExt 2018-02-01 19:21:09 +01:00
Kim Kulling a1963feab7
Merge branch 'master' into warning4221 2018-01-31 20:27:45 +01:00
Kim Kulling 2714e146e0
Update OgreXmlSerializer.cpp
- Make constats static
- add asserts to check against nullptr dereferencing
2018-01-31 09:57:34 +01:00
Sergio Acereda 8f99c1a0be including <unzip.h> instead of <contrib/unzip/unzip.h> 2018-01-30 22:13:44 +01:00
Kim Kulling 46e9d1321d
Merge branch 'master' into warning4221 2018-01-30 21:41:44 +01:00
Turo Lamminen 388ec8461c Ogre: Change OgreXmlSerializer::ReadAttribute parameter from std::string to pointer 2018-01-30 20:12:46 +02:00
Turo Lamminen cfc9a69512 Ogre: Don't create std::strings in global scope where char pointer will do 2018-01-30 20:03:28 +02:00
Turo Lamminen 0c66b3902e Ogre: Avoid creating static std::strings
They're causing false positive race condition messages from Helgrind
2018-01-30 19:47:15 +02:00
Turo Lamminen 12396d0ce3 Ogre: Change OgreXmlSerializer::HasAttribute parameter from std::string to pointer
It's immediately passed via string pointer and in most places
it's already a raw string constant.
2018-01-30 19:42:58 +02:00
Sergio Acereda be33feba44 Warning LNK4221 when not building exporter. 2018-01-29 12:39:40 +01:00
Kim Kulling bd29fe73fa Merge branch 'master' into new_license_dates 2018-01-28 20:16:17 +01:00
Kim Kulling b049933d2f update license dates. 2018-01-28 19:42:05 +01:00
Turo Lamminen e0cbd92da4 ASE: Delete BaseNode constructor which doesn't take name 2018-01-27 18:48:57 +02:00
Turo Lamminen 4b20e9712c ASE: Explicitly pass "DUMMY" as Dummy node name 2018-01-27 18:48:57 +02:00
Turo Lamminen 2d1bd1eec4 ASE: Delete Camera default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 7fef5e6d23 ASE: Explicitly pass "UNNAMED" as default camera name 2018-01-27 18:48:57 +02:00
Turo Lamminen 945f2bed09 ASE: Add Camera constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen 039ca38542 ASE: Delete Light default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 4fd791796c ASE: Explicitly pass "UNNAMED" as default Light name 2018-01-27 18:48:57 +02:00
Turo Lamminen f3d702339c ASE: Add Light constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen 17f801ae8a ASE: Delete Mesh default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 59ab30cb25 ASE: Explicitly pass "UNNAMED" as default mesh name 2018-01-27 18:48:57 +02:00
Turo Lamminen f3474fb399 ASE: Add Mesh constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen 3874720947 ASE: Add BaseNode constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen 1836b00f51 ASE: Delete Bone default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen e75f7a5964 ASE: Explicitly pass "UNNAMED" as default bone name 2018-01-27 18:48:57 +02:00
Turo Lamminen 3f377e11f5 3DS: Delete Node default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 0d69b15238 3DS: Explicitly pass "UNNAMED" as 3DS root node name 2018-01-27 18:48:57 +02:00
Turo Lamminen 6c23b57208 3DS: Pass name to Node constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 56a19ac492 3DS: Add Node constructor which takes name 2018-01-27 18:48:57 +02:00
Turo Lamminen c0c06093b4 3DS: Whitespace 2018-01-27 18:48:57 +02:00
Turo Lamminen 8c219c7bd1 3DS: Delete Mesh default constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen 93fa373206 3DS: Pass name to Mesh constructor 2018-01-27 18:48:57 +02:00
Turo Lamminen b580064414 3DS: Add Mesh constructor with takes name 2018-01-27 18:48:57 +02:00
Kim Kulling 25c5384208
Merge branch 'master' into master 2018-01-25 09:11:14 +01:00
Kim Kulling 2e7e16b52b
Merge branch 'master' into issue_1728 2018-01-24 23:58:55 +01:00
Kim Kulling 1037ac5b93
Merge branch 'master' into issue_1721 2018-01-24 21:57:53 +01:00
Kim Kulling 5baba37414 closes https://github.com/assimp/assimp/issues/1728: check if mesh is a null instance before dereferencing it. 2018-01-24 21:43:36 +01:00
Giuseppe Barbieri 47a2775b94
Update FBXConverter.cpp
Renamed nested looping variable
2018-01-24 21:30:25 +01:00
Kim Kulling 0b15d5cd46 closes https://github.com/assimp/assimp/issues/1721: set camera parameters instead of nonsense. 2018-01-24 21:20:34 +01:00
Rohan Singh b28bcc365c Interpret IndexAToDirect as Direct when the index element is missing
Paint3D exports FBX like this, which is wrong, but could still support it
2018-01-24 09:45:20 -05:00
Turo Lamminen a8fd9f668f ASE: Explicitly write out Material move constructor and assignment operator
Because MSVC doesn't support defaulting them
2018-01-24 12:25:30 +02:00
Turo Lamminen cbd7916ced 3DS: Explicitly write out Material move constructor and assignment operator
Because MSVC doesn't support defaulting them
2018-01-24 12:11:19 +02:00
Turo Lamminen e6ff15d201 3DS: Initialize Material name in initializer list 2018-01-23 20:41:26 +02:00
Turo Lamminen 4acd96d405 3DS: Remove Material default constructor 2018-01-23 20:36:51 +02:00
Turo Lamminen dd7035372d 3DS: Pass default material name to constructor instead of changing after the fact 2018-01-23 20:36:05 +02:00
Turo Lamminen 10246bf052 3DS: Pass default material name to Material constructor 2018-01-23 20:29:46 +02:00
Turo Lamminen f2ec3eeeb8 ASE: Delete Material default constructor 2018-01-23 20:20:37 +02:00
Turo Lamminen 209966ef35 ASE: Pass default material name to constructor 2018-01-23 20:15:21 +02:00
Turo Lamminen 1b28124f21 ASE: Pass a default material name when resizing submaterials buffer 2018-01-23 19:54:16 +02:00
Turo Lamminen 4b1b5f1b59 ASE: Pass a default material name when resizing materials buffer 2018-01-23 19:50:20 +02:00
Turo Lamminen 60d78f1701 ASE: Add Material constructor which takes material name 2018-01-23 19:43:15 +02:00
Turo Lamminen d49996d8a6 3DS: Add Material constructor which takes material name 2018-01-23 19:38:38 +02:00
Turo Lamminen 024aade208 ASE: Add explicit default constructors and assignment operators to Material 2018-01-23 19:33:50 +02:00
Turo Lamminen 9e7b21f83d 3DS: Add explicit default constructors and assignment operators to Material 2018-01-23 19:24:22 +02:00
Turo Lamminen 4d946d9e31 ASE: Reformat another initializer list 2018-01-23 19:10:00 +02:00
Turo Lamminen 6c4e3bce53 3DS: Reformat initializer list 2018-01-23 18:58:23 +02:00
Turo Lamminen 70ae30f26a ASE: Reformat initializer list 2018-01-23 18:58:19 +02:00
kim kulling 88a0bb1b6d FBX: store UnitScaleFactor for fbx-files. 2018-01-23 15:13:23 +01:00
kim kulling 8ac1de3287 closes https://github.com/assimp/assimp/issues/1390: aiScene now stores metadata as well. 2018-01-23 15:12:57 +01:00
Kim Kulling f0d03ec6b8 closes https://github.com/assimp/assimp/issues/1722: use a const reference to fix issue with ppc. 2018-01-22 14:35:06 +01:00
Marco Di Benedetto 5f38bd01ec restored gltf checks. 2018-01-18 22:28:44 +01:00
Marco Di Benedetto c749594e9d gltf instant ok on valid extension. 2018-01-18 19:12:51 +01:00
Marco Di Benedetto 55ca48e838 Merge branch 'master' of https://github.com/assimp/assimp 2018-01-18 19:08:54 +01:00
Kim Kulling 8b9b770f9f
Merge branch 'master' into gltf2-fixes 2018-01-16 21:50:48 +01:00
Kim Kulling 81fbe2c7d3
Merge branch 'master' into issue_1660 2018-01-16 17:13:02 +01:00
Kim Kulling d230635ff6 STLLoader: closes https://github.com/assimp/assimp/issues/1660: use memcpy instead of a c-style dynamic cast to parse a aiVector3D 2018-01-16 16:31:15 +01:00
Alexis Breust 5e6cae3094 Force normalized normals 2018-01-16 09:56:44 +01:00
Alexis Breust 0f4189c77e Forced 4-bits alignment for glTF buffers 2018-01-16 09:26:18 +01:00
BuildTools 0c37ef55be IFCLoader.h fix 2018-01-15 19:23:13 -08:00
BuildTools f88572f572 fix includes 2018-01-15 19:14:44 -08:00
Christian Meurin 86fa0f4524
Merge branch 'master' into master 2018-01-15 19:10:14 -08:00
BuildTools d0c92e30be conflict resolution again, temp. move LogAux.h 2018-01-15 19:07:33 -08:00
BuildTools 68db518696 Fix IFC branch merge conflict 2018-01-15 19:00:56 -08:00
Kim Kulling c07069821d
Merge branch 'master' into better_fbx_material_import 2018-01-14 22:04:20 +01:00
Kim Kulling 03b43ee9c3
Merge branch 'master' into ifc_40 2018-01-13 14:40:50 +01:00
Kim Kulling 5e339d0ff0 fix case-sensitive typo in include. 2018-01-13 10:54:38 +01:00
Kim Kulling cecab969c6 IFC: introduce new namespace fpr IFC-schema2x3 2018-01-13 10:27:45 +01:00
BuildTools 4410de1c44 correct header path for new process 2018-01-11 13:21:40 -08:00
Christian Meurin 925be5e983
Merge branch 'master' into master 2018-01-11 13:13:46 -08:00
awefers 193165fb43
Merge branch 'master' into issue_1684 2018-01-11 10:16:20 -08:00
Axel Wefers 0e99f1f587 Build fix for 1684
Requires cast from size_t to uint64 like in other places, otherwise the call to the constructor for GenericValue() is ambiguous.

Fixes #1684
2018-01-11 10:15:05 -08:00
Tommy fb4a67d4fe Improve FBX material import.
Some properties were being incorrectly interpreted,
and by default it was relying on a legacy system.
2018-01-11 17:30:21 +01:00
Kim Kulling 88df886bcc
Merge branch 'master' into issue_1605 2018-01-11 11:39:14 +01:00
Christian Meurin 538bc95499
Merge branch 'master' into master 2018-01-10 20:10:54 -08:00
Axel Wefers 3e127bebff glTF 2.0: Import scale for normal textures and strength for occlusion textures
resolves #1693
2018-01-10 16:45:17 -08:00
Kim Kulling 936eb26dde
Merge branch 'master' into issue_1605 2018-01-11 00:54:35 +01:00
awefers bb71f2ba64
Merge branch 'master' into issue_1605 2018-01-10 12:04:41 -08:00
Kim Kulling 45d5f2eec8
Merge branch 'master' into issue_1691 2018-01-10 20:50:37 +01:00
Marco Di Benedetto 978c156c2a added import of material properties (double sided and transparency) in glTF 1.0 importer. 2018-01-10 20:02:41 +01:00
Axel Wefers 901b981260 glTF: Always check signature
Always check signature for glTF 1.0 and glTF 2.0 files to select the correct importer. Fixes #1605
2018-01-09 09:37:57 -08:00
Axel Wefers dc79b572cf glTF 2.0: Assign default material to meshes with no material reference.
fixes  #1691
2018-01-08 14:57:55 -08:00
Axel Wefers 4235765856 glTF 2.0: Set camera "look at" to (0.0, 0.0, -1.0). 2018-01-08 14:19:30 -08:00
Kim Kulling 0fff3b1232
Merge branch 'master' into master 2018-01-08 15:36:03 +01:00
Alexis Breust 559bc38e5d Embedding images post-process 2018-01-08 09:26:52 +01:00
Christian Meurin 5ef13e7b38
Merge branch 'master' into master 2018-01-07 11:34:18 -08:00
Kim Kulling dd7a323103
Merge branch 'master' into issue_1574 2018-01-07 11:30:03 +01:00
Christian Meurin 7b5c543b82
Merge branch 'master' into master 2018-01-06 14:48:23 -08:00
Kim Kulling abc01bcdf0 closes https://github.com/assimp/assimp/issues/1574: add API to get name of current branch. 2018-01-06 21:52:58 +01:00
Kim Kulling b2bfb40859
Merge branch 'master' into remove_ctest 2018-01-06 21:31:22 +01:00
Kim Kulling 3896f3ffce
Merge branch 'master' into 1674-buffer-relative-uri 2018-01-06 20:40:27 +01:00
Kim Kulling 01081765ad closes https://github.com/assimp/assimp/issues/1638: use memcpy instead of dynamic_cast. 2018-01-06 18:03:27 +01:00
Kim Kulling 6bbdb669e1
Merge branch 'master' into master 2018-01-06 09:30:13 +01:00
A. Breust ca152f41e2
Merge branch 'master' into 1674-buffer-relative-uri 2018-01-06 09:19:48 +01:00
BuildTools 66171de915 Successful lib build, unit testing still WIP 2018-01-05 16:18:33 -08:00
Alexis Breust 9b5df71150 Not using external bin file for glb2 2018-01-05 10:28:12 +01:00
Alexis Breust 988acd00f1 Using relative buffers URI 2018-01-05 10:08:17 +01:00
Kim Kulling f376a3e8cd move data declaration after test if elements are in current scope. 2018-01-04 13:09:43 +01:00
Kim Kulling 9efa4282fe closes https://github.com/assimp/assimp/issues/1460: skip uv- and color-components if these are not defined. 2018-01-04 12:37:35 +01:00
Kim Kulling 2f6dab53f4
Merge branch 'master' into remove_ctest 2018-01-04 00:28:04 +01:00
Kim Kulling c66c7d7ae6 remove ctest to make workspace more readable. 2018-01-03 17:22:07 +01:00
Leo Terziman d0bee866c0 Merge remote-tracking branch 'github/master' into contrib 2018-01-03 16:15:07 +01:00
Leo Terziman 712a7ee779 Fixed bug in IFC where SweptDiskSolid tessellation would fail for polylines with only 2 points.
Indeed, the EstimateSampleCount is not always accurate in this case, as the number of generated curvature pointer is greater by one. Moreover, it is redundant to call EstimateSampleCount, as the SampleDiscrete method will provide the (correct) number of points anyway. This commit fix the described bug, but also increase the efficiency of the ProcessSweptDiskSolid method, as EstimateSampleCount is only called once now, instead of two times.
2018-01-03 16:14:20 +01:00
Leo Terziman 32dfd423db Fixed bug in IFC when dimensional exponent parameters in IfcSIUnits is not defined.
Usually, the value of this parameter is derived from parents, but it is not always the case for some files.
2018-01-03 16:08:18 +01:00
Turo Lamminen 8a505398a3 MMD: Fix memory leak 2018-01-02 20:35:06 +02:00
Turo Lamminen aac41cf2c3 MMD: Fix delete / delete[] mismatch
Also this was a horrible abuse of std::vector and shouldn't have worked
2018-01-02 20:28:08 +02:00
Turo Lamminen 7ebd8e7543 glTFAsset: Use std:unique_ptr for Image data 2018-01-02 20:09:22 +02:00
Turo Lamminen d308cfcb43 glTF: Fix delete / delete[] mismatch 2018-01-02 19:23:21 +02:00
Alexandre Avenel ced6e8ce43 Use std::unique_ptr in ObjFileParser 2017-12-30 13:23:44 +01:00
Alexandre Avenel 606fd6b1a1 Replace assertion by an exception in Obj parsing
This crash could happen when the user try to parse an ill-formed obj file.
2017-12-29 18:07:41 +01:00
Alexandre Avenel 20ef807982 Remove assertion in ObjFileImporter
This assertion is already handled by an exception, and could lead to a
crash when parsing an ill-formed OBJ file.
2017-12-29 17:56:30 +01:00
Turo Lamminen 096056b899 Q3BSP: Fix build with clang libc++ 2017-12-24 22:17:59 +02:00
Turo Lamminen dc94e5921e MDLImporter: Use unique_ptr
Fixes a double free
2017-12-24 22:17:11 +02:00
Turo Lamminen 55e69272bd MMD: Remove bogus assert
It can be triggered by input file, it's undocumented and it looks like nothing breaks
2017-12-24 22:15:19 +02:00
Turo Lamminen 90cdd0f20c RemoveComments: Fix out-of-bounds read when file ends with a comment 2017-12-24 22:14:39 +02:00
Turo Lamminen 4078543827 OpenGEX: Throw exception on malformed color4 instead of crashing 2017-12-24 14:57:14 +02:00
Turo Lamminen 7932a85ca1 Raw: Fix unitialized values in scene 2017-12-24 14:38:26 +02:00
Turo Lamminen 1ad789bae9 Raw: Reformat code, no functional change 2017-12-24 14:26:53 +02:00
Faule Socke 4a65e76ca7 Fix buffer overflow in obj loader
The overflow-checking code in ObjFileImporter::createVertexArray is at
the wrong position, allowing buffer overflows in preceding code.

This fix moves the code to the right spot.

An actual overflow can be caused by usign some more bugs and weird
behaviours and injecting a malformed line statement into the object
file, containing only one index. Such a malformed file could for
example look like:

o 1

v 0 0 0
v 1 1 1
v 2 2 2

l 1
f 1 2 3

Because the code in ObjFileImporter::createTopology incorrectly handles
line-type faces containing only one index (in line 364), it
underestimates the number of required indices and therefore causes the
buffer allocated in line 421 to be too small.

I believe, the correct fix for this would be in the parser and
rejecting such faces early. However the overflow check was misplaced
anyway.

If you can't reproduce a crash, just insert some more "l 1" lines
before the "f 1 2 3" line until it crashes. The behaviour of heap buffer
overflows strongly depends on memory layout and allocation history.
2017-12-23 17:57:48 +01:00
Kim Kulling 5a30bccdae closes https://github.com/assimp/assimp/issues/1612: make wstaring handling depend from encoding of the filename. 2017-12-22 16:45:07 +01:00
Kim Kulling 2294390917
Merge branch 'master' into iosystem-patch 2017-12-20 09:57:54 +01:00
Giuseppe Barbieri 06179cee04
Update FBXDocument.cpp 2017-12-19 22:53:59 +01:00
Turo Lamminen bb5495f99a Q3BSP: Add assertion to silence a static analyzer warning 2017-12-19 19:39:04 +02:00
Turo Lamminen c44522d4db ObjImporter: Fix possible memory leak 2017-12-19 19:38:38 +02:00
Turo Lamminen 47b725a8c8 MDCLoader: Fix horrible pointer casting hack 2017-12-19 18:55:14 +02:00
Turo Lamminen 0cf772a4d4 MDCLoader: Replace min and strlen with strnlen 2017-12-19 18:46:48 +02:00
Turo Lamminen 65ffeaa81e ObjImporter: Use unique_ptr 2017-12-19 18:24:03 +02:00
Turo Lamminen 1e9f329e6d MMD: Add virtual destructor to a class which already has virtual functions 2017-12-19 18:18:14 +02:00
Turo Lamminen b6800a9992 X3DImporter: Add virtual destructors to some classes which already have virtual functions 2017-12-19 18:16:41 +02:00
rickomax 4623c2f14c FBX Embedding Fix
FBX files may use a texture reference from an embedded texture that hasn't been loaded yet. This patch fixes this issue, storing all texture filenames, that can be acessed later via "scene::GetEmbeddedTexture", when all textures are already loaded.
Some warnings have been added to other file formats that uses embedded data.
2017-12-18 18:14:54 -02:00
Kim Kulling 04dc52fcf0
Merge branch 'master' into iosystem-patch 2017-12-18 08:59:14 +01:00
Kim Kulling 39e36371f9
Merge branch 'master' into nonascii_chars_in_fbxmaterial_cpp 2017-12-17 20:41:52 +01:00
Giuseppe Barbieri 76dd48d64f
Update FBXDocumentUtil.h 2017-12-17 18:43:23 +01:00
Tommy 47c422ea49 Fix non-ascii encoding in comments in FBXMaterial.cpp.
It looks like it was just saved with a wrong encoding,
as these 0xB4 characters were in place of "'".

Also converted tabs to spaces to match indent in the rest of the file.
2017-12-17 16:40:12 +01:00
Kim Kulling d081b4ab4e
Merge branch 'master' into fix_clang5_issue 2017-12-17 16:11:44 +01:00
Kim Kulling efc893a139
Merge branch 'master' into gltf2-exporter-improvements 2017-12-17 09:39:14 +01:00
Kim Kulling 3d743151ce
Merge branch 'master' into fix_1623 2017-12-17 09:04:08 +01:00
Kim Kulling 0bcf5c22db
Merge branch 'master' into unique_ptr 2017-12-17 02:16:48 +01:00
Kim Kulling 74319a6a50
Merge branch 'master' into fix_gltf_exporter_define_name 2017-12-17 00:30:56 +01:00
Kim Kulling 05f8af950a
Merge branch 'master' into master 2017-12-16 19:56:41 +01:00
Turo Lamminen 463dec5c7e Change StreamReader::IncPtr argument to signed
Negative values are passed to it so it needs to be signed
2017-12-16 15:48:01 +02:00
Turo Lamminen 2f082340fc MDLLoader: Add workaround for clang 5.0 build issue 2017-12-16 15:48:01 +02:00
Tommy 379562055b Fix incorrect NO_GLTF_IMPORTER define name in glTFExporter.h 2017-12-15 23:18:45 +01:00
Alexis Breust 32e5e3a576 Forgot to uncomment isBinary 2017-12-15 15:40:31 +01:00
Kim Kulling 5e63ba9a9d typo. 2017-12-14 18:10:42 +01:00
Kim Kulling dec3e2ba42 XGLLoader: fix const issue when seeting vec2. 2017-12-14 18:06:28 +01:00
Alexis Breust d29173aaa9 Following specification for padding 2017-12-14 17:32:18 +01:00
Kim Kulling eb0608f2e9 diable unaigned pointer access temprary, second one. 2017-12-14 17:00:16 +01:00
Kim Kulling 722420c5dc diable unaigned pointer access temprary. 2017-12-14 16:51:47 +01:00
Kim Kulling 422776b479
Merge branch 'master' into master 2017-12-14 16:38:22 +01:00
Alexis Breust d09df8cc07 Fixed leftover log 2017-12-14 16:18:17 +01:00
Alexis Breust 31a4ccaebb Added support for generating glb2 (binary glTF 2) 2017-12-14 16:11:12 +01:00
Alexandre Avenel 50bcaf39fd Fix issue #1623 : crash when loading multiple PLY files
Pointer mGeneratedMesh was not reset to nullptr when transfering ownership
to pScene->mMeshes
2017-12-12 20:48:51 +01:00
Turo Lamminen 89afe0780b B3DImporter: Fix double free when reusing Importer 2017-12-12 20:03:16 +02:00
Turo Lamminen 824dfc314b B3DImporter: Store node animations in unique_ptr 2017-12-12 19:46:11 +02:00
Turo Lamminen 08a35d4e1f B3DImporter: Store materials in unique_ptr 2017-12-12 19:46:11 +02:00
Turo Lamminen f1707e920d B3DImporter: Store meshes in unique_ptr 2017-12-12 19:46:11 +02:00
Turo Lamminen acab4c327e B3DImporter: Store animations in unique_ptr 2017-12-12 19:46:07 +02:00
Turo Lamminen 30ae14fae9 B3DImporter: Add unique_to_array helper function 2017-12-12 18:40:28 +02:00
Teybeo 99031997bd
Fix 3MF define typo 2017-12-11 16:27:27 +01:00
Teybeo 8cd1ede9ba
Fix 3MF define typo 2017-12-11 16:26:45 +01:00
Teybeo 7337474b6c
Fix 3MF define typo 2017-12-11 16:26:00 +01:00
Kim Kulling 28b01cbdd1
Update to 4.1.0 2017-12-11 13:20:19 +01:00
Daniel Löber 2f93cd77f8 added path conversion code for unicode on windows 2017-12-11 10:28:50 +01:00
Giuseppe Barbieri 3e0b072263
Update FBXBinaryTokenizer.cpp 2017-12-09 23:42:23 +01:00
Kim Kulling 972d8517b5 fix the model xml 2017-12-07 17:50:18 +01:00
Kim Kulling 0588d6cccf FBX: closes https://github.com/assimp/assimp/issues/1619: return correct index for embedded textures. 2017-12-07 09:44:48 +01:00
Kim Kulling c23c63e821 fix correct folder naming scheme. 2017-12-06 22:15:34 +01:00
Kim Kulling 95e9cd75fa 3MF: fix working test for 3MF-export. 2017-12-06 21:41:48 +01:00
Giuseppe Barbieri e741e7aec6
Update MD5Loader.h 2017-12-02 23:16:10 +01:00
Kim Kulling b8ab90ae4b
Merge branch 'master' into patch-16 2017-12-02 21:15:54 +01:00
Turo Lamminen 2c3558fdd0 Remove ScopeGuard 2017-12-02 17:24:19 +02:00
Turo Lamminen b60d84a8a2 C4D: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:23:49 +02:00
Turo Lamminen bd4f024562 XGLLoader: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:22:19 +02:00
Turo Lamminen e8eccfa27d FBX: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:19:18 +02:00
Turo Lamminen 6f50be82aa 3MF: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:15:57 +02:00
Turo Lamminen f35d5952dc BlenderLoader: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:13:43 +02:00
Turo Lamminen af8e297e0f BaseImporter: Replace ScopeGuard with std::unique_ptr 2017-12-02 17:10:06 +02:00
Giuseppe Barbieri 42c1c733b9
Update MD3Loader.cpp 2017-12-01 15:20:50 +01:00
Kim Kulling 4811c0bdd1
Merge branch 'master' into fix/multibody-binary-stls 2017-11-30 10:13:56 +01:00
Kim Kulling 5822d1920e
Update STLLoader.cpp
Retrigger travis + appveyor.
2017-11-30 09:22:55 +01:00
Kim Kulling c27fda62e5
Merge branch 'master' into export_3mf 2017-11-30 00:32:23 +01:00
Kim Kulling 9be69a90b1
Merge branch 'master' into fix/multibody-binary-stls 2017-11-30 00:28:59 +01:00
Kim Kulling 46caecdf35 enable compiler switch test for no exporter requested. 2017-11-29 21:02:52 +01:00
Daniel Hritzkiv 98e98dc40c
Fix node names sharing same name
Uses node name if it is set, and globally unique id otherwise.

This may still break in some models (glTF2 spec doesn’t guaruntee name values to be unique). However, I couldn’t cause it to break any further using gltf2 models on hand.

Closes #1600
2017-11-29 12:20:44 -05:00
Daniel Hritzkiv 67c236647d
Restore import of multi mesh binary STLs
Regression introduced in: 9a9f18bbed

This restores the behaviour for binary STLs with multiple bodies.

The code could be improved (to reuse code found at the end of LoadASCIIFile) but for now this is a quick fix
2017-11-29 11:20:09 -05:00
Kim Kulling b5e79c3cb6 fix invalid include 2017-11-29 16:11:33 +01:00
Kim Kulling ddd23fad3f Merge branch 'export_3mf' of https://github.com/assimp/assimp into export_3mf 2017-11-28 19:05:00 +01:00
Kim Kulling 6a2cd1c91d
Update D3MFExporter.cpp
Fix the build
2017-11-28 10:14:23 +01:00
Kim Kulling 9bd9b3d99c
Merge branch 'master' into export_3mf 2017-11-28 09:24:02 +01:00
Kim Kulling 4b6e49ca7b
Update D3MFExporter.h
Fix review findings.
2017-11-28 09:09:04 +01:00
Kim Kulling 4f972661e8
Update D3MFExporter.cpp
Fix review findings.
2017-11-28 09:08:16 +01:00
Kim Kulling 7a395e274f
Merge branch 'master' into fix/gltf2-transforms 2017-11-28 08:48:19 +01:00
Kim Kulling 8ce5985aa0
Merge branch 'master' into fix/gltf2-preserve-node-names 2017-11-28 00:50:07 +01:00
Kim Kulling 09f7769820 remove unused attribute. 2017-11-27 23:36:32 +01:00
Kim Kulling 8e413ac1e3
Merge branch 'master' into export_3mf 2017-11-27 22:50:17 +01:00
Kim Kulling 7280dec838 fix unittest. 2017-11-27 22:46:57 +01:00
Kim Kulling 3dfca3bc84 3MF: add export to a given archive. 2017-11-27 21:48:33 +01:00
awefers 0031165789
Add support for tangents in glTF2.0 import
Closes #1562
2017-11-27 13:45:40 -05:00
awefers 0b04ae1d91
Preserve node names when importing glTF2.0
Closes #1522
2017-11-27 11:58:19 -05:00
awefers e53d4735b0
Fix transform matrices multiplication order per glTF2.0 spec
Closes #1568
2017-11-27 11:32:05 -05:00
Kim Kulling 623b5a515a
Merge branch 'master' into fix-typo-gltf 2017-11-25 20:11:49 +01:00
Alexandre Avenel eb452b28a2 Fix warning on MSVC14 2017-11-25 11:38:12 +01:00
Alexandre Avenel d529dd17f9 Fix warning cast double to float 2017-11-24 22:29:58 +01:00
Alexandre Avenel 273f6b0267 Fix MSVC14 warning cast double to real 2017-11-24 22:13:38 +01:00
Alexandre Avenel f80e8b39a1 Fix warning C4138: '*/' found outside of comment on MSVC14 2017-11-24 22:08:50 +01:00
Alexandre Avenel c63263b025 Fix typo on gltf2 camera parameters 2017-11-24 22:02:47 +01:00
Kim Kulling 0bdb375804 Add missing file export into archive. 2017-11-24 18:59:37 +01:00
Kim Kulling 09a5946dbd Prepare archive structure. 2017-11-23 22:47:18 +01:00
Kim Kulling d180cfcba5
Merge branch 'master' into master 2017-11-22 16:01:16 +01:00
Kim Kulling e35f789ace
Merge branch 'master' into scene_combiner_crash 2017-11-22 13:46:14 +01:00
Kim Kulling 454b8919b0 use one header for all xml-tags. 2017-11-21 21:34:25 +01:00
Kim Kulling b474e75e29 3Mf-Export: add prototypes for relations and rest of 3MF-document. 2017-11-21 18:41:16 +01:00
Kim Kulling a7be5b527f add missing return statement. 2017-11-20 23:53:53 +01:00
Kim Kulling 9ca7b00280 Merge branch 'master' into export_3mf 2017-11-20 22:36:50 +01:00
Kim Kulling c22b4acd47 3MF: Export initial commit. 2017-11-20 22:36:17 +01:00
Kim Kulling 70d9df868d
Merge branch 'master' into patch-12 2017-11-20 22:23:47 +01:00
Kim Kulling ba3acd7459
Merge branch 'master' into patch-12 2017-11-20 19:56:14 +01:00
Patrick Dähne a05d74a281 [glTF2] Moved byteStride from accessor to bufferView 2017-11-20 19:01:28 +01:00
Kim Kulling beff88228d
Merge branch 'master' into master 2017-11-20 18:56:10 +01:00
Patrick Dähne 6cbfd5b977 [glTF2] Implemented reading binary glTF2 (glb) files 2017-11-20 14:59:05 +01:00
Mika Rautio 9f1dce8e57
Merge branch 'master' into master 2017-11-20 10:27:11 +02:00
Mika Rautio 4fb5038fb1 Add support for building Mac OS X Framework bundles 2017-11-20 00:10:05 +02:00
Kim Kulling 2a9f79f958 check for 0 properties before copy them 2017-11-19 19:05:51 +01:00
Kim Kulling 55c9761228
Merge branch 'master' into patch-12 2017-11-19 18:25:22 +01:00
Kim Kulling 9707fde709 check for nullptr dereferencing before copying scene data 2017-11-19 17:41:31 +01:00
Kim Kulling 65d6daa414
Merge branch 'master' into patch-13 2017-11-18 20:36:05 +01:00
Kim Kulling 1a1d96d3e2 Merge branch 'master' into fix_android 2017-11-18 18:32:58 +01:00
Kim Kulling a8e65a1e8a Fix android build. 2017-11-18 18:32:16 +01:00
Turo Lamminen 8ae7231654 Blender: Silence warning about uninitialized member 2017-11-18 16:50:45 +02:00
Turo Lamminen 2c8cc1f732 BlenderDNA: Silence warning about uninitialized member 2017-11-18 16:49:03 +02:00
Turo Lamminen bcffa28a33 MDLImporter: Don't take address of packed struct member 2017-11-18 16:39:43 +02:00
Turo Lamminen 1067ae4bfa FIReader: Fix strict-aliasing warnings 2017-11-18 15:54:40 +02:00
Turo Lamminen c1515db56f Blender: Fix strict-aliasing warnings 2017-11-18 15:50:56 +02:00
Giuseppe Barbieri 703d046fd9
Update ValidateDataStructure.cpp 2017-11-18 00:34:00 +01:00
Giuseppe Barbieri fc360b9cc8
Update ValidateDataStructure.h 2017-11-18 00:05:17 +01:00
Giuseppe Barbieri b428c66f39
Update ValidateDataStructure.h 2017-11-17 23:10:05 +01:00
Kim Kulling 07a99e0843
Merge branch 'master' into issue_1513 2017-11-16 17:32:34 +01:00
Giuseppe Barbieri d9965f6220
Update Importer.cpp 2017-11-16 14:42:20 +01:00
Kim Kulling 7db10022e9 closes https://github.com/assimp/assimp/issues/1513: fix assimp for cross compile for android 2017-11-15 21:26:25 +01:00
Turo Lamminen f475803f93 X3DImporter: Add assertions to silence static analyzer warnings 2017-11-15 11:45:21 +02:00
Turo Lamminen 66c18cc406 TerragenLoader: Remove unused variable 2017-11-15 11:45:21 +02:00
Turo Lamminen e47bf932e8 SIBImporter: Add assertions to silence static analyzer warnings 2017-11-15 11:45:21 +02:00
Turo Lamminen 583d3f88b8 FBX: Remove dead assignment 2017-11-15 11:45:21 +02:00
Turo Lamminen ef0af40f90 IFC: Remove dead code 2017-11-15 11:45:21 +02:00
Turo Lamminen b49a4e1338 PLY: Remove dead assignment and reduce scope of a variable 2017-11-15 11:45:21 +02:00
Turo Lamminen 97843f19d2 OpenGEX: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen f470b8466f GLTF2: Fix signed/unsigned warning 2017-11-15 11:45:21 +02:00
Turo Lamminen f90019bc1e NFF: Add assertions to silence static analyzer warnings 2017-11-15 11:45:21 +02:00
Turo Lamminen 3f299b2a2b NFF: Split up some complicated assignments 2017-11-15 11:45:21 +02:00
Turo Lamminen d24e0d44b2 Raw: Fix misleading indentation warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 2b93a210c9 NFF: Reduce scope of a variable 2017-11-15 11:45:21 +02:00
Turo Lamminen 940449d837 LWO: Reduce scope of a variable 2017-11-15 11:45:21 +02:00
Turo Lamminen a276a02726 IRRLoader: Fix confusing boolean casting 2017-11-15 11:45:21 +02:00
Turo Lamminen 437816fc33 AssbinExporter: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 4c9f169109 ASE: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 856d402b59 AMFImporter: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 2c7770eed5 AMFImporter: Add a block 2017-11-15 11:45:21 +02:00
Turo Lamminen bd0d47c5fc Whitespace 2017-11-15 11:45:21 +02:00
Turo Lamminen a7fccf8f33 OptimizeGraph: Fix possible null pointer dereference 2017-11-15 11:45:21 +02:00
Turo Lamminen c51b92cfa3 RemoveRedundantMaterials: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen 95f2319b41 ImproveCacheLocality: Add assertion to silence a static analyzer warning 2017-11-15 11:45:21 +02:00
Turo Lamminen c774e864a0 Remove some dead assignments 2017-11-15 11:45:21 +02:00
Turo Lamminen 266e3b29a8 RemoveRedundantMaterials: Set pointer to nullptr after deleting it 2017-11-15 11:45:21 +02:00
Turo Lamminen 76919e87ea fast_atof: Silence some uninitialized variable warnings 2017-11-15 11:45:21 +02:00
Kim Kulling 24b728b3ea FindDegeneratives: adapt unittests and add configs 2017-11-12 22:09:18 +01:00
Kim Kulling 9206d1b62b Merge branch 'master' into issue_216 2017-11-12 11:04:51 +01:00
Kim Kulling 005b537324 unittests: add VS-based source groups for the unittests. 2017-11-10 20:40:00 +01:00
Kim Kulling de1ec4ee5d
Merge branch 'master' into gltf2-mesh-export-fix 2017-11-10 19:07:46 +01:00
Unknown 12dbbd4ce9 Misc. typos
Some are doxy comments, some are just trivial source comment typos. 
Found using `codespell -q 3 --skip="./contrib" -I ../assimp-whitelist.txt`
whereby whitelist contained:
```
childs
iff
lod
nto
ot
whitespaces
```
2017-11-09 17:19:26 -05:00
Kim Kulling ad2ff9fd71 check for area test if the face is a triangle. 2017-11-09 21:40:10 +01:00
Kim Kulling 30e06f7437 closes https://github.com/assimp/assimp/issues/216: check the area of a triangle to check if its degenerated or not. 2017-11-09 21:31:16 +01:00
Daniel Hritzkiv 9ec117d0bc
Fix export of deleted meshes; Add LazyDict::Remove method
When I was merging a node’s multiple meshes into that node’s first mesh’s primitives, I was deleting the merged meshes from the node.

However, I wasn’t deleting the merged meshes from the mAsset->meshes Dict, causing the gltf2 export to contain extra unreferenced meshes and duplicate primitives.

This new code adds a new method to LazyDict, which removes the object from it, taking care to update indexes of the subsequent objects. This change also requires that `Ref`s of `Mesh`es (stored in node->meshes) have their indexes updated.
2017-11-08 18:31:32 -05:00
Kim Kulling 5bc4e73727
Merge branch 'master' into issue_1292 2017-11-08 22:52:46 +01:00
Kim Kulling ab639a71ae
Merge branch 'master' into issue_1315 2017-11-08 21:09:02 +01:00
Kim Kulling 36475bf868 closes https://github.com/assimp/assimp/issues/1292: export class subdivision 2017-11-08 20:50:16 +01:00
Kim Kulling cdfd4b9702 closes https://github.com/assimp/assimp/issues/1315: check in exporting against out-of-bounds-access . 2017-11-08 20:44:53 +01:00
Kim Kulling 6954c7d75b
Merge branch 'master' into master 2017-11-08 18:34:25 +01:00
Kim Kulling fe55bc9996
Update ColladaExporter.cpp
fix build
2017-11-08 18:34:16 +01:00
Kim Kulling 6b826fecfd
Merge branch 'master' into issue_1251 2017-11-08 01:07:35 +01:00
Kim Kulling f41ed2f41f closes https://github.com/assimp/assimp/issues/1251: use correct lookup for utf32. 2017-11-08 01:07:04 +01:00
Kim Kulling 29cf414468
Merge branch 'master' into md2_fix 2017-11-07 22:03:02 +01:00
Kim Kulling 75fdd25b6b
Merge branch 'master' into issue_104 2017-11-07 11:27:06 +01:00
Kim Kulling da7ce89ff2
Update STLLoader.cpp
add missing const.
2017-11-07 10:47:27 +01:00
Kim Kulling b87e7643d2
Update STLLoader.cpp
Fix memory-alignment bug.
2017-11-07 10:42:51 +01:00
Kim Kulling 4ff2592747
Update STLLoader.h
Fixed a typo.
2017-11-07 00:31:09 +01:00
Kim Kulling 9a9f18bbed closes https://github.com/assimp/assimp/issues/104: deal with more solids in one STL file. 2017-11-06 22:30:07 +01:00
Kim Kulling 4a4f3fddc7 closes https://github.com/assimp/assimp/issues/213: log an error instead of letting the fbx-importer crash. 2017-11-05 22:52:07 +01:00
Kim Kulling ab3cf3687c
Merge branch 'master' into UnitTest_X3D 2017-11-05 18:10:10 +01:00
Kim Kulling 2929a27edc add unittest for x3d-importer. 2017-11-05 17:41:26 +01:00
Kim Kulling 02b042d78e closes https://github.com/assimp/assimp/issues/1351: use correct name for obj-meshname export for groups. 2017-11-05 16:35:22 +01:00
Kim Kulling a33e115fd1 fix mem-lead: face will be not released in case of an error. 2017-11-04 18:26:30 +01:00
Kim Kulling c9ada44ab5 Fix memory leak in case of an error. 2017-11-04 17:05:23 +01:00
Kim Kulling c700c08fa5
Merge branch 'master' into master 2017-11-04 10:45:57 +01:00
Kim Kulling b7bd006304
Merge branch 'master' into ObjExporter_nomtl 2017-11-04 09:32:50 +01:00
Kim Kulling 4587e63e2f
Merge branch 'master' into fix_trivial_warnings 2017-11-03 20:05:16 +01:00
Daniel Hritzkiv 2922753589
Return early when element is TextureFile
In cases where the TextureFile name would start with an integer, `strtoul10` would parse that number and incorrectly set `numOccur` to that number. This caused PLY parsing to fail for vertex positions.

Since TextureFile is a single line, and does not have any follow-up lines, it’s okay to return early
2017-11-03 11:50:28 -04:00
Kim Kulling d279a3cc02
Merge branch 'master' into fix_trivial_warnings 2017-11-03 10:35:02 +01:00
Thomas Lemaire 5b76a31485 fix trivial warnings
mainly unused parameter and unused function
some parameters are indeed used in a debug built, I used the
(void)(param) trick
warnings reported by clang 4
2017-11-02 11:13:52 +01:00
thomas-lemaire 931542bf3c
Merge branch 'master' into ObjExporter_nomtl 2017-11-02 10:46:57 +01:00
Daniel Hritzkiv e52e44ea07
Formatting 2017-10-31 15:18:08 -04:00
Daniel Hritzkiv cc4531459f
Set mNumUVComponents to 0 when deleting texture coordinate sets 2017-10-31 15:14:21 -04:00
Kim Kulling 8be196f77d closes https://github.com/assimp/assimp/issues/1490 : fix invalid access to mesh array when the array is empty. 2017-10-31 14:03:03 +01:00
Kim Kulling af4556d569 only scale the root node because this will rescale all children nodes as well. 2017-10-31 13:08:24 +01:00
Kim Kulling 64ee21024b Add missing file. 2017-10-31 13:07:07 +01:00
Kim Kulling ae020281e2 Add unittest 2017-10-31 12:24:32 +01:00
Lars Jørgen Solberg 711050de8a fix frame pointer arithmetic 2017-10-30 19:08:51 +01:00
thomas-lemaire 4d09e61b13
Merge branch 'master' into master 2017-10-30 11:41:25 +01:00
Victor NG 99b9ba4c11
Merge branch 'master' into master 2017-10-30 16:33:47 +08:00
Victor NG aca8f068d0
Update ColladaExporter.cpp 2017-10-30 16:29:57 +08:00
Kim Kulling bbeb9dd640 Use correct lookup if scaling is enabled. 2017-10-29 23:18:37 +01:00
Kim Kulling f49de6ecfe closes https://github.com/assimp/assimp/issues/1514: add postprocess step for scaling 2017-10-29 20:28:59 +01:00
Thomas 18cef9b391 [ObjExporter] add a "no mtl" version of the obj exporter 2017-10-27 10:14:38 +02:00
Daniel Hritzkiv 8b73ec7541
Fix shininess to roughness conversion; Add comments
Was accidentally flipping to value (1 - x) twice, thus negating the effect.
2017-10-26 11:33:33 -04:00
Kim Kulling bfa33b50ad Merge branch 'master' into gltf2-materials 2017-10-24 10:40:20 +02:00
Alexandre Avenel cc8374dd80 Return exception when obj file contains invalid face indice 2017-10-21 20:58:00 +02:00
Victor NG 90ba199ad4 Update ColladaExporter.cpp 2017-10-21 18:28:14 +08:00
Victor NG cd4ef0a2e9 Update ColladaExporter.h 2017-10-21 18:15:46 +08:00
ndotl 8cf61c3c89 Merge branch 'master' into adsk-contrib-fix-std-stream-overflow 2017-10-20 15:22:49 +02:00
Daniel Hritzkiv 6e88838602
powf -> pow
Fix build errors on linux
2017-10-19 16:21:29 -04:00
Daniel Hritzkiv 40147d253d
Prefer “BLEND” over “MASK” as an alphaMode default
“BLEND” is a much nicer alphaMode value (if the hardware supports it – not a steep requirement) than “MASK” as mask is either fully opaque or fully transparent, depending on the alphaCutoff. This matches many other converters’ alphaMode default.
2017-10-19 16:21:29 -04:00
Daniel Hritzkiv 89358458f0
Approximate specularity / glossiness in metallicRoughness materials
Before, models (of traditional lighting models) with specularity/glossiness would be completely flat when exported to metallicRoughness. These changes approximate glossiness (as an inverse of roughness, with specular intensity as a multiplier) both reading from gltf2 and writing to gltf2.
2017-10-19 16:21:29 -04:00
Daniel Hritzkiv a898c1f2d1
SpecularFactor import and export improvements
The changes here (which only apply to reading from or writing to pbrSpecularGlossiness) will:

- store and read specular color on `AI_MATKEY_COLOR_SPECULAR ` rather than `AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_SPECULAR_FACTOR`
- store and read specular texture from `aiTextureType_SPECULAR` rather than `AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_SPECULARGLOSSINESS_TEXTURE`. Even though pbrSG’s specularGlossiness texture uses the alpha channel for glossiness, it will still work well enough with just the RGB channels of the image
2017-10-19 16:21:29 -04:00
Daniel Hritzkiv c71790c78d
Diffuse color and diffuse texture import and export improvements
These changes do a better of importing and exporting baseColor colors and textures, as well as diffuse colors and textures (in the case of pbrSpecularGlossiness)

- baseColorFactor will be stored on both `$clr.diffuse` and `$mat.gltf.pbrMetallicRoughness.baseColorFactor`, and will be extracted from `$mat.gltf.pbrMetallicRoughness.baseColorFactor` first, and falling back to `$clr.diffuse`. The behaviour for baseColorTexture is similar
- pbrSG’s diffuseFactor will now only be store on `$clr.diffuse` (overwriting any previous assignments to `$clr.diffuse`, e.g. from metallicRoughness’ baseColorFactor, as diffuseFactor is more analogous to diffuse color than baseColor), and will only extract from `$clr.diffuse`
2017-10-19 16:21:16 -04:00
Daniel Hritzkiv 5eaf083fbd
Fix output of glTF 1 version string
Was writing out “\u0001” instead of “1.0” as the data types were incorrect
2017-10-19 12:43:52 -04:00
Kim Kulling b2eb599176 Update ColladaExporter.cpp
Retrigger travis.
2017-10-16 18:51:25 +02:00
Kim Kulling 44ad80201c Merge branch 'master' into adsk-contrib-fix-std-stream-overflow 2017-10-14 21:47:21 +02:00
Jared Mulconry f8c4002294 Fixed a divide by zero error in IFCBoolean that was latent, but nevertheless a bug 2017-10-14 18:46:19 +03:00
Turo Lamminen 9a6b141568 FBX: Replace bad pointer casting with memcpy 2017-10-14 18:46:19 +03:00
Turo Lamminen 7cbb5f4d3b B3DImporter: Replace bad pointer casting with memcpy 2017-10-14 18:46:19 +03:00
Kim Kulling e662f2dc6f Blender: fix short overflow. 2017-10-13 22:41:38 +02:00
Kim Kulling e79848ff79 Merge branch 'master' into adsk-contrib-fix-std-stream-overflow 2017-10-11 13:49:47 +02:00
Jared Mulconry 3e7dbb5dfb Merge branch 'master' of github.com:assimp/assimp into appveyor 2017-10-11 19:06:29 +11:00
Kim Kulling a1b79e23e6 Merge branch 'master' into adsk-contrib-fix-std-stream-overflow 2017-10-10 19:33:07 +02:00
Kim Kulling c128e7e56c Merge branch 'master' into issue_1453 2017-10-10 18:20:22 +02:00