Commit Graph

12528 Commits (7fe7d4a779764fa4a7e52d77160fb8988471729d)

Author SHA1 Message Date
mosfet80 64d88276ef
updated minizip to last version (#5498)
Version 1.3.1 has these key changes:

Reject overflows of zip header fields in minizip
Fix bug in inflateSync() for data held in bit buffer
Add LIT_MEM define to use more memory for a small deflate speedup
Fix decision on the emission of Zip64 end records in minizip
Add bounds checking to ERR_MSG() macro, used by zError()
Neutralize zip file traversal attacks in miniunz
Fix a bug in ZLIB_DEBUG compiles in check_match()
Version 1.3 has these key changes:

Building using K&R (pre-ANSI) function definitions is no longer supported.
Fixed a bug in deflateBound() for level 0 and memLevel 9.
Fixed a bug when gzungetc() is used immediately after gzopen().
Fixed a bug when using gzflush() with a very small buffer.
Fixed a crash when gzsetparams() is attempted for a transparent write.
Fixed test/example.c to work with FORCE_STORED.
Fixed minizip to allow it to open an empty zip file.
Fixed reading disk number start on zip64 files in minizip.
Fixed a logic error in minizip argument processing.

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-09 00:08:38 +02:00
Alex Rønne Petersen b8aa68a080
CMake: Allow linking draco statically if ASSIMP_BUILD_DRACO_STATIC is set. (#5535)
* CMake: Mark draco as a private dependency since assimp does not publicly expose its interface.

* CMake: Allow linking draco statically if ASSIMP_BUILD_DRACO_STATIC is set.
2024-04-08 23:28:37 +02:00
Kim Kulling 8b9ed34eaa
Update CMakeLists.txt (#5531)
* Update CMakeLists.txt

* Update Version.cpp

* Update CMakeLists.txt

Update minimum version of cmake

* Update utVersion.cpp

Adapt unittest
2024-04-07 23:14:12 +02:00
Kim Kulling b41ffa5561
Remove default destructor definitions from cpp files (#5528) 2024-04-07 21:42:52 +02:00
mosfet80 4a3e0e46ac
updated json (#5501)
fix https://github.com/Tencent/rapidjson/issues/1448

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-07 21:24:57 +02:00
Tom Heaton 1f920ee1fe
Update matrix4x4.h (#5507)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-07 20:16:48 +02:00
mosfet80 778ce90a04
Update hunter into CMakeLists.txt (#5505)
Update 'CURL' to v8.5.0 
Update 'xxHash' to v0.8.2 
Update 're2' to v2023.03.01 
docs: Add SHA1 calculation onliner and fix sums 
docs: fix URLs for FunctionalPlus and PocoCpp 
ceres-solver: update to 2.2.0-p2 with SuiteSparse v7.5.1-1 
SuiteSparse: update to v7.5.1-1

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-07 16:49:55 +02:00
Alejandro González 790aad4b62
Add macOS support to C4D importer (#5516)
The latest Cineware SDK explicitly asserts macOS support in its
documentation, but Assimp's C4D importer only works with Windows MSVC
targets. Let's improve its portability by refactoring importer code to
not depend on MSVC-only data types and quirks, and add support for linking
against the universal macOS static libraries provided in the Cineware
SDK.

Note that the C4D importer still cannot support Linux platforms because
Maxon does not provide the necessary precompiled Cineware libraries for
that platform. Windows MinGW targets are also out of the question as the
MinGW toolchain uses compiled libraries in a different format.

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-07 00:25:46 +02:00
RoboSchmied 52c2b6896a
Fix 16 typos (#5518)
Signed-off-by: RoboSchmied <github@roboschmie.de>
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-06 21:26:32 +02:00
Oleg Ivanov 9d11b220eb
Fix utDefaultIOStream test under MinGW (#5525) 2024-04-06 12:48:28 +02:00
Julian Knodt 39ce0c0456
Respect merge identical vertices in ObjExporter (#5521)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-02 18:31:19 +02:00
Kristjan Skutta feb861f17b
Fix duplicate degrees to radians conversion in fbx importer. (#5427)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-03-22 00:01:57 +01:00
mosfet80 730aa9d0b7
Delete packaging/windows-mkzip directory (#5492)
Removed unused files

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-03-20 11:15:03 +01:00
mosfet80 072320df4f
Delete tools/make directory (#5491)
Delete old .bat files

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-03-18 23:24:51 +01:00
Kim Kulling fcb1444b84
Add correction of fbx model rotation (#5494) 2024-03-17 17:46:28 +01:00
Laura Hermanns 727774f181
Fix compilation for MSVC14. (#5490)
- std::min/max were not defined in StackAllocator.inl; Also added explicit template arguments to break macro expansion if Windows.h is included prior and NOMINMAX macro is not present.
- Made static_assert statements compatible with C++11 in ProcessHelper.cpp.
- Removed unused string_view include in ObjFileParser.cpp.
2024-03-11 09:09:23 +01:00
Bao Anchang bb9101ae9e
Eliminate non-ascii comments in clipper (#5480) 2024-03-04 09:18:08 +01:00
sSsA01 f95050e7aa
Append a setting "AI_CONFIG_EXPORT_FBX_TRANSPARENCY_FACTOR_REFER_TO_OPACITY". (#5450)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-27 20:26:13 +01:00
Kim Kulling 01231d0e60
Add 2024 to copyright infos (#5475) 2024-02-23 22:30:05 +01:00
Kim Kulling 0664882763
Add zlib-header to ZipArchiveIOSystem.h (#5473)
- closes https://github.com/assimp/assimp/issues/5430
2024-02-23 11:30:37 +01:00
Kim Kulling 4d6dd80257
Add correct double zero check (#5471)
* Add correct double zero check

* Use std::fpclassify
2024-02-22 13:58:25 +01:00
Kim Kulling 94bc568d13
Include defs in not cpp-section (#5466)
- closes https://github.com/assimp/assimp/issues/5428
2024-02-16 15:21:49 +01:00
Adam Mizerski 4b9f46dbda
ColladaParser: check values length (#5462)
* ColladaParser: check values length

fixes: #4286

* Refactor calculation of size for data

---------

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-15 13:07:00 +01:00
Séverin Lemaignan a3708e3464
Add ISC LICENSE file (#5465) 2024-02-14 08:32:32 +01:00
Emily Banerjee ff5b0ae575
Fix PyAssimp under Python >= 3.12 and macOS library search support (#5397)
* Fix PyAssimp under Python >= 3.12

* Make PyAssimp search DYLD_LIBRARY_PATH under macOS

---------

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-08 20:46:36 +01:00
fvbj 2d98f6a880
Fix identity matrix check (#5445)
* Fix identity matrix check

Adds an extra epsilon value to check the matrix4x4 identity. The method is also used to export to GLTF/GLTF2 format to check node transformation matrices. The epsilon value can be set using AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON with the default value set to 10e-3f for backward compatibility of legacy code.

* Fix type of float values in the unit test

* Update matrix4x4.inl

Fix typo

* Update matrix4x4.inl

Remove dead code.

* Add isIdentity-Test

* Update AssimpAPITest_aiMatrix4x4.cpp

---------

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-06 21:24:41 +01:00
Julian Knodt c877a15140
`Blendshape`->`Geometry` in FBX Export (#5419)
When loading a mesh exported from assimp into Blender, it warns that it has an incorrect class.
While debugging, I traced it back to this being `Blendshape` where `Geometry` was expected. This
is likely because this node describes a `Geometry`, which is used as a blendshape. I'm not sure
if any other DCC tools or places to import it expect `Blendshape` instead (i.e. was this code
ever tested?), but it fixes its use in Blender.

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-05 16:55:00 +01:00
mosfet80 1164844ce4
Update CMakeLists.txt (#5379)
* Update CMakeLists.txt

Silence warnings when building with CMake 3.27 by @hjmallon in #717
update gate submodule with fixed CMake 3.27 deprecation warnings as well
glog: add version 0.6.0 and disable new dependencies by @NeroBurner in #719
ceres-solver: update to v2.2.0-p1 by @NeroBurner in #720
Update 'GTest' to v1.14.0 by @hjmallon in #705
Update 'pybind11' to v2.11.1 by @hjmallon in #706
ceres-solver: update to v2.2.0-p0 and fix examples by @NeroBurner in #703
Eigen: explicitly disable Fortran usage by @NeroBurner in #704
OpenSSL: Fix v3 version parsing by @hjmallon in #707
Update 'Boost' to 1.83 by @hjmallon in #708
Update 'OpenSSL' to v3.0.12 and v3.1.4 by @hjmallon in #710
Update 'abseil' to 20230802.1 by @hjmallon in #711
Update 'benchmark' to v1.8.3 by @hjmallon in #712
Update 'sqlite3' to v3.43.2 by @hjmallon in #716
Update 'CURL' to v8.4.0 by @hjmallon in #663
CI: remove macos-10.15 jobs as the macos-10.15 runners are removed by @NeroBurner in #695
ZLIB: update to version v1.3.0-p0 by @NeroBurner in #693
miniz: update to v3.0.2 by @NeroBurner in #692
Update fmt package to 10.1.1 by @JamesEggleton in #697
Update spdlog package to 1.12.0-p0 by @JamesEggleton in #699
Update zstd package to 1.5.5 by @JamesEggleton in #700
SuiteSparse: update to 1.8.0 / 5.4.0-2 by @NeroBurner in #702
OpenCV, Extra, ippicv: update to v4.8.1-p0 by @NeroBurner in #696
hunter_setup_msvc: tolower to fix arm64 vs ARM64 confusion by @NeroBurner in #681
Add various recent LLVM versions by @mrexodia in #517
Update fmt package to 9.1.0 by @apivovarov in #683
Update asio-grpc to v2.6.0 by @Tradias in #686
#685 Minimum cmake version required now 3.5 by @john-forrest in #689

* Update CMakeLists.txt

* Update CMakeLists.txt

---------

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-05 15:40:52 +01:00
dependabot[bot] a8c8e75a17
Bump actions/cache from 3 to 4 (#5431)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-05 15:10:36 +01:00
Florian Born f59a5fab1a
More GLTF loading hardening (#5415)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-04 21:23:31 +01:00
Galen Xiao b7b6601a75
feat:1.add 3mf vertex color read 2.fix 3mf read texture bug (#5361)
* feat:1.add 3mf vertex color read 2.fix 3mf read texture bug

* fix checks failed

* Trigger CI

---------

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-04 20:23:07 +01:00
Stephen Gold bc6673b4b2
Fileformats.md: clarify that import of .blend files is deprecated (#5350)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-04 19:06:07 +01:00
Steve M 005399a671
Fix X importer breakage introduced in commit f844c33 (#5372)
* Update XFileImporter.cpp

Comment out boneIdx conditional which caused massive breakage

* Update XFileImporter.cpp

Fix typo

* Update XFileImporter.cpp

Dummy whitespace change to attempt to re-trigger failing CI tests

---------

Co-authored-by: Steve M <praktique-tellypresence@yahoo.com>
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-04 10:38:07 +01:00
Kim Kulling 3990ec80a1
Kimkulling/fix bahavior of remove redundat mats issue 5438 (#5451)
* Fix crash in viewer

* Fix bevavior when material was not referenced
2024-02-01 21:27:04 +01:00
Kim Kulling 3476c79801
Static code analysis fixes (#5447)
* Static code analysis fixes

- Fix warning in LOW

* Fix possible out of bound access.

* Add default to class declaration
2024-01-31 09:30:54 +01:00
Kim Kulling f956351942
Fix crash in viewer (#5446) 2024-01-30 22:14:18 +01:00
Kim Kulling c08e3b4abb
Add bounds checks to the parsing utilities. (#5421)
* Add bounds checks to the parsing utilities.

* Fix merge conflicts in ACLoader.

* Fix loaders

* Fix unittest of AC-Loader.

* Remove dead code.

* Md5Parser fixes

* Fix md5-parsing

* Fix Merge conflict

* Fix merge conflicts.

* Md5: Fix warning: missing return statement.
2024-01-30 14:32:41 +01:00
Kim Kulling d5f35582d4 Introduce aiBuffer
We have a lot of parsing tools which are not doing any kind of bound checking. This is the first approach to solve these issues.
2024-01-30 10:43:03 +01:00
tigertang a02085ea98 Update StbCommon.h to stay up-to-date with stb_image.h.
This enables C++ API users to statically link Assimp into their projects along with stb_image.
2024-01-29 13:52:54 +01:00
Kim Kulling a8d30f7e91 Update DXFLoader.cpp
revert it
2024-01-27 12:14:35 +01:00
Kim Kulling c6fe03f7a5 Update DXFLoader.cpp
- Use constexpr instead of const.
2024-01-27 12:14:35 +01:00
seanth 8cde65bfe8 Updated AIC table
The previous table was in an incorrect order, leading to index references in DXF producing the wrong colours when converted.

Also added other entries to bring the total number of ACI colours up  to the number that can be used in DXF files
2024-01-27 12:14:35 +01:00
seanth 240fa97fed Update DXFLoader.cpp
Changed order of operations for insert positioning and scaling. Need to position the inserts before scaling it, otherwise the position ends up up being position*scale
2024-01-27 12:14:35 +01:00
seanth 727001b0ca Update DXFLoader.cpp
Edited out line suspected to be causing changes in position when changes in scale are made to inserted BLOCKS
2024-01-27 12:14:35 +01:00
julianknodt bdc08dd4a9 Encode full weight as double 2024-01-27 10:10:28 +01:00
Stephen Gold ac29847d56 Readme.md: present the web links in a more uniform style 2024-01-12 10:59:34 +01:00
Robert Reif 81c20a5c61 Improve acc file loading
Add warning and support for tolerating a common problem where objects have wrong kid count.
Add support for empty texture layers.
2024-01-09 21:13:13 +01:00
Andre Schulz 74af43f655 Add unit test for X3D IndexedLineSet
Unit test for issue #3101

Thanks to @mvidiassov for the X3D test file!
2024-01-09 20:55:51 +01:00
Andre Schulz 9d71a275c3 X3D: Don't convert IndexedLineSet polylines with > 2 indices to triangles/polygons
Currently, when the coordIndex attribute of an IndexedLineSet contains a
polyline with > 2 indices, X3DGeoHelper::coordIdx_str2faces_arr() will
incorrectly determine the primitive type to be aiPrimitiveType_TRIANGLE or
aiPrimitiveType_POLYGON instead of aiPrimitiveType_LINE.

To fix this, this commit adds functions to explicitly handle an IndexedLineSet.

Fixes #3101
2024-01-09 20:55:51 +01:00
Kim Kulling c8ca1a48ec Update Dockerfile
- closes https://github.com/assimp/assimp/issues/5403
2024-01-08 10:18:16 +01:00