Commit Graph

406 Commits (fdfb6e0660985a4d367b443ea4bb147906e675d0)

Author SHA1 Message Date
Kim Kulling fdfb6e0660
Merge branch 'master' into jakras-progress 2023-10-10 06:20:01 +00:00
Kim Kulling e5e3e07b84 Fix copyrights. 2023-09-23 18:35:48 +02:00
Kim Kulling bfc1207e78
Merge branch 'master' into jakras-progress 2023-08-30 20:51:23 +02:00
Aaron 0bfc588c39 Update Triangulate Process [more another case] 2023-08-15 18:01:16 +08:00
Jan Krassnigg 1e93280f47 Infrastructure for reporting progress
This commit adds two classes:
* ProgressTracker
* ProgressScope

The first is for users to implement, and to instantiate when they desire
to get informed about the overall progress.

The second is to be added to all functions that may take a considerable
amount of time, such that they can report back how far along they are.

These are much more convenient to use than the existing ProgressHandler.
ProgressScope is designed such that it only requires "local knowledge"
about upcoming and finished work. Scopes are nested and combined to
form the final global progress.

The active ProgressTracker is stored in a thread_local pointer.
This is a consicius decision since in assimp there is often no 'context'
passed through. The ProgressTracker may be needed anywhere, and it would
be tedious and a huge change to pass it through to every function.
Therefore, using a thread_local variable makes it accessible everywhere,
without a major interface change. Since assimmp is single-threaded,
but may be run in parallel on multiple threads, a thread_local is a
good trade-off, in my opinion.

This change only adds few uses of ProgressScope, to generally show how
it would be used. Also for our use cases these where the most pressing
places to add progress reporting, so this already covers loading from FBX
files pretty well.
2023-08-01 14:06:12 +02:00
Marco Feuerstein 52e5c3f39e Fix violation of strict aliasing rule. 2023-07-21 09:48:45 +02:00
Marco Feuerstein 0e7cd18c8b Strip aws gcs version string. 2023-07-14 09:37:48 +02:00
Kim Kulling e2b19ef776
Merge branch 'master' into file_extension 2023-07-10 11:19:27 +02:00
Marco Feuerstein 87cac888e4 More simplifications. 2023-07-08 12:58:11 +02:00
Marco Feuerstein bdde968677 Address reviewer comment. 2023-07-08 12:58:11 +02:00
Marco Feuerstein 506baa21e6 Unify extension check for importers.
This enables proper checking for all kinds of extensions (including the
ones with multiple dots) for all importers and internal usage.
2023-07-08 12:58:11 +02:00
Marco Feuerstein 0256047168 Extend token search flag from alpha to graph.
This way we can fix Blender exported files being wrongly detected as
obj files.
2023-07-08 12:57:45 +02:00
Alex b3a1c72c8f Fix Heap-buffer-overflow READ in Assimp::FileSystemFilter::Cleanup 2023-06-14 07:40:28 +02:00
Kim Kulling f43cfa1fba
Merge branch 'master' into msvc-clang-unused-function 2023-05-24 23:23:40 +02:00
Samuel Kogler 0fbd2f5894
Merge branch 'master' into fix-pbrt-exporter 2023-05-24 15:24:46 +02:00
Kim Kulling 94905d445f
Revert usage of unique_ptr - error. 2023-05-15 16:06:02 +02:00
Kim Kulling 71a4977dd1
Fix: Try unique_ptr 2023-05-15 15:46:21 +02:00
Kim Kulling 8ad4bb0b2c
Update StackAllocator.inl 2023-05-15 15:09:54 +02:00
Kim Kulling b5b6400320
Fix: Use vector. 2023-05-15 15:08:52 +02:00
Kim Kulling aed43878ef
Merge branch 'master' into FlorianBorn71-SmallAllocationFixInFBXLoader 2023-05-15 14:28:46 +02:00
Kim Kulling ad399adf4b
Add missing include 2023-05-15 13:19:02 +02:00
Kim Kulling e627f691a8 Merge branch 'SmallAllocationFixInFBXLoader' of https://github.com/FlorianBorn71/assimp into FlorianBorn71-SmallAllocationFixInFBXLoader 2023-05-15 09:30:57 +02:00
Lutz Hören 9ea37b5330 copy aiMetadata objects in scene combiner 2023-05-11 08:00:25 +02:00
Jackie9527 fbf8799cb5 Fix warning related to unused-function.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-05-03 23:02:38 +08:00
Samuel Kogler 55cb19f924 Fix PBRT exporter coordinate system
Was just mirroring the x axis. This uses aiProcess_ConvertToLeftHanded and
rotates the root node to match PBRT.

The problem is apparent when using an environment map texture.
2023-05-03 16:52:33 +02:00
Kim Kulling 71366fff8e
Merge branch 'master' into msvc-clang-inconsistent-missing-destructor-override 2023-04-26 09:31:55 +02:00
Kim Kulling e6f26fc52e
Remove dead code. 2023-04-04 12:54:26 +02:00
Jackie9527 7df4efea44 Fix warning related to inconsistent-missing-destructor-override.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-04-01 21:49:38 +08:00
Sven Liedtke 5cf9d3abf7 std::getenv is not supported using uwp 2023-04-01 01:02:21 +02:00
Kim Kulling e394bda707
Merge branch 'master' into 1-1922 2023-03-17 09:37:37 +01:00
Kim Kulling 2acfc125c3 Refactoring: Make GeoUtils reusable 2023-03-14 20:03:14 +01:00
Turo Lamminen f3767a4eb2 Use unordered_map for subdivision process edge map 2023-03-09 14:33:43 +02:00
Jackie9527 437958ef91 bugfix fails to check if point in triangle.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-02-25 19:40:24 +08:00
Kim Kulling b170370e5c Fix: Fix memleak when exiting method by exception 2023-02-08 21:29:54 +01:00
Kim Kulling f830d7998e
Merge branch 'master' into clean-up-ctors-dtors 2023-01-23 21:21:34 +01:00
Krishty 36305cf987 Tidy Up Constructors and Destructors
This commit does not add or remove c’tors or d’tors, so it is *not* ABI-breaking.

If a c’tor/d’tor does nothing else than the default behavior, this commit replaces it with “= default”.

If an initializer list entry does nothing else than the default behavior, this commit removes it. First and foremost, remove default c’tor calls of base classes (always called by the compiler if no other base c’tor is explicitly called) and c’tor calls of members with complex types (e.g. “std::vector”).

In a few instances, user-defined copy c’tors / move c’tors / assignment operators / move assignment operators were replaced with “= default”, too. I only did this if I had a clear understanding of what’s going on.
2023-01-16 21:47:11 +01:00
Krishty 3d3e856925 Trim Trailing Whitespace 2023-01-16 09:12:35 +01:00
Kim Kulling a8e50be781 Refactoring: Move asserthandler header to include 2022-12-23 16:19:39 +01:00
Kim Kulling fec39154ed
Merge branch 'master' into floatwarnings 2022-12-08 14:18:35 +01:00
Kim Kulling 769b47ed0e
Ensure face pointer is not nullptr
- closes https://github.com/assimp/assimp/issues/4831
2022-12-08 09:35:11 +01:00
Gargaj 9c839f2d9a more fixes 2022-12-03 20:44:57 +01:00
Gargaj 07d4e83f43 fix warnings-as-errors for msvc x64 2022-12-03 20:27:00 +01:00
Aaron Gokaslan ccfb175460 Apply various clang-tidy checks for smartprs and modern C++ types 2022-11-08 11:03:55 -05:00
Povilas Kanapickas f6a590065c Prefix symbols from stb_image.h
This makes it possible to link assimp statically into an executable with
another static library that includes stb_image.h without hiding its
symbols.
2022-09-23 04:08:21 +03:00
Povilas Kanapickas 22494bde17 Don't include stm_image implementation if using stb library from Hunter
Hunter compiles its own stb library binaries. Currently a second copy is
compiled by defining STB_IMAGE_IMPLEMENTATION in Assimp.cpp. This may
cause hard to understand bugs if this compiled copy ever becomes
different from what Hunter supplies.
2022-09-23 04:08:20 +03:00
Kim Kulling e4c77aa4fa Fix: Use ASCII treeview in assimp-cmd. 2022-09-16 21:55:14 +02:00
Aaron Gokaslan 20755f4200 Perfect forward val to utMaybe 2022-09-09 10:55:45 -04:00
Kim Kulling 7b874983d0
Merge branch 'master' into SmallAllocationFixInFBXLoader 2022-09-08 20:15:52 +02:00
Kim Kulling 3af53a42aa
Fix typo 2022-09-08 19:06:05 +02:00
Kim Kulling fff977c0b5
Fix review findings. 2022-09-08 18:54:08 +02:00