From f985fe12ccf7dc0a6a7ed61bab741207d0b79cae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danny=E8=AE=B8?= Date: Thu, 31 Mar 2022 11:20:18 +0800 Subject: [PATCH 1/8] Fix compile error When enable macro ASSIMP_DOUBLE_PRECISION --- include/assimp/material.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/assimp/material.inl b/include/assimp/material.inl index 0b30a6839..cdf272201 100644 --- a/include/assimp/material.inl +++ b/include/assimp/material.inl @@ -157,7 +157,7 @@ AI_FORCE_INLINE case aiPTI_Float: case aiPTI_Double: { // Read as float and cast to bool - float value = 0.0f; + ai_real value = 0.0f; if (AI_SUCCESS == ::aiGetMaterialFloat(this, pKey, type, idx, &value)) { pOut = static_cast(value); return AI_SUCCESS; From 18c4ebaa130d2b9bc9fe3b5ba4941c96dbddc949 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danny=E8=AE=B8?= Date: Thu, 31 Mar 2022 14:28:35 +0800 Subject: [PATCH 2/8] Fix compile in VC140 --- code/AssetLib/Obj/ObjFileParser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/Obj/ObjFileParser.cpp b/code/AssetLib/Obj/ObjFileParser.cpp index 1786c0d9f..fb2ce78ea 100644 --- a/code/AssetLib/Obj/ObjFileParser.cpp +++ b/code/AssetLib/Obj/ObjFileParser.cpp @@ -55,7 +55,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace Assimp { -constexpr char ObjFileParser::DEFAULT_MATERIAL[]; +constexpr char ObjFileParser::DEFAULT_MATERIAL[] = AI_DEFAULT_MATERIAL_NAME; ObjFileParser::ObjFileParser() : m_DataIt(), From 8e075ce7133bf1ebc9727925356f3840a9807b89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danny=E8=AE=B8?= Date: Thu, 31 Mar 2022 14:53:33 +0800 Subject: [PATCH 3/8] Update ObjFileParser.cpp --- code/AssetLib/Obj/ObjFileParser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/Obj/ObjFileParser.cpp b/code/AssetLib/Obj/ObjFileParser.cpp index fb2ce78ea..1786c0d9f 100644 --- a/code/AssetLib/Obj/ObjFileParser.cpp +++ b/code/AssetLib/Obj/ObjFileParser.cpp @@ -55,7 +55,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace Assimp { -constexpr char ObjFileParser::DEFAULT_MATERIAL[] = AI_DEFAULT_MATERIAL_NAME; +constexpr char ObjFileParser::DEFAULT_MATERIAL[]; ObjFileParser::ObjFileParser() : m_DataIt(), From cc515746f73d43ba5dabe0af5227200e0f5939aa Mon Sep 17 00:00:00 2001 From: xiaohunqupo Date: Thu, 31 Mar 2022 14:58:31 +0800 Subject: [PATCH 4/8] Fix v140 compile errror --- code/AssetLib/Obj/ObjFileParser.cpp | 2 +- code/AssetLib/Obj/ObjFileParser.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/AssetLib/Obj/ObjFileParser.cpp b/code/AssetLib/Obj/ObjFileParser.cpp index 1786c0d9f..4e50d5dae 100644 --- a/code/AssetLib/Obj/ObjFileParser.cpp +++ b/code/AssetLib/Obj/ObjFileParser.cpp @@ -55,7 +55,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace Assimp { -constexpr char ObjFileParser::DEFAULT_MATERIAL[]; +constexpr const char ObjFileParser::DEFAULT_MATERIAL[]; ObjFileParser::ObjFileParser() : m_DataIt(), diff --git a/code/AssetLib/Obj/ObjFileParser.h b/code/AssetLib/Obj/ObjFileParser.h index fbd2f2c89..1bf11a0c8 100644 --- a/code/AssetLib/Obj/ObjFileParser.h +++ b/code/AssetLib/Obj/ObjFileParser.h @@ -141,7 +141,7 @@ private: // because the class contains pointer to allocated memory /// Default material name - static constexpr char DEFAULT_MATERIAL[] = AI_DEFAULT_MATERIAL_NAME; + static constexpr const char DEFAULT_MATERIAL[] = AI_DEFAULT_MATERIAL_NAME; //! Iterator to current position in buffer DataArrayIt m_DataIt; //! Iterator to end position of buffer From b08c04b87a13c737ad7decd1a760129d6d161956 Mon Sep 17 00:00:00 2001 From: xiaohunqupo Date: Thu, 31 Mar 2022 15:08:12 +0800 Subject: [PATCH 5/8] Fix compile errro in VC140 --- include/assimp/Bitmap.h | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/include/assimp/Bitmap.h b/include/assimp/Bitmap.h index 6a614f7cf..94dd0b81b 100644 --- a/include/assimp/Bitmap.h +++ b/include/assimp/Bitmap.h @@ -78,11 +78,11 @@ protected: // 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 { @@ -100,17 +100,17 @@ protected: // 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; From 2152aae2a3a95e0ce65ea35e9c9ac0b73fdb66fe Mon Sep 17 00:00:00 2001 From: xiaohunqupo Date: Thu, 31 Mar 2022 15:34:49 +0800 Subject: [PATCH 6/8] Fix compile error due to namespace conflicts in VC140. --- code/AssetLib/glTF/glTFAsset.inl | 2 +- code/AssetLib/glTF2/glTF2Asset.inl | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/code/AssetLib/glTF/glTFAsset.inl b/code/AssetLib/glTF/glTFAsset.inl index 2b76a30ab..1f4544156 100644 --- a/code/AssetLib/glTF/glTFAsset.inl +++ b/code/AssetLib/glTF/glTFAsset.inl @@ -53,9 +53,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #endif using namespace Assimp; -using namespace glTFCommon; namespace glTF { +using namespace glTFCommon; #if _MSC_VER #pragma warning(push) diff --git a/code/AssetLib/glTF2/glTF2Asset.inl b/code/AssetLib/glTF2/glTF2Asset.inl index a74866e6c..e9108a5da 100644 --- a/code/AssetLib/glTF2/glTF2Asset.inl +++ b/code/AssetLib/glTF2/glTF2Asset.inl @@ -82,7 +82,19 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // clang-format on using namespace Assimp; -using namespace glTFCommon; +using glTFCommon::FindStringInContext; +using glTFCommon::FindNumberInContext; +using glTFCommon::FindUIntInContext; +using glTFCommon::FindArrayInContext; +using glTFCommon::FindObjectInContext; +using glTFCommon::FindExtensionInContext; +using glTFCommon::MemberOrDefault; +using glTFCommon::ReadMember; +using glTFCommon::FindMember; +using glTFCommon::FindObject; +using glTFCommon::FindUInt; +using glTFCommon::FindArray; +using glTFCommon::FindArray; namespace glTF2 { From de6e90a657ba46ed8672518bbf249e193465f227 Mon Sep 17 00:00:00 2001 From: xiaohunqupo Date: Thu, 31 Mar 2022 15:36:57 +0800 Subject: [PATCH 7/8] Fix commit error --- code/AssetLib/glTF2/glTF2Asset.inl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/AssetLib/glTF2/glTF2Asset.inl b/code/AssetLib/glTF2/glTF2Asset.inl index e9108a5da..db47915d6 100644 --- a/code/AssetLib/glTF2/glTF2Asset.inl +++ b/code/AssetLib/glTF2/glTF2Asset.inl @@ -82,6 +82,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // clang-format on using namespace Assimp; + +namespace glTF2 { using glTFCommon::FindStringInContext; using glTFCommon::FindNumberInContext; using glTFCommon::FindUIntInContext; @@ -96,8 +98,6 @@ using glTFCommon::FindUInt; using glTFCommon::FindArray; using glTFCommon::FindArray; -namespace glTF2 { - namespace { // From a050dee09689292ad36df095e4a0cbff07dccded Mon Sep 17 00:00:00 2001 From: xiaohunqupo Date: Thu, 31 Mar 2022 16:08:39 +0800 Subject: [PATCH 8/8] Fix compile error:When enable macro ASSIMP_DOUBLE_PRECISION --- code/AssetLib/IFC/IFCOpenings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AssetLib/IFC/IFCOpenings.cpp b/code/AssetLib/IFC/IFCOpenings.cpp index 74200195b..6b8b565c2 100644 --- a/code/AssetLib/IFC/IFCOpenings.cpp +++ b/code/AssetLib/IFC/IFCOpenings.cpp @@ -1476,7 +1476,7 @@ std::vector GetContourInPlane2D(std::shared_ptr mesh,IfcMa return contour; } -const float close{ ai_epsilon }; +const ai_real close{ ai_epsilon }; static bool isClose(IfcVector2 first,IfcVector2 second) { auto diff = (second - first);