* update pugixml
Improvements:
Many xml_attribute:: and xml_node:: functions now transparently support std::string_view and std::string when C++17 support is detected.
CMake improvements:
Improve pkg-config file generation for NixOS
PUGIXML_BUILD_APPLE_FRAMEWORK CMake option can be used to build pugixml as .xcframework
PUGIXML_INSTALL CMake option can be used to disable installation targets
Compatibility improvements:
Fix clang/gcc warnings -Wzero-as-null-pointer-constant, -Wuseless-cast, -Wshorten-64-to-32
Fix unreferenced function warnings in PUGIXML_NO_STL configuration
Fix CMake 3.31 deprecation warnings
Stop using deprecated throw() when noexcept is available
Improvements:
xml_attribute::set_name and xml_node::set_name now have overloads that accept pointer to non-null-terminated string and size
Implement parse_merge_pcdata parsing mode in which PCDATA contents is merged into a single node when original document had comments that were skipped during parsing
xml_document::load_file now returns a more consistent error status when given a path to a folder
Bug fixes:
Fix assertion in XPath number→string conversion when using non-English locales
Fix PUGIXML_STATIC_CRT CMake option to correctly select static CRT when using MSVC and recent CMake
Compatibility improvements:
Fix GCC 2.95/3.3 builds
Fix CMake 3.27 deprecation warnings
Fix XCode 14 sprintf deprecation warning when compiling in C++03 mode
Fix clang/gcc warnings -Wweak-vtables, -Wreserved-macro-identifier
* Update CMakeLists.txt
* pugixml: upgrade to v1.15
* pugixml: Add export directives for non-windows platforms
* pugixml: replace NULL by nullptr.
---------
Co-authored-by: Andrea <realeandrea@yahoo.it>
Co-authored-by: mosfet80 <10235105+mosfet80@users.noreply.github.com>
Updated the Inner Cone formula such that exponent values of 0 result in no inner cone and large exponent values result in a inner cone being most of the cone angle-wise.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* fix export fbx wrong Materials index in LayerElementMaterial
* Refix export fbx wrong Materials index in LayerElementMaterial. Materials index should be the order of Materials in connections of the Model node.
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
The outfile was missing an OS separator when a PBRT file was exported in a path that was not the current directory.
Writing to /foo/bar.pbrt was writing to foobar.pbrt instead.
mPath and mFile are now handled like it's described in PbrtExporter.h
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
Version 1.5.7 release:
Using the versioned www.gstatic.com WASM and Javascript decoders continues
to be recommended. To use v1.5.7, use this URL:
https://www.gstatic.com/draco/versioned/decoders/1.5.7/*
Added support for normalized attributes to Emscripten encoder API.
Bug fixes.
Security fixes.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
There were some typos and incorrect offsets in a previous PR. This fixes part of it, correctly exporting the UV.
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
Without these changes, the warning "Type conversion may result in loss of data" might be triggered because `i` is of type `ssize_t` but the type of the parameter is `mz_uint` that is an alias for `unsinged int`.
This was already fixed in the original repository
see
d7a2252a53/src/zip.c (L481C49-L481C58)
and
d7a2252a53/src/zip.c (L538)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* fix: possible Heap-based Buffer Overflow in ConvertToUTF8 function
* Update BaseImporter.cpp
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
- If the mesh supports more than 2 texture coordinates this was not handled correctly. Now the code will be able to deal with 2 or 3 coords and throws an exception if this value gets invalid.
- closes https://github.com/assimp/assimp/issues/3829
* Fix fbx export. Nodes "LayerElementNormal" and "LayerElementColor" should be written only when actual data are exported.
* Update FBXExporter.cpp
- Fix intentions
- use empty instead of size for checking data exists
* refactoring
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
* 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>
* 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>
* feat: created the aiGetStringC_Str() function.
The C++ Interface's function C_Str() from the aiString struct was missing an equivalent function for the C Interface.
* changed the first parameter of the aiGetStringC_Str function to be const.
---------
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>