lsnoel
8d1256f472
Comments about winding order fix for gen normals
2023-01-20 14:55:06 +00:00
Kim Kulling
d331a7e5d4
Merge branch 'master' into fix-build-without-armaturepopulate-post-process
2023-01-20 13:52:13 +01:00
lsnoel
eb5d3c51e8
Correctly consider aiProcess_FlipWindingOrder AND aiProcess_MakeLeftHanded when generating normals
2023-01-19 16:46:29 +00:00
Krishty
72f360710a
Fix MSVC Warnings With “emplace_back()”
...
Several places in the code call `std::vector<aiVector3D>.emplace_back(0, 0, 0)`. The constructor of `aiVector3D` actually expects arguments of the type `ai_real`, (alias of `float` if compiling without `ASSIMP_DOUBLE_PRECISION`) but the literal `0` is of type `int`.
`emplace_back()` does support promotion, but `int` to `float` is a potentially lossy conversion. tl;dr: On warning level 4, MSVC spits out a very deeply nested `warning C4244: 'argument': conversion from '_Ty' to 'TReal', possible loss of data with _Ty=int and TReal=ai_real`.
2023-01-18 00:08:38 +01:00
shimaowo
20acfeaf97
Merge branch 'master' into fix_gltf2_camera_fov
2023-01-17 14:39:54 -08:00
shimaowo
b298b79a46
add missing parens
2023-01-17 10:53:41 -08:00
Martin Mory
7f6e96747b
Merge branch 'master' into f-FixWhitespaceBetweenTagAndNum
2023-01-17 13:32:39 +01:00
Martin Mory
a89d5c7cea
Merge branch 'master' into f-FixWhitespaceBetweenTagAndNum
2023-01-17 12:10:46 +01:00
Kim Kulling
e9f95e5ab6
Merge branch 'master' into fix-build-with-m3d-import-only
2023-01-17 11:22:00 +01:00
Kim Kulling
19dec716d3
Merge branch 'master' into fixJoinVerticesProcess
2023-01-17 09:11:43 +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
43a062a5d7
Remove Stray Semicolon
2023-01-16 20:45:00 +01:00
shimaowo
39cbef1e21
Fix: fix incorrect math for calculating the horizontal FOV of a perspective camera in GLTF2 import #4435
2023-01-16 11:39:13 -08:00
Krishty
3d3e856925
Trim Trailing Whitespace
2023-01-16 09:12:35 +01:00
Krishty
793284a766
Fix Build Without ArmaturePopulate Post Process Step
...
This post process step introduced new attributes into `aiSkeletonBone`. Said attributes are only defined with the process enabled, i.e. when the `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` macro has not been defined.
Some code, however, accessed the variables unconditionally, leading to build failures if `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` was defined.
This commit adds the missing checks.
2023-01-16 08:42:50 +01:00
Krishty
5cbc00a595
Fix Build With M3D Import Only
...
`M3DWrapper.h` is designed to omit the definition of `class M3DWrapper` if neither M3D import nor M3D export are compiled.
608bccd9cf
touched the corresponding preprocessor checks and introduced a bug:
```
#ifndef ASSIMP_BUILD_NO_M3D_IMPORTER
#if !(ASSIMP_BUILD_NO_EXPORT || ASSIMP_BUILD_NO_M3D_EXPORTER)
class M3DWrapper {
```
When compiling
- with M3D import enabled,
- but with either export generally disabled or M3D export disabled specifically,
These checks evaluate to the wrong result and skip the definition, leading to a build failure in dependent code.
```
#if 1 // import enabled
#if !(1 || 1) // export disabled and M3D export disabled
```
This commit fixes the check to compile the definition if neither import is disabled.
2023-01-16 08:29:49 +01:00
Krishty
bad76fd0f1
Replace Variables With Literals
2023-01-16 08:18:36 +01:00
Krishty
e5c02e8d45
Remove Useless “virtual”
...
These functions are already marked “override”, and their neighbors had “virtual” removed as well.
2023-01-16 08:12:24 +01:00
Martin Mory
43c0f8bb3d
Remove whitespace between a <v> tag and the first number, otherwise first call to strtoul10() returns 0 and the indices are broken, leading to possible out-of-bound access and memory corruption/crash
2023-01-15 23:03:41 +01:00
Kim Kulling
2d37f49f51
Remove deprecated comment
...
- closes https://github.com/assimp/assimp/issues/4869
2023-01-15 19:12:24 +01:00
Daniel Rösner
74af523b3e
Generalize JoinVerticesProcess for multiple UV and color channels
2023-01-12 13:13:46 +01:00
Kim Kulling
b393132b58
Merge branch 'master' into spelling
2023-01-08 17:43:55 +01:00
Kim Kulling
96b071bdb1
Fix: Fix possible division by zero
...
- closes https://github.com/assimp/assimp/issues/4860
2023-01-04 09:19:37 +01:00
Andy Maloney
e893248e7c
Fix several spelling mistakes & a comment
2023-01-01 13:31:48 -05:00
Kim Kulling
a8e50be781
Refactoring: Move asserthandler header to include
2022-12-23 16:19:39 +01:00
Kim Kulling
376f66a06d
Merge branch 'master' into master
2022-12-16 10:11:56 +01:00
Kim Kulling
c3d15a3f51
Fix minor review findings.
2022-12-16 09:03:40 +01:00
Kim Kulling
c92b84e38d
Merge branch 'master' into patch-10
2022-12-16 09:00:41 +01:00
Kim Kulling
db8ff41679
Update MD5Parser.cpp
2022-12-15 14:06:57 +01:00
Kim Kulling
2612950b7b
Merge branch 'master' into patch-9
2022-12-15 14:05:35 +01:00
sashashura
917352dd8b
Fixes Heap-buffer-overflow READ 1 in Assimp::ObjFileParser::getFace
...
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49274
2022-12-11 01:54:57 +01:00
Alex
90769ef3e6
Fixes Heap-buffer-overflow READ 1 in Assimp::MD5::MD5Parser::ParseHeader
...
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49422
When it reaches the `SkipSpacesAndLineEnd`, `in` already points past `bufferEnd` and it leads to out of bounds memory read.
2022-12-11 00:02:09 +00:00
Alex
d5294be00b
Fixes Heap-buffer-overflow READ 4 in Assimp::ScenePreprocessor::ProcessMesh
...
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49797
2022-12-10 01:22:00 +00:00
Umesh Rajesh Ramchandani
2d372b302f
Fixed bug when exporting binary FBX
...
Fixed vector subscript out of range bug when NULL_RECORD is passed to PutString and is actually null
2022-12-08 14:59:25 +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
Kim Kulling
9d57ac9cc5
Fix:Add missing semicolon.
2022-12-05 13:15:42 +01:00
Kim Kulling
81f85a6f93
Avoid undefined-shift in Assimp::ASE::Parser::ParseLV4MeshFace.
2022-12-05 13:07:52 +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
Kim Kulling
62486c6e7c
FIX: Fix possible division by zero
...
- closes https://github.com/assimp/assimp/issues/4819
2022-12-02 09:24:51 +01:00
Kim Kulling
f578b15759
Merge branch 'master' into explspec
2022-11-30 14:03:09 +01:00
Thomas Köppe
7d06d798af
[BlenderDNA.h] Declare explicit specializations
...
It is an ODR violation to use a template specialization for which an
explicit specialization is defined somewhere whose declaration is not
visible at the point of use.
Found via clang's -Wundefined-func-template warning.
2022-11-29 18:38:33 +00:00
Kim Kulling
8fb7ba3444
Merge branch 'master' into modernize-smartptrs-literals
2022-11-29 09:58:17 +01:00
Kim Kulling
5689ac7869
Add overfolow check for invalid data.
...
- closes https://github.com/assimp/assimp/issues/3422
2022-11-22 10:50:52 +01:00
Kim Kulling
1d1cd93371
Merge branch 'master' into KHR_materials_emissive_strength
2022-11-21 20:55:13 +01:00
Jan Krassnigg
08f2f0f82f
Don't hide out-of-memory during FBX import
2022-11-18 13:50:33 +01:00
Adam Beili
95d98ec98b
fixed indentation error
2022-11-08 20:55:20 +02:00
Adam Beili
49bc22ddb5
Merge branch 'master' into KHR_materials_emissive_strength
2022-11-08 20:51:20 +02:00
Aaron Gokaslan
3730b7414f
Use make_shared in IFCBoolean
2022-11-08 11:30:53 -05:00
Aaron Gokaslan
d635bc6914
Fix some indentation
2022-11-08 11:19:12 -05:00
Aaron Gokaslan
ccfb175460
Apply various clang-tidy checks for smartprs and modern C++ types
2022-11-08 11:03:55 -05:00
Aaron Gokaslan
97cb1c6b15
Fix perfect fowards
2022-11-07 11:01:16 -05:00
Aaron Gokaslan
5a0df03d2b
Fix another missing move in glTFCommon.h
2022-11-07 09:34:00 -05:00
Adam Beili
945d93b46a
fixed indentation
2022-11-04 09:37:28 -07:00
Adam
852ea8325c
Added support for KHR_materials_emissive_strength
...
according to spec https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_emissive_strength
2022-11-03 23:11:21 +02:00
Aaron Gokaslan
899f8e1d17
Remove redundant ctor
2022-11-03 12:46:40 -04:00
Aaron Gokaslan
02378b5e70
Add one more missing move
2022-11-03 12:36:58 -04:00
Aaron Gokaslan
8da3d277c7
add missing std moves
2022-11-03 12:35:10 -04:00
Kim Kulling
99e515fbfd
Fix:Fix possible nullptr dereferencing + refactorings.
2022-10-29 17:08:26 +02:00
Sergey
ac87b9ce7e
fixed error with trailing zero symbol as placeholder character
2022-10-19 09:30:32 +03:00
Kim Kulling
35136bc90c
Merge branch 'master' into master
2022-10-18 19:25:14 +02:00
Kim Kulling
07aef23d24
Fix: Add missing ahndling for double export in json
2022-10-18 19:05:04 +02:00
François Lozes
e17976e6e2
* fix bug reading ply file in case of presence of "end_header\n<BINARY_DATA>..." with <BINARY_DATA> starting by "\n"
2022-10-14 13:16:18 +02:00
slinky55
e0fb1674d1
Merge branch 'clang-fix' of github.com:slinky55/assimp into clang-fix
2022-09-30 22:04:11 -04:00
slinky55
38ccb7e6c9
Used sizeof for buffer sizes instead of hardcoding values
2022-09-30 22:03:59 -04:00
slinky55
5f28370f7f
Merge branch 'master' into clang-fix
2022-09-30 21:57:32 -04:00
slinky55
e2e45f7a14
Fixed issue with clang complaining about sprintf being depreciated
2022-09-30 00:34:33 -04:00
Kim Kulling
981677d4b9
Merge branch 'master' into MakeFBXParserResilientToMissingStreams
2022-09-30 00:13:45 +02: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
Florian Born
7eb9edf0b9
Make FBX parser resilient to missing data streams
2022-09-21 11:45:54 +02:00
Kim Kulling
6415c0bfc9
FIX: Use attribute to fix warning.
2022-09-20 21:39:09 +02:00
Kim Kulling
1f61f0c3de
FIX: Caculate buffer end pointer after initing all attributes
2022-09-20 21:35:44 +02:00
Kim Kulling
f1766c4bd5
FIX: Fix head overflow in MD5-parser.
2022-09-20 21:03:58 +02:00
Kim Kulling
b3c7bdbdd6
Add check for wall switch from cmake
2022-09-17 18:16:42 +02: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
ad1d0fcb45
Merge branch 'master' into kimkulling/cleanup_after_review
2022-09-08 19:09:49 +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
HiMemX
4c9d270a5e
-Vertex export fix
2022-09-07 23:10:31 +02:00
Kim Kulling
8895ecf243
Merge branch 'master' into kimkulling/cleanup_after_review
2022-09-07 21:26:54 +02:00
Kim Kulling
362ff08855
Add doc + small unittest
2022-09-07 21:25:46 +02:00
Gargaj
d15b4ad7ef
add missing light data to assbin import/export
2022-09-05 16:09:24 +02:00
Kim Kulling
2a667cc637
Merge branch 'master' into patch-1
2022-09-04 09:52:42 +02:00
Aaron Gokaslan
411171fa45
Apply some more modernize-use-emplace
2022-09-02 11:20:02 -04:00
Aaron Gokaslan
e3b01e10db
apply fixes to more headers
2022-09-01 12:28:45 -04:00
Aaron Gokaslan
4c6652f5b0
Add a handful of missing fixes
2022-09-01 11:37:53 -04:00
Gargaj
a22aa75bca
fix vertices being joined duplicating weights
...
This bug causes weights to duplicate, i.e. one bone will have several (equal) weights assigned to the same vertex - which then has the potential to cause even bigger problems when combined with `LimitBoneWeightsProcess`.
2022-08-31 22:27:34 +02:00
Kim Kulling
f527e56f22
Merge branch 'master' into explicitly-default-dtors
2022-08-30 22:21:06 +02:00
Kim Kulling
80ae9afe4e
Add missing documentation.
2022-08-30 21:55:52 +02:00
Kim Kulling
25d7510b8c
Merge branch 'master' into kimkulling/cleanup_after_review
2022-08-29 22:17:39 +02:00
Kim Kulling
e34becff62
Enable portable linkage to fix build
2022-08-29 11:43:32 +02:00
Kim Kulling
0571ee21fb
Introduce unittest for BaseProcess.
2022-08-28 20:58:52 +02:00
Kim Kulling
02e6c425f9
Fix ordering of initalizer list
2022-08-27 15:20:53 +02:00
Kim Kulling
e4c383324a
Use string for constexpr
2022-08-27 15:11:54 +02:00
Kim Kulling
14186bcd6b
Code cleanup and some new unittests for edgecases.
2022-08-27 14:07:45 +02:00
J.G.Adams
9cd723e282
Wrong object is created here!
...
If I'm not mistaken. Because this is originally push_back(aniMeshVertex) instead of push_back(v).
And the fact that aniMeshVertex is just getting created and destroyed for nothing.
It need to be replaced with this then? A Clang-tidy syntax to create the same aniMeshVertex.
I found this in pull request #4527 I think it may need to be reviewed too.
2022-08-26 19:12:11 -04:00
Aaron Gokaslan
e93fa6699a
Manually fix up 100 more instances where it should be defaulted
2022-08-25 12:20:13 -04:00
Aaron Gokaslan
6fa21dcc6e
Explicitly default all empty dtors
2022-08-25 11:32:59 -04:00
Kim Kulling
2b30b7e062
Merge branch 'master' into skylion007/modernize-use-emplace
2022-08-24 11:48:30 +02:00
Kim Kulling
659195d852
Fix the fixme
...
- Based on the implementation in top of the last one I guess I know how to fix that.
- Replacing push_back by emplace_back
2022-08-24 11:17:10 +02:00
Turo Lamminen
0d8723a3eb
Add FIXME comment
2022-08-24 10:43:40 +03:00
Turo Lamminen
654ae3af4e
Fix out of bounds access in X3D loader
2022-08-24 10:42:01 +03:00
Aaron Gokaslan
25add7baa2
Merge branch 'master' into skylion007/modernize-use-emplace
2022-08-23 15:14:48 -04:00
Kim Kulling
87f601531c
Merge branch 'master' into master
2022-08-23 21:14:45 +02:00
Aaron Gokaslan
b176061c41
Remove extra space in emplace insertions
2022-08-23 11:46:30 -04:00
Aaron Gokaslan
27edb43600
Apply modernize-use-emplace clang-tidy rule
2022-08-23 11:41:49 -04:00
Turo Lamminen
f890bc791f
Fix out of bounds write
2022-08-23 14:38:27 +03:00
Turo Lamminen
68bc6a06b9
Use unique_ptr for aaiBones instead of explicit delete[]
2022-08-23 14:17:56 +03:00
Turo Lamminen
03397d42e2
Use unique_ptr for aaiFaces instead of explicit delete[]
2022-08-23 14:15:06 +03:00
Turo Lamminen
795c0abcc8
Apply modernize-loop-convert to the simplified loop
2022-08-23 14:10:23 +03:00
Turo Lamminen
1ca44acebc
Simplify a for loop
2022-08-23 14:10:23 +03:00
Turo Lamminen
712671e81a
Apply modernize-loop-convert again
2022-08-23 14:10:20 +03:00
Turo Lamminen
5f28c51c03
Apply clang-tidy modernize-loop-convert transformation
2022-08-23 13:59:42 +03:00
Kim Kulling
2013ae114a
[WIP] Use ai_Real to write correct accuracy
...
- closes https://github.com/assimp/assimp/issues/4676
2022-08-18 17:41:07 +02:00
vkaytsanov
4c143eb581
Merge branch 'master' into master
2022-08-17 12:01:44 +03:00
Turo Lamminen
1c59de42fc
Make some blender fields warn if missing instead of error
2022-08-17 11:42:32 +03:00
Turo Lamminen
d2dc0401c3
Use weak pointer for ModifierData prev to avoid memory leak
2022-08-17 11:42:32 +03:00
Turo Lamminen
30555282fe
Use weak pointer for ElemBase last to avoid memory leak
2022-08-17 11:42:32 +03:00
Turo Lamminen
56b6446913
Use weak pointer for MirrorModifierData mirror_ob to avoid memory leak
2022-08-17 11:42:32 +03:00
Turo Lamminen
90d1464405
Remove set but unused variables
2022-08-17 11:42:32 +03:00
Turo Lamminen
2e64880abf
Inherit SubsurfModifierData and MirrorModifierData from SharedModifierData
...
This makes the cast in BlenderModifierShowcase::ApplyModifiers work
correctly and not invoke UB.
2022-08-17 11:42:32 +03:00
Turo Lamminen
e43e3e11b9
Move SharedModifierData definition to BlenderScene.h
2022-08-17 11:42:32 +03:00
Turo Lamminen
2c1943cd10
Improve BlenderDNA error message
2022-08-17 11:42:32 +03:00
Kim Kulling
89c4640744
Merge branch 'master' into master
2022-08-16 20:53:45 +02:00
vkaytsanov
d469c7b161
Remove exception on glTF 2.0 loading
2022-08-16 15:52:43 +03:00
Kim Kulling
baf14f6c16
Merge branch 'master' into master
2022-08-12 14:09:04 +02:00
Aleks L
4b85eb59c2
Fixes Heap-buffer-overflow READ in Assimp::ASE::Parser::ParseLV1SoftSkinBlock
2022-08-10 15:30:07 +01:00
Ville Voutilainen
253f8bfa62
Use unqualified uint32_t everywhere in FBXBinaryTokenizer
...
The use of qualified std::uint32_t requires including <cstdint> instead
of <stdint.h> on some implementations, and that breaks the build of Qt 6
on GCC 13. Just use the unqualified name everywhere.
2022-08-09 01:54:31 +03:00
Kim Kulling
5084a4d155
Use [[fallthrough]]; to mark whished fallthroughs
...
- closes https://github.com/assimp/assimp/issues/4654
2022-08-05 20:49:37 +02:00
Kim Kulling
eac0876c9b
Refactoring: Use correct prefix for attributes in ObjImport.
2022-07-31 20:54:58 +02:00
Kim Kulling
dddfb74902
Fix another mem-leak
2022-07-31 13:37:42 +02:00
Kim Kulling
c349035cd1
Fix face memleak.
2022-07-31 12:10:43 +02:00
Kim Kulling
85f86ec076
Revert using face as pod type
2022-07-30 21:52:33 +02:00
Kim Kulling
0513eff44f
Merge branch 'master' into kimkulling/waveform_obj_optimizations
2022-07-30 13:15:42 +02:00
Kim Kulling
f6bcb160d0
Improvements of obj-parsers.
2022-07-30 12:58:09 +02:00
Kim Kulling
340d800739
Merge branch 'master' into master
2022-07-29 20:42:56 +02:00
Kim Kulling
4f6640278a
Merge branch 'master' into fix/collada_parser_sid
2022-07-29 19:17:43 +02:00
Kim Kulling
b0210cb3cf
Merge branch 'master' into patch-1
2022-07-29 17:48:14 +02:00
Engin Manap
7c75a4c59b
Merge branch 'master' into master
2022-07-24 12:31:36 -07:00
Kim Kulling
73542f3830
Merge branch 'master' into patch-2
2022-07-24 12:11:18 +02:00
Kim Kulling
f07bc2c5b9
Merge branch 'master' into patch-3
2022-07-18 15:19:27 +02:00
Kim Kulling
05ececc387
Merge branch 'master' into patch-4
2022-07-18 14:06:29 +02:00
sashashura
9ddc3a64d7
Fixes Crash in Assimp::ObjFileMtlImporter::getFloatValue
2022-07-16 13:55:08 +01:00
sashashura
772cfdc757
Fixes Heap-buffer-overflow in Assimp::ObjFileParser::getFace
2022-07-16 13:50:54 +01:00
sashashura
94c0e9d890
Fixes Heap-buffer-overflow in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<ch
2022-07-16 13:48:39 +01:00
sashashura
a4274930e4
Fixes Heap-use-after-free in Assimp::DXFImporter::ExpandBlockReferences
2022-07-16 13:46:50 +01:00
sashashura
0c07ea7c71
Fixes Heap-buffer-overflow in SuperFastHash
2022-07-16 13:44:46 +01:00