Commit Graph

41 Commits

Author SHA1 Message Date
krishty
b57f7d367c Harmonize Importer #includes (#6065)
* Harmonize Importer #includes

Some importers referred to their headers via `#include "AssetLib/[format]/[header.h"`, others via `#include "[header].h"`, others mixed both (e.g. IRR). This is a matter of taste, but it should at least be done the same way everywhere.

Most importers seem to prefer `#include "[header].h"`, so this commit enforces it.

Cross-referencing files from other importers is still done through `AssetLib/[format]`.

Assimp headers are not affected and I would advise against changing them, as this could lead to subtle collisions with user includes.

* went one too far

---------

Co-authored-by: Krishty <krishty@krishty.com>
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2025-03-27 11:13:44 +01:00
krishty
88959b2be7 Fix Whitespace (#6063)
* Fix Whitespace

No functional changes. This commit removes trailing spaces, undesired line breaks, and formatting screwups.

* Remove more useless line breaks in license (500 out of 630 license copies do NOT use double line breaks here)

---------

Co-authored-by: Krishty <krishty@krishty.com>
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2025-03-26 00:12:55 +01:00
Kim Kulling
45898eee55 Refactorings: glTF cleanups (#6028) 2025-03-05 21:37:47 +01:00
Kim Kulling
01231d0e60 Add 2024 to copyright infos (#5475) 2024-02-23 22:30:05 +01:00
IOhannes m zmölnig
6f70e220e4 always include "utf8.h" (instead of contrib/.../utf8.h) 2023-11-29 09:53:03 +01:00
Alexandre Avenel
aae93691b9 Fix container overflow in MMD parser
Using reserve, buffer size is not updated. Since data is directly inserted and not using push_pack,
this can lead to a container overflow.
2023-11-17 14:33:17 +01:00
Kim Kulling
8cf2d6e588 Refactoring: Some cleanups 2023-11-12 21:09:33 +01:00
Jackie9527
87c309566f Fix warning related to missing-noreturn.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-04-01 18:46:12 +08: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
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
Kim Kulling
f527e56f22 Merge branch 'master' into explicitly-default-dtors 2022-08-30 22:21:06 +02:00
Kim Kulling
02e6c425f9 Fix ordering of initalizer list 2022-08-27 15:20:53 +02:00
Kim Kulling
14186bcd6b Code cleanup and some new unittests for edgecases. 2022-08-27 14:07:45 +02:00
Aaron Gokaslan
e93fa6699a Manually fix up 100 more instances where it should be defaulted 2022-08-25 12:20:13 -04:00
Engin Manap
684909a691 Fix comments on PR
1) Use default instead of empty destructor
2) Remove debug code
2022-07-09 17:23:40 +02:00
Engin Manap
c3a89fd2d0 Fix non virtual destructor use 2022-07-08 18:16:02 +02:00
RedSkittleFox
5ab1be8d04 Fixed deprecated class usage; removed unsupported C++17 feature 2022-04-13 11:38:57 +02:00
RedSkittleFox
f26dc74f21 Fixed MMD Importer not loading files from buffer and enabled unit test 2022-04-13 02:51:12 +02:00
Kim Kulling
05746acb07 Merge branch 'new-file-detection' of https://github.com/krishty/assimp into krishty-new-file-detection 2022-01-16 20:41:24 +01:00
Kim Kulling
50c7301a38 Update copyrights 2022-01-10 21:13:43 +01:00
IOhannes m zmölnig
3b8126d26a Fix spelling mistake 2021-10-08 08:48:01 +02:00
krishty
8c84afaff0 Merge branch 'master' into const-tokens 2021-09-15 23:31:00 +02:00
Kim Kulling
8a975549a9 Add missing override 2021-09-14 20:49:20 +02:00
Kim Kulling
18531e3677 Next iteration for c++11 features. 2021-09-13 22:38:20 +02:00
Krishty
5895c0c22c more const in format detection
BaseImporter::SearchFileHeaderForToken() expected a pointer to a non-const token list. This was probably an oversight, as nobody would realistically expect the function to change the list. Furthermore, it prevented token lists from being compiled to read-only memory, in some cases even causing the compiler to generate thread-safe initialization.

The list is now const and all callers declare their token lists static const, thus compiling them to read-only memory.
2021-09-11 23:23:05 +02:00
Kim Kulling
a16cd95b16 Merge branch 'master' into fix-indent 2021-08-10 21:39:13 +02:00
Krishty
42a7611f85 style fix: indentation 2021-07-29 14:39:22 +02:00
Krishty
758116b083 removed trailing spaces and tabs from source and text
This commit ignores the “contrib” folder in order to prevent merge conflicts in dependencies, should these be updated via git.
2021-07-29 13:28:51 +02:00
Jason C
c8ad8c6017 [mmd] Remove stderr spam.
Removed stderr spam and cleaned up exception text.

Addresses #3865.
2021-05-04 20:33:16 -04:00
Krishty
b79b84d34e Merge branch 'master' into new-file-detection 2021-05-05 00:09:42 +02:00
Krishty
0f3e6e2941 replaced std::size() with AI_COUNT_OF for pre-C++20 compilers 2021-05-05 00:08:54 +02:00
Krishty
b00de10eb3 Simplified importer search and fixed a few bugs
The search for a matching importer had a few issues, see #3791. There were two different mechanisms to determine whether an importer accepts a specific file extension:
1. `aiImporterDesc::mFileExtensions`, which was forwarded to the UI via `BaseImporter::GetExtensionList()`.
2. `BaseImporter::CanRead()` when called with `checkSig == false`, which determines whether to actually use that importer.
Both were redundant and got out of sync repeatedly. I removed 2. completely and replaced it with 1., thereby syncing UI/import and shortening all `BaseImporter::CanRead()` implementations.

Further bugfixes:
- fixed glTF2 importer throwing exceptions when checking whether it can load a file
- removed `BaseImporter::SimpleExtensionCheck()` because it is no longer used and had a bug with case sensitivity

Since the `checkSig` parameter in `BaseImporter::CanRead()` is now useless, it can be removed completely. I’m not sure if this would break ABI compatiblity, so I’ll submit it with a later pull request.
2021-04-24 00:17:50 +02:00
Krishty
f761dc72f4 style fix - initializing and assigning empty std::string properly
std::string s(""); s = ""; calls the copy constructor, which in turn calls strlen(), … assigning a default-constructed string generates fewer instructions and is therefore preferred.

With C++11 uniform initialization, you’d simply write s = { } instead.
2021-04-16 23:43:56 +02:00
Kim Kulling
6c89631581 closes https://github.com/assimp/assimp/issues/3678: ensure lowercase 2021-03-09 21:08:28 +01:00
Kim Kulling
9e8dbd0ca5 Update copyrights to 2021. 2021-02-28 12:17:54 +01:00
Malcolm Tyrrell
b7c789da67 Stop concatenating std::strings. Use formatter. 2020-08-18 17:35:08 +01:00
Rahul Sheth
209a61d0e7 Update hunter and utf8cpp inclusion 2020-07-14 19:00:23 -04:00
Kim Kulling
6205af4efb replace NULL and avoid ai_assert with more than 2 tests. 2020-06-23 21:05:42 +02:00
kkulling
4e16716924 Merge branch 'file-formatting' of https://github.com/aaronfranke/assimp into aaronfranke-file-formatting 2020-05-05 10:17:52 +02:00
Kim Kulling
f8e6512a63 Move format importer and exporter into its won folder. 2020-05-02 15:14:38 +02:00