Commit Graph

64 Commits (da58fbe8fbe3252b5406cdfd2be6562d9d14ce69)

Author SHA1 Message Date
Kim Kulling 50c7301a38 Update copyrights 2022-01-10 21:13:43 +01:00
Evangel 064ffc625b Const qualify aiMetadata::HasKey 2021-06-14 12:21:29 +10:00
Evangel 2f4fba0703 Static cast i back to unsigned int because MSVC complains otherwise.
i will never be bigger than an unsigned int since that's what mNumProperties is to begin with.
2021-05-26 19:11:19 +10:00
Evangel 5468dd667e Fix bug in aiMetadata constructor that overwrites an array of one of aiString, aiVector3D, or aiMetadata with the first entry
aiMetadata copy constructor calls aiMetadata::Get on the copied from aiMetadata using the const aiString &key version. When
this is called on the metadata of an array type, this overwrites all entries with the first entry. This is due to the key
of all entries in an array being the name of the array. ie, in a glTF2 file with an extension:
"Extension" : [
	"Value1",
	"Value2",
	"Value3"
]
the aiMetadata struct for the "Extension" entry will have 3 entries with key/value pairs as:
"Extension"/"Value1"
"Extension"/"Value2"
"Extension"/"Value3"
So when the copy constructor calls the key based aiMetadata::Get, it will find "Value1" for all three entries.

This change simply replaces the key based aiMetadata::Get with the index based aiMetadata::Get
2021-05-26 18:36:56 +10:00
Minmin Gong c6c0f141f1 Fix compiling issues in clang-cl 2021-03-03 22:30:36 -08:00
Kim Kulling 9e8dbd0ca5 Update copyrights to 2021. 2021-02-28 12:17:54 +01:00
Kim Kulling 79a442f95d Fixes a mem leak in aiMetadata::Set 2021-01-29 20:25:02 +01:00
Evangel d75d59a4fd Added operator== and operator!= to aiMetadata to allow for testing.
Updated utMetadata.copy_test to reflect that there's now 8 metadata types.
2020-06-26 15:07:42 +10:00
Evangel f6b4370f6a Added arbitrary recursive metadata to allow for glTF2's extensions to be properly represented.
Primary changes are to include/assimp/metadata.h, adding in the aiMetadata GetAiType function,
adding the operator= to allow an aiMetadata type to be assigned, adding a check for the
AI_AIMETADATA type flag as it can't be trivially memcpy'd.

operator= is implemented with a by-value argument as then the copy is made by the copy
constructor and we can just swap everything out and let the destructor handle the mess.

Implemented parsing of the "extensions" flag on all glTF2 Nodes. Doesn't use the ReadValue
helper function on numbers as it did not seem to fill out the Nullable structure properly.
2020-06-26 14:28:41 +10:00
Kim Kulling 6afb72216c
Compile constructor of aiMetadataType only for c++ 2020-05-04 20:50:44 +02:00
Kim Kulling 3b4a9812e5 add init list for metadatatype. 2020-05-04 20:40:08 +02:00
kimkulling 5c9a08e375 closes https://github.com/assimp/assimp/issues/3190 : fix leak. 2020-05-04 15:36:54 +02:00
Kim Kulling da2bf5c7a4 fix wrong size 2020-04-29 21:13:46 +02:00
Kim Kulling 131aed73b0 closes https://github.com/assimp/assimp/issues/2166: add missing setter for metadata. 2020-04-06 11:16:16 +02:00
Marc-Antoine Lortie 4e7e47bd43 Updated copyright dates.
Changed copyright end year to 2020 in every reference "Copyright (c) 2006-XXXX, assimp team".

Changed copyright end year to 2020 in every reference "Copyright (c) 2006-XXXX, ASSIMP Development Team".

Changed copyright end year to 2020 in LICENCE.rtf.

Changed copyright end year in CMakeFiles.txt files and any other places referencing Assimp with a copyright start and end year.
2020-01-20 08:53:12 -05:00
Kim Kulling c1706d9bf8
Update metadata.h
Fix possible crashes.
2019-12-06 21:24:04 +01:00
Malcolm Tyrrell a2f8c84c6c Fix deletion issue in aiMetadata::Add. 2019-12-05 17:06:28 +00:00
Malcolm Tyrrell 894b8e3519 Initial version 2019-12-05 12:32:22 +00:00
kimkulling 33af183bb8 Cleanup the public headers. 2019-10-11 13:27:36 +02:00
kimkulling a06133ab52 Update copyrights. 2019-01-30 09:41:39 +01: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
Kim Kulling 8d42b31e20
Update metadata.h
Replace type pronning by a simple memcpy operation.
2018-05-08 09:46:32 +02:00
Nicholas Woodfield 458a7ae801 Silencing compile warnings during build, all little stuff like uint to size_t or BOOL to bool. 2018-05-03 15:03:14 -04:00
Kim Kulling 317f3e2a59 3MF: Export metadata. 2018-03-20 14:10:08 +01:00
Kim Kulling b049933d2f update license dates. 2018-01-28 19:42:05 +01:00
Kim Kulling 2a9f79f958 check for 0 properties before copy them 2017-11-19 19:05:51 +01:00
Kim Kulling f3407ef804 aiMetaData: introduce aiMetaData::Dealloc. 2017-05-25 22:35:27 +02:00
Kim Kulling a2b8d66a86 Update license info. 2017-05-09 19:57:36 +02:00
Leo Terziman cae9e532a0 Merge remote-tracking branch 'github/master' into contrib
# Conflicts:
#	include/assimp/metadata.h
2017-01-11 16:52:07 +01:00
Kim Kulling 161cdd4038 Merge pull request #1119 from rdb/master
Replace use of nullptr in headers with NULL
2016-12-28 18:20:50 +01:00
Sergio Martins 5c2bd47fd8 Avoid unneeded copy-ctor calls when calling getAiType
Specially for aiString, which does a memcpy.
Found with clazy static analyzer.
2016-12-26 12:43:45 +00:00
rdb 5bb35f3af6 Replace use of nullptr in headers with NULL 2016-12-20 17:27:36 +01:00
Kim Kulling a446d75250 Ue new alloc semantic when using aiMetadata + increase test coverage. 2016-11-22 21:06:14 +01:00
Kim Kulling 566aa1ae00 Merge branch 'master' of https://github.com/assimp/assimp 2016-11-21 23:55:14 +01:00
Kim Kulling c61146f52e Add unittest fixure for aiMetadata. 2016-11-21 23:54:39 +01:00
Kim Kulling cae8a172c3 Merge branch 'master' into coverity_scan 2016-11-18 11:38:45 +01:00
Kim Kulling d4223d1fce closes https://github.com/assimp/assimp/issues/105://github.com/assimp/assimp/issues/1057 2016-11-06 19:36:37 +01:00
Alexandr Arutjunov 9d40f36f87 [F] Fixed type in list.
[+] Added function to metadata class for conveniance.
[*] Enumeration AI_INT changed to AI_INT32.
2016-10-04 23:58:51 +03:00
wise86Android 96fab1cf55 122219-122218 Big parameter passed by value 2016-09-19 22:23:13 +02:00
Léo Terziman b68ad60b52 Merge remote-tracking branch 'official/master' into contrib 2016-08-23 12:00:32 +02:00
Léo Terziman 6db06f117a In metadata: added method to append new metadata to structure 2016-08-23 11:59:49 +02:00
Chris Russ 2f7e3dcdcc Basic changes to introduce optional double precision 2016-07-16 18:23:33 +10:00
Kim Kulling 9678da72c9 Public includes: add pragma statement and formalize include guard schema. 2016-07-11 20:56:38 +02:00
Thiago Goulart 17f0e09bd1 Fix warning when compiling using -Wswitch-enum 2016-03-02 00:07:17 -08:00
Kim Kulling b6673c3fca Update license info in public headers 2016-01-01 21:08:28 +01:00
Richard 54a2d0808c Refactor: Expand tabs to 4 spaces 2015-06-28 16:08:06 -06:00
Richard 6da45599c0 Refactor: Strip trailing whitespace 2015-06-28 16:08:06 -06:00
Kim Kulling 2bfc353fde License info: update year info. 2015-06-28 21:48:25 +02:00
Joe Hermaszewski 50dbb867ec Include stdint.h for uint64_t 2015-01-22 21:27:43 +00:00