Commit Graph

3843 Commits (7e39ae0d52ab50f382a4a8a7c3e3fdc702886fdd)

Author SHA1 Message Date
Martin Jerabek a7cbb4386c 3DSLoader: exception-safety
Fixes memory leaks and/or crashes on malformed input.
2018-11-26 12:06:08 +01:00
Martin Jeřábek 430fe98c53 AssbinLoader: hardening, exception safety
Fixes potential memory leaks and crashes on malformed input.
2018-11-26 12:06:08 +01:00
Martin Jerabek 66599b6392 Assbin: fix loading/exporting compressed format 2018-11-26 12:06:08 +01:00
Kim Kulling 02359ea369 closes https://github.com/assimp/assimp/issues/2202: put STEPParser out of IFC importer. 2018-11-25 12:00:51 +01:00
Kim Kulling d03e978c1b closes https://github.com/assimp/assimp/issues/2210: use different enum value. 2018-11-25 10:45:45 +01:00
Kim Kulling 23af5336d5
Update D3MFImporter.cpp
Avoid using extension twice.
2018-11-23 20:21:58 +01:00
rdb e595410de1
Fix static init ordering issue in 3mf importer 2018-11-23 20:04:16 +01:00
Kim Kulling a24502577f DXF-Importer: some small review findings. 2018-11-21 22:00:11 +01:00
Kim Kulling 9ae8efcf09 closes https://github.com/assimp/assimp/issues/2229: fix count of polylines when only one vertex was indexed. 2018-11-21 21:29:09 +01:00
Kim Kulling eba1887d34
Merge branch 'master' into kimkulling-patch-2-1 2018-11-20 20:15:44 +01:00
Matthias Moulin 0535b28908
nullptr instead of NULL 2018-11-16 12:17:12 +01:00
Matthias Moulin 48ee14c64e
C4703 workaround for msvc++
`error C4703: potentially uninitialized local pointer variable 'pcFirstFrame'` in debug mode
2018-11-14 21:20:27 +01:00
Kim Kulling 04ee420f63
Merge branch 'master' into kimkulling-patch-2-1 2018-11-13 16:08:18 +01:00
Kim Kulling 6a8e11dbb2
Update Exporter.cpp
Fix review finding.
2018-11-13 13:10:16 +01:00
Kim Kulling 9bf4425239
Merge branch 'master' into gltf_skinmesh 2018-11-13 09:13:01 +01:00
Kim Kulling b6af80f2fd closes https://github.com/assimp/assimp/issues/2199: introduce first version for exporter. 2018-11-12 22:26:10 +01:00
ruyo c30c4ae6e2 glTF2 importer multiple primitives and 16-bit index buffer skinmesh support. 2018-11-11 14:27:11 +09:00
Kim Kulling 02c6b9b64b
Merge branch 'master' into issue_2206 2018-11-09 13:13:52 +01:00
Kim Kulling e787604ff1
Update ValidateDataStructure.cpp
Integrate review findings.
2018-11-09 11:54:12 +01:00
Kim Kulling 850d57b39d closes https://github.com/assimp/assimp/issues/2206: make bone error in verification more verbose. 2018-11-08 22:12:05 +01:00
Kim Kulling 044c9b39e0
Merge branch 'master' into patch-2 2018-11-08 22:00:33 +01:00
mnml_ d5c9b27af8
delete[] doesnt set nullptr 2018-11-08 12:49:35 +01:00
mnml_ 97450fcb55
added DropFaceNormalsProcess to out vector 2018-11-08 11:44:44 +01:00
kimkulling ad237f1949 MD5-Loader: set meshnames. 2018-11-02 17:02:36 +01:00
haroonq d1af9526b1
Update glTF2Importer.cpp 2018-11-01 10:52:39 -07:00
haroonq e205399052
Update glTF2Importer.cpp 2018-11-01 09:01:19 -07:00
haroonq 69abac59d2
Update glTF2Exporter.cpp 2018-11-01 08:49:06 -07:00
Kim Kulling b33054e05a
Merge branch 'master' into glt2anim 2018-10-30 15:51:08 +01:00
Kim Kulling b8e1207b13
Merge branch 'master' into master 2018-10-30 12:43:15 +01:00
kkulling dc591f5c07 Merge branch 'patch-1' of https://github.com/ihmc3jn09hk/assimp into ihmc3jn09hk-patch-1 2018-10-30 10:44:40 +01:00
haroonq 04c6d8347b
Update glTF2Exporter.cpp 2018-10-29 15:23:26 -07:00
haroonq bc80652ae9
Update glTF2Exporter.cpp 2018-10-29 15:04:48 -07:00
haroonq e5eb00d8d3
Update glTF2Importer.cpp 2018-10-29 14:53:33 -07:00
haroonq 7b9f4a66de
Update glTF2Exporter.cpp 2018-10-29 14:52:41 -07:00
Haroon Qureshi bfe1dc2914 Merge branch 'glt2anim' of https://github.com/haroonq/assimp into glt2anim 2018-10-29 14:46:52 -07:00
Haroon Qureshi acad9a06e9 Add support for importing GLTF2 animations.
Refactors the glTF2 internal classes to more closely reflect the structure
of the actual GLTF2 file format. Adds implementations for reading skins
and animations from GLTF2 files into those structures.

Also provides implementations for converting skins and animations from GLTF
into assimp data structures.  Special handling is required for bone weights
since assimp stores vertex-weights-per-bone whereas GLTF2 stores
bone-weights-per-vertex.  Only supports keyframed LINEAR animation data;
STEP and CUBICSPLINE is not currently supported.
2018-10-29 14:44:29 -07:00
Kim Kulling c465040738
Update DropFaceNormalsProcess.cpp
Fix typo.
2018-10-29 16:58:02 +01:00
d 6d1dee606a integrated DropFaceNormals process (cmake, poststepregistry) 2018-10-29 16:26:50 +01:00
d 95c0deaaff added DropFaceNormals process 2018-10-29 16:23:11 +01:00
Haroon Qureshi 57d3d71b6e Add support for importing GLTF2 animations.
Refactors the glTF2 internal classes to more closely reflect the structure
of the actual GLTF2 file format. Adds implementations for reading skins
and animations from GLTF2 files into those structures.

Also provides implementations for converting skins and animations from GLTF
into assimp data structures.  Special handling is required for bone weights
since assimp stores vertex-weights-per-bone whereas GLTF2 stores
bone-weights-per-vertex.  Only supports keyframed LINEAR animation data;
STEP and CUBICSPLINE is not currently supported.
2018-10-26 15:39:28 -07:00
ihmc3jn09hk 9a86714265
Merge branch 'master' into patch-1 2018-10-21 14:18:02 +08:00
Minmin Gong df1669d07e Fix the wrong results when calling aiGetMaterialInteger on bool type properties, such as AI_MATKEY_TWOSIDED. 2018-10-20 17:00:27 -07:00
Minmin Gong 248f6c3aa1 Make gltf2's roughnessAsShininess matches between importer and exporter.
In glTF2Exporter, roughnessFactor = 1 - normalizedShininess = 1 - someFunc(sqrt(shininess / 1000)). But in gltf2Importer, roughnessAsShininess = (1 - roughnessFactor) * 1000. No sqr there. So if save a shininess to a gltf2 and load it back, the value changed. This fix add a square to importer to make sure the consistency.
2018-10-16 21:17:35 -07:00
ihmc3jn09hk 05b5930b29
Amended the "Key" for the database ReadField
Amended the key "flags" -> "flag". The field key("flags") was not matching the key("flag") in the BlendDNA. It was annoying during debug mode since the exception prompt for the mismatching and.
2018-10-16 00:25:44 +08:00
Kim Kulling b340c5f2e8
Merge branch 'master' into step-import 2018-10-09 17:35:44 +02:00
Kim Kulling ed43c48e93
Update SplitLargeMeshes.cpp
Fix double-parthesis.
2018-10-09 15:34:44 +02:00
Kim Kulling d166e1fd73
Merge branch 'master' into Manage_PCloud_in_Filters 2018-10-09 11:56:39 +02:00
Kim Kulling 27c9461aad
Update SplitLargeMeshes.cpp
Fix typo.
2018-10-09 11:56:30 +02:00
Kim Kulling 1c672f4c9d
Update SplitLargeMeshes.cpp
Fix clang compile error ( unneeded enum parhesis ) and fix some minor findings.
2018-10-08 21:06:48 +02:00
Kim Kulling 871e1524e4
Update IFCLoader.cpp
Remove dead code.
2018-10-08 14:51:50 +02:00
Kim Kulling 931ef2cd0b StepFile: fix conversion from ulong to uint. 2018-10-07 21:15:09 +02:00
Kim Kulling 2e443dc669
Merge branch 'master' into C4267 2018-10-07 20:31:41 +02:00
Burkhard Mittelbach afbdb043b0
ReadFieldPtrVector should return true when successful 2018-10-07 19:11:34 +02:00
Kim Kulling 4c5c172ee2
Merge branch 'master' into C4267 2018-10-07 18:16:44 +02:00
Kim Kulling e84ccaea15 Merge branch 'master' into step-import 2018-10-07 16:22:32 +02:00
Gargaj 16bdac5c9e
Merge branch 'master' into patch-1 2018-10-07 16:04:11 +02:00
Gargaj 6af016d149
Fix Blender FOV loading 2018-10-07 15:34:44 +02:00
Kim Kulling c355412348
Merge branch 'master' into C4244 2018-10-07 14:29:39 +02:00
Matthias Moulin c90eda983d
Fix: C4267 2018-10-06 16:31:58 +02:00
Matthias Moulin b4425d8e36
Fix: C4267 2018-10-06 16:30:38 +02:00
Matthias Moulin e7da1c634d
Fix: C4244 conversion warning 2018-10-06 16:28:10 +02:00
Matthias Moulin 239c59d715
Fixed include: IFCReaderGen_4 instead of IFCReaderGen4 2018-10-06 16:12:58 +02:00
Matthias Moulin 88c173a6f4
Replaced "../Include/" include from glTFAsset.h 2018-10-06 15:20:28 +02:00
Matthias Moulin 47fcbfd369
Replaced "../Include/" include from glTF2Asset.h 2018-10-06 15:19:56 +02:00
Matthias Moulin 7061493ead
Replaced "../Include/" include from HMPFileData.h 2018-10-06 15:16:40 +02:00
Matthias Moulin d7bcd58174
Replaced "../Include/" include from MD4FileData.h 2018-10-06 15:15:43 +02:00
Matthias Moulin 8bb4b57d1d
Replaced "../Include/" include from HMPFileData.h 2018-10-06 15:11:47 +02:00
Matthias Moulin 91a805a082
Update HalfLifeFileData.h 2018-10-06 15:05:18 +02:00
Matthias Moulin 463a7e8016
Replaced "../Include/" include from MD3FileData.h 2018-10-06 15:02:58 +02:00
Matthias Moulin 99fc989af7
Replaced "../Include/" include from MDLFileData.h 2018-10-06 15:01:42 +02:00
Matthias Moulin d9a7ed19a8
Replaced "../Include/" include from 3DSHelper.h 2018-10-06 14:59:20 +02:00
Matthias Moulin 531f30302f
Replaced "../Include/" include from 3DSHelper.h 2018-10-06 14:58:06 +02:00
Matthias Moulin d4b0cd53ea
Replaced "../Include/" include from FBXDocumentUtil.h 2018-10-06 14:55:20 +02:00
Kim Kulling 619e09fbec Stepfile: separate generated code. 2018-10-06 08:45:55 +02:00
Kim Kulling 106b139ef3 Stepfile: renaming first generated code. 2018-10-05 19:42:26 +02:00
Kim Kulling aceaecaed7 StepFile: introduce generated parser code. 2018-10-05 19:41:52 +02:00
dormon b43cf92337 Improved cmake configs for Windows and Linux.
Now the configs follows the standard cmake-package code: see https://cmake.org/cmake/help/v3.12/manual/cmake-packages.7.html

Downstreamer no longer have to manually specify target_include_directories with ${ASSIMP_INCLUDE_DIRS}, target_link_libraries with ${ASSIMP_LIBRARY_DIRS} and so on.

Downstreamer can now use:
find_package(assimp CONFIG REQUIRED)
target_link_libraries(AWESOME_APP PUBLIC assimp::assimp)
and everything should work.

Added assimpTargets.cmake.in
Added assimpTargets-debug.cmake.in
Added assimpTargets-release.cmake.in
Modified CMakeLists.txt
Modified code/CMakeLists.txt - added ALIAS assimp::assimp

Tested on Ubuntu 18.04 and Windows 10
2018-09-30 17:18:18 +02:00
Kim Kulling 35374e777b Merge branch 'step-import' of https://github.com/assimp/assimp into step-import 2018-09-28 18:02:54 +02:00
Kim Kulling 3249409243 Some minor findings. 2018-09-28 18:02:49 +02:00
kimkulling 4003309e7a StepFile: prepare code gen. 2018-09-28 17:06:03 +02:00
kkulling e38629613c Merge branch 'master' into step-import 2018-09-28 15:59:27 +02:00
Kim Kulling 50a95ad0f2
Merge branch 'master' into migenius-rsws52 2018-09-27 01:04:44 +02:00
Kim Kulling 2dc572167c
Merge branch 'master' into issue_2154 2018-09-26 22:13:29 +02:00
Kim Kulling 35a727a3e4 closes https://github.com/assimp/assimp/issues/2154: remove redundant file from source folder. 2018-09-26 21:37:02 +02:00
Kim Kulling 74db0e906b Fix some minor findings. 2018-09-26 21:19:40 +02:00
Kim Kulling ea0f074933 Merge branch 'kimmi_dev' of https://github.com/assimp/assimp into kimmi_dev 2018-09-26 20:53:37 +02:00
Kim Kulling 9c8e6f2127 Fix overflow by face allocation. 2018-09-26 20:52:59 +02:00
Kim Kulling 5d091c4591
Merge branch 'master' into kimmi_dev 2018-09-26 19:15:58 +02:00
ardenpm 586c812eee
Merge pull request #5 from assimp/master
Merge commits from head master.
2018-09-26 15:44:41 +10:00
Kim Kulling 07362fdd35 Merge branch 'kimmi_dev' of https://github.com/assimp/assimp into kimmi_dev 2018-09-25 20:16:28 +02:00
Kim Kulling 6146ff818c Enable coveralls for export tests. 2018-09-25 20:15:48 +02:00
Alexandre Avenel 504e5fd5c5 Use unique_ptr for gltf2 textures 2018-09-24 21:28:53 +02:00
Kim Kulling 72aa49c54f
Merge branch 'master' into kimmi_dev 2018-09-22 15:52:22 +02:00
Kim Kulling 9f6238f3af INtroduce unittests. 2018-09-22 15:50:40 +02:00
Kim Kulling 56392cc02f
Update MMDPmxParser.cpp
Fix encoding for readstrings.
2018-09-22 12:50:23 +02:00
Kim Kulling d42f9a3226
Update MMDImporter.cpp
Reformattings
2018-09-22 12:46:38 +02:00
Kim Kulling 02c4b7f1bc
Merge branch 'master' into umw_dev 2018-09-22 10:24:09 +02:00
Kim Kulling cc0b3e1249
Merge branch 'master' into fix_gltf2_export_componentType_error 2018-09-22 07:54:10 +02:00
Kim Kulling 24b42274fb
Update MDCFileData.h
Fix build by remove not supported initializer for array.
2018-09-21 20:13:35 +02:00
Kim Kulling 3a38c2c067
Update MDLFileData.h
Remove not supported array initialization.
2018-09-21 19:43:19 +02:00
Kim Kulling e129d88825
Update ASEParser.h
Fix not supported array initialization.
2018-09-21 19:26:41 +02:00
Kim Kulling 2017e50e7b
Update AMFImporter_Node.hpp
Fix invalid array initialization.
2018-09-21 18:59:47 +02:00
kimkulling f75bf6d99c MAke noexcept compiler-specific. 2018-09-21 16:25:27 +02:00
kimkulling f818a909e5 Fix static-code-analysis findings. 2018-09-21 16:07:09 +02:00
arkeon7 6cea62142c
Merge branch 'master' into Manage_PCloud_in_Filters 2018-09-20 10:34:55 +02:00
Arkeon 9eeaf19eab Allow findDegenerate and SplitLargeMesh to pass point clouds models.
Otherwise the model is removed or crash
2018-09-20 10:31:32 +02:00
Kim Kulling 29496d877e
Merge branch 'master' into master 2018-09-17 19:58:11 +02:00
Kim Kulling 6ee9b07c49 closes https://github.com/assimp/assimp/issues/212: introduce unittest for line-splitter, will validate that the current behaviour is correct. 2018-09-16 17:13:34 +02:00
Kim Kulling 4e357d1ff4
Merge branch 'master' into master 2018-09-13 20:04:41 +02:00
Paul Arden 7911faf130 Fixed problem getting glTF 2.0 camera type, fixes #2138. 2018-09-13 16:04:04 +10:00
FRICOTEAUX d5de32ec1c FBX import: fix import of direct data by vertices + unify node renaming 2018-09-11 16:07:43 +02:00
Kim Kulling c1ed5e0048
Merge branch 'master' into assbin_test 2018-09-11 11:14:50 +02:00
Kim Kulling afd47d5ab6
Update AssbinLoader.cpp
Fix memory leak,
2018-09-11 09:12:28 +02:00
Kim Kulling 081365df48 Introduce simple export test for assbin. 2018-09-10 22:42:24 +02:00
Turo Lamminen c3d8464a37 Remove aiCreateAndRegisterDefaultMaterial, it's completely wrong 2018-09-10 16:41:12 +03:00
Kim Kulling c25a2dfc22 Assbin: add unittest. 2018-09-08 19:15:56 +02:00
Daniel Löber 2ee09b2528 Correct 3MF displaycolor import 2018-09-05 16:23:47 +02:00
Joe Schutte 640698ba57 Fix compile error that clang caught. 2018-09-03 13:22:46 -07:00
Kim Kulling d3f1f2337d Merge master 2018-09-03 21:59:08 +02:00
Kim Kulling b191754863 Merge branch 'master' into step-import 2018-09-03 21:59:00 +02:00
Joe Schutte 78fe5e7f04 Fix expensive memory allocation and memory copying occurring in obj files with a large number of meshes. 2018-09-03 11:33:56 -07:00
Kim Kulling 499f66f3cc Step: check step-files for import. 2018-09-02 13:04:52 +02:00
Kim Kulling a7306abcfe MDC-Loader: fix a possible nullptr access. 2018-08-31 19:29:17 +02:00
Kim Kulling dcfc505c4c
Merge branch 'master' into issue_1451 2018-08-28 19:44:46 +02:00
Kim Kulling aa8e32c509 closes https://github.com/assimp/assimp/issues/1451: break when assimp-bin format was exported with a different version. 2018-08-28 19:42:20 +02:00
Kim Kulling c75bc99902 Step-Importer: introduce new files. 2018-08-26 19:05:21 +02:00
Kim Kulling 09cf839188
Merge branch 'master' into master 2018-08-19 13:17:27 +02:00
gstanlo 74e8200a49
Merge branch 'master' into master 2018-08-17 14:12:15 -07:00
gstanlo 82f3d40d60 Fixes crash when importing invalid glTF/2.0 files
Skips some glTF/2.0 uv processing if the count of uvs in the attribute stream doesn't match the vertex count.

This happens with some malformed glTF/2.0 files, and the change will allow them to be processed properly.
Without the change, an access violation will occur several lines below if uv count is less than the position count.
2018-08-17 13:49:01 -07:00
Kim Kulling a16fb1e54c
Merge branch 'master' into master 2018-08-17 21:46:08 +02:00
Mike Feldstein 0ba57202f7 Use array delete command vs object delete since mMeshes is allocated with new[] 2018-08-16 13:56:35 -07:00
Kim Kulling f4e6d4bb9e
Merge branch 'master' into master 2018-08-16 19:02:20 +02:00
Jeka Vlasov 102486005d Fix memory leak on throw 2018-08-15 03:40:39 +03:00
Jeka Vlasov 2b15586e6b Replace memcpy_s with memcpy to fix build with gcc 4.8 2018-08-15 01:22:28 +03:00
Jeka Vlasov d25083dba9 Add point cloud support for OBJ importer 2018-08-13 00:18:12 +03:00
Kim Kulling dd8cf73415
Update BVHLoader.cpp
Fix compiler warning: not handled enum in switch.
2018-08-11 00:15:22 +02:00
Kim Kulling b3132bd8c2 FBX: some refactorings. 2018-08-10 01:57:11 +02:00
Kim Kulling c3d043e761 FBX: some refactorings. 2018-08-09 21:51:53 +02:00
Kim Kulling 43be7abb70 closes https://github.com/assimp/assimp/issues/2088: fix possible out-of-bound access in fbx-lerp operaation. 2018-08-09 20:48:25 +02:00
Gareth Morgan 8fba4ce7cf Support out of order channels 2018-08-08 15:22:10 -07:00
Kim Kulling 77980bf07c
Merge branch 'master' into master 2018-08-06 23:46:54 +02:00
Eddie James 5321e1036d Fix .obj displacement texture parsing
The string for an opacity texture is a substring of the displacement
texture string. Due to the nature of the string comparison in the
material texture parsing, any displacement textures will be incorrectly
assigned as opacity textures. Fix this by simply performing the check
for displacement texture before checking for opacity texture.
2018-08-04 16:36:04 -05:00
Kim Kulling 824399c5c4
Merge branch 'master' into Fix2077 2018-08-04 17:00:19 +02:00
Alexandre Avenel 3c37fbdc6b Remove try catch(...) on gltf2 importer
Better to throw exception than hide it ?
2018-08-04 12:47:37 +02:00
Alexandre Avenel ae0f82d5b7 Fix #2077 : GLTF segfault using triangle strip 2018-08-04 12:47:37 +02:00
Jesus Fernandez c2c44a831c Pass parameter by reference 2018-08-03 14:51:01 +02:00
Kim Kulling a65a7b6c81
Merge branch 'master' into master 2018-08-02 20:26:48 +02:00
FRICOTEAUX 92490eea01 Optimisation of FBX node name uniqueness 2018-07-30 17:27:03 +02:00
Sebastian Matusik b965e7a6dc FlipUVsProcess should also process AnimMeshes (if any) 2018-07-28 18:18:17 +01:00
Evgeniy cd061a0957
Merge branch 'master' into stl_format_issue_2064 2018-07-25 18:38:59 +03:00