Skip to content

Commit

Permalink
[Build] Update assimp for Windows (v5.4.2)
Browse files Browse the repository at this point in the history
  • Loading branch information
fabsgc committed Aug 2, 2024
1 parent 196c88b commit 6a2f3ba
Show file tree
Hide file tree
Showing 193 changed files with 3,560 additions and 2,118 deletions.
79 changes: 79 additions & 0 deletions Dependencies/Win32.GNU/assimp/include/assimp/AssertHandler.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
/*
Open Asset Import Library (assimp)
----------------------------------------------------------------------
Copyright (c) 2006-2020, assimp team
All rights reserved.
Redistribution and use of this software in source and binary forms,
with or without modification, are permitted provided that the
following conditions are met:
* Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
* Neither the name of the assimp team, nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior
written permission of the assimp team.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----------------------------------------------------------------------
*/

/** @file Provides facilities to replace the default assert handler. */

#ifndef INCLUDED_AI_ASSERTHANDLER_H
#define INCLUDED_AI_ASSERTHANDLER_H

#include <assimp/ai_assert.h>
#include <assimp/defs.h>

namespace Assimp {

// ---------------------------------------------------------------------------
/**
* @brief Signature of functions which handle assert violations.
*/
using AiAssertHandler = void (*)(const char* failedExpression, const char* file, int line);

// ---------------------------------------------------------------------------
/**
* @brief Set the assert handler.
*/
ASSIMP_API void setAiAssertHandler(AiAssertHandler handler);

// ---------------------------------------------------------------------------
/** The assert handler which is set by default.
*
* @brief This issues a message to stderr and calls abort.
*/
AI_WONT_RETURN ASSIMP_API void defaultAiAssertHandler(const char* failedExpression, const char* file, int line) AI_WONT_RETURN_SUFFIX;

// ---------------------------------------------------------------------------
/**
* @brief Dispatches an assert violation to the assert handler.
*/
ASSIMP_API void aiAssertViolation(const char* failedExpression, const char* file, int line);

} // end of namespace Assimp

#endif // INCLUDED_AI_ASSERTHANDLER_H
48 changes: 36 additions & 12 deletions Dependencies/Win32.GNU/assimp/include/assimp/Base64.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Open Asset Import Library (assimp)
---------------------------------------------------------------------------
Copyright (c) 2006-2022, assimp team
Copyright (c) 2006-2024, assimp team
All rights reserved.
Expand Down Expand Up @@ -43,24 +43,48 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef AI_BASE64_HPP_INC
#define AI_BASE64_HPP_INC

#include <assimp/defs.h>

#include <stdint.h>
#include <vector>
#include <string>

namespace Assimp {
namespace Base64 {

/// @brief Will encode the given
/// @param in
/// @param inLength
/// @param out
void Encode(const uint8_t *in, size_t inLength, std::string &out);
void Encode(const std::vector<uint8_t>& in, std::string &out);
std::string Encode(const std::vector<uint8_t>& in);

size_t Decode(const char *in, size_t inLength, uint8_t *&out);
size_t Decode(const std::string& in, std::vector<uint8_t>& out);
std::vector<uint8_t> Decode(const std::string& in);
/// @brief Will encode the given character buffer from UTF64 to ASCII
/// @param in The UTF-64 buffer.
/// @param inLength The size of the buffer
/// @param out The encoded ASCII string.
ASSIMP_API void Encode(const uint8_t *in, size_t inLength, std::string &out);

/// @brief Will encode the given character buffer from UTF64 to ASCII.
/// @param in A vector, which contains the buffer for encoding.
/// @param out The encoded ASCII string.
ASSIMP_API void Encode(const std::vector<uint8_t> &in, std::string &out);

/// @brief Will encode the given character buffer from UTF64 to ASCII.
/// @param in A vector, which contains the buffer for encoding.
/// @return The encoded ASCII string.
ASSIMP_API std::string Encode(const std::vector<uint8_t> &in);

/// @brief Will decode the given character buffer from ASCII to UTF64.
/// @param in The ASCII buffer to decode.
/// @param inLength The size of the buffer.
/// @param out The decoded buffer.
/// @return The new buffer size.
ASSIMP_API size_t Decode(const char *in, size_t inLength, uint8_t *&out);

/// @brief Will decode the given character buffer from ASCII to UTF64.
/// @param in The ASCII buffer to decode as a std::string.
/// @param out The decoded buffer.
/// @return The new buffer size.
ASSIMP_API size_t Decode(const std::string &in, std::vector<uint8_t> &out);

/// @brief Will decode the given character buffer from ASCII to UTF64.
/// @param in The ASCII string.
/// @return The decoded buffer in a vector.
ASSIMP_API std::vector<uint8_t> Decode(const std::string &in);

} // namespace Base64
} // namespace Assimp
Expand Down
24 changes: 20 additions & 4 deletions Dependencies/Win32.GNU/assimp/include/assimp/BaseImporter.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Open Asset Import Library (assimp)
----------------------------------------------------------------------
Copyright (c) 2006-2022, assimp team
Copyright (c) 2006-2024, assimp team
All rights reserved.
Expand Down Expand Up @@ -53,6 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#include <assimp/types.h>
#include <assimp/ProgressHandler.hpp>
#include <exception>
#include <set>
#include <vector>
#include <memory>
Expand All @@ -62,6 +63,7 @@ struct aiImporterDesc;

namespace Assimp {

// Forward declarations
class Importer;
class IOSystem;
class BaseProcess;
Expand All @@ -72,6 +74,9 @@ class IOStream;
#define AI_MAKE_MAGIC(string) ((uint32_t)((string[0] << 24) + \
(string[1] << 16) + (string[2] << 8) + string[3]))

using UByteBuffer = std::vector<uint8_t>;
using ByteBuffer = std::vector<int8_t>;

// ---------------------------------------------------------------------------
/** FOR IMPORTER PLUGINS ONLY: The BaseImporter defines a common interface
* for all importer worker classes.
Expand All @@ -90,7 +95,7 @@ class ASSIMP_API BaseImporter {
BaseImporter() AI_NO_EXCEPT;

/** Destructor, private as well */
virtual ~BaseImporter();
virtual ~BaseImporter() = default;

// -------------------------------------------------------------------
/** Returns whether the class can handle the format of the given file.
Expand Down Expand Up @@ -258,7 +263,7 @@ class ASSIMP_API BaseImporter {
std::size_t numTokens,
unsigned int searchBytes = 200,
bool tokensSol = false,
bool noAlphaBeforeTokens = false);
bool noGraphBeforeTokens = false);

// -------------------------------------------------------------------
/** @brief Check whether a file has a specific file extension
Expand All @@ -272,7 +277,18 @@ class ASSIMP_API BaseImporter {
const std::string &pFile,
const char *ext0,
const char *ext1 = nullptr,
const char *ext2 = nullptr);
const char *ext2 = nullptr,
const char *ext3 = nullptr);

// -------------------------------------------------------------------
/** @brief Check whether a file has one of the passed file extensions
* @param pFile Input file
* @param extensions Extensions to check for. Lowercase characters only, no dot!
* @note Case-insensitive
*/
static bool HasExtension(
const std::string &pFile,
const std::set<std::string> &extensions);

// -------------------------------------------------------------------
/** @brief Extract file extension from a string
Expand Down
36 changes: 18 additions & 18 deletions Dependencies/Win32.GNU/assimp/include/assimp/Bitmap.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Open Asset Import Library (assimp)
---------------------------------------------------------------------------
Copyright (c) 2006-2022, assimp team
Copyright (c) 2006-2024, assimp team
All rights reserved.
Expand Down Expand Up @@ -63,7 +63,7 @@ namespace Assimp {
class IOStream;

// ---------------------------------------------------------------------------
/**
/**
* This class is used to store and write bitmap information.
*/
class ASSIMP_API Bitmap {
Expand All @@ -78,11 +78,11 @@ class ASSIMP_API Bitmap {

// We define the struct size because sizeof(Header) might return a wrong result because of structure padding.
static constexpr std::size_t header_size =
sizeof(type) +
sizeof(size) +
sizeof(reserved1) +
sizeof(reserved2) +
sizeof(offset);
sizeof(uint16_t) +
sizeof(uint32_t) +
sizeof(uint16_t) +
sizeof(uint16_t) +
sizeof(uint32_t);
};

struct DIB {
Expand All @@ -100,17 +100,17 @@ class ASSIMP_API Bitmap {

// We define the struct size because sizeof(DIB) might return a wrong result because of structure padding.
static constexpr std::size_t dib_size =
sizeof(size) +
sizeof(width) +
sizeof(height) +
sizeof(planes) +
sizeof(bits_per_pixel) +
sizeof(compression) +
sizeof(image_size) +
sizeof(x_resolution) +
sizeof(y_resolution) +
sizeof(nb_colors) +
sizeof(nb_important_colors);
sizeof(uint32_t) +
sizeof(int32_t) +
sizeof(int32_t) +
sizeof(uint16_t) +
sizeof(uint16_t) +
sizeof(uint32_t) +
sizeof(uint32_t) +
sizeof(int32_t) +
sizeof(int32_t) +
sizeof(uint32_t) +
sizeof(uint32_t);
};

static constexpr std::size_t mBytesPerPixel = 4;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Open Asset Import Library (assimp)
---------------------------------------------------------------------------
Copyright (c) 2006-2022, assimp team
Copyright (c) 2006-2024, assimp team
All rights reserved.
Expand Down
18 changes: 8 additions & 10 deletions Dependencies/Win32.GNU/assimp/include/assimp/ByteSwapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
Open Asset Import Library (assimp)
----------------------------------------------------------------------
Copyright (c) 2006-2022, assimp team
Copyright (c) 2006-2024, assimp team
All rights reserved.
Expand Down Expand Up @@ -66,10 +65,10 @@ namespace Assimp {
* and vice versa. Direct use of this class is DEPRECATED. Use #StreamReader instead. */
// --------------------------------------------------------------------------------------
class ByteSwap {
ByteSwap() AI_NO_EXCEPT {}
ByteSwap() AI_NO_EXCEPT = default;
~ByteSwap() = default;

public:

// ----------------------------------------------------------------------
/** Swap two bytes of data
* @param[inout] _szOut A void* to save the reintcasts for the caller. */
Expand All @@ -89,8 +88,7 @@ class ByteSwap {
// ----------------------------------------------------------------------
/** Swap four bytes of data
* @param[inout] _szOut A void* to save the reintcasts for the caller. */
static inline void Swap4(void* _szOut)
{
static inline void Swap4(void* _szOut) {
ai_assert(_szOut);

#if _MSC_VER >= 1400
Expand Down Expand Up @@ -263,7 +261,7 @@ struct ByteSwapper<T,false> {
};

// --------------------------------------------------------------------------------------------
template <bool SwapEndianess, typename T, bool RuntimeSwitch>
template <bool SwapEndianness, typename T, bool RuntimeSwitch>
struct Getter {
void operator() (T* inout, bool le) {
#ifdef AI_BUILD_BIG_ENDIAN
Expand All @@ -278,12 +276,12 @@ struct Getter {
}
};

template <bool SwapEndianess, typename T>
struct Getter<SwapEndianess,T,false> {
template <bool SwapEndianness, typename T>
struct Getter<SwapEndianness,T,false> {

void operator() (T* inout, bool /*le*/) {
// static branch
ByteSwapper<T,(SwapEndianess && sizeof(T)>1)> () (inout);
ByteSwapper<T,(SwapEndianness && sizeof(T)>1)> () (inout);
}
};
} // end Intern
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Open Asset Import Library (assimp)
----------------------------------------------------------------------
Copyright (c) 2006-2022, assimp team
Copyright (c) 2006-2024, assimp team
All rights reserved.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Open Asset Import Library (assimp)
----------------------------------------------------------------------
Copyright (c) 2006-2022, assimp team
Copyright (c) 2006-2024, assimp team
All rights reserved.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Open Asset Import Library (assimp)
----------------------------------------------------------------------
Copyright (c) 2006-2022, assimp team
Copyright (c) 2006-2024, assimp team
All rights reserved.
Expand Down Expand Up @@ -74,7 +74,7 @@ class ASSIMP_API DefaultIOStream : public IOStream {
#endif // __ANDROID__

protected:
/// @brief
/// @brief
DefaultIOStream() AI_NO_EXCEPT;

/// @brief The class constructor with the file name and the stream.
Expand All @@ -84,7 +84,7 @@ class ASSIMP_API DefaultIOStream : public IOStream {

public:
/** Destructor public to allow simple deletion to close the file. */
~DefaultIOStream ();
~DefaultIOStream () override;

// -------------------------------------------------------------------
/// Read from stream
Expand Down
Loading

0 comments on commit 6a2f3ba

Please sign in to comment.