Преглед изворни кода

Merge branch 'master' into issue_3165

Kim Kulling пре 5 година
родитељ
комит
ffaa634c48

+ 2 - 1
code/AssetLib/Blender/BlenderDNA.inl

@@ -4,7 +4,6 @@ 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,
@@ -239,11 +238,13 @@ bool Structure :: ReadFieldPtr(TOUT<T> (&out)[N], const char* name,
     try {
         f = &(*this)[name];
 
+#ifdef _DEBUG
         // sanity check, should never happen if the genblenddna script is right
         if ((FieldFlag_Pointer|FieldFlag_Pointer) != (f->flags & (FieldFlag_Pointer|FieldFlag_Pointer))) {
             throw Error((Formatter::format(),"Field `",name,"` of structure `",
                 this->name,"` ought to be a pointer AND an array"));
         }
+#endif // _DEBUG
 
         db.reader->IncPtr(f->offset);
 

+ 1 - 1
code/AssetLib/M3D/m3d.h

@@ -5071,7 +5071,7 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size
             ptr += sprintf(ptr, "\r\n");
         }
         /* mathematical shapes face */
-        if (model->numshape && model->numshape && !(flags & M3D_EXP_NOFACE)) {
+        if (model->numshape !(flags & M3D_EXP_NOFACE)) {
             for (j = 0; j < model->numshape; j++) {
                 sn = _m3d_safestr(model->shape[j].name, 0);
                 if (!sn) {

+ 4 - 0
code/AssetLib/glTF/glTFAsset.h

@@ -69,6 +69,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #pragma GCC diagnostic ignored "-Wclass-memaccess"
 #endif
 
+#ifndef RAPIDJSON_NOMEMBERITERATORCLASS
+#define RAPIDJSON_NOMEMBERITERATORCLASS
+#endif
+
 #include <rapidjson/rapidjson.h>
 #include <rapidjson/document.h>
 #include <rapidjson/error/en.h>

+ 1 - 0
code/AssetLib/glTF/glTFCommon.h

@@ -53,6 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <vector>
 
 #define RAPIDJSON_HAS_STDSTRING 1
+#define RAPIDJSON_NOMEMBERITERATORCLASS
 #include <rapidjson/document.h>
 #include <rapidjson/error/en.h>
 #include <rapidjson/rapidjson.h>

+ 4 - 0
code/AssetLib/glTF2/glTF2Asset.h

@@ -71,6 +71,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #pragma GCC diagnostic ignored "-Wclass-memaccess"
 #endif
 
+#ifndef RAPIDJSON_NOMEMBERITERATORCLASS
+#define RAPIDJSON_NOMEMBERITERATORCLASS
+#endif 
+
 #include <rapidjson/document.h>
 #include <rapidjson/error/en.h>
 #include <rapidjson/rapidjson.h>

+ 6 - 3
contrib/Open3DGC/o3dgcSC3DMCDecoder.inl

@@ -72,9 +72,12 @@ namespace o3dgc
         unsigned char mask = bstream.ReadUChar(m_iterator, m_streamType);
 
         ifs.SetCCW             ((mask & 1) == 1);
-        ifs.SetSolid           ((mask & 2) == 1);
-        ifs.SetConvex          ((mask & 4) == 1);
-        ifs.SetIsTriangularMesh((mask & 8) == 1);
+        // (mask & 2) == 1
+        ifs.SetSolid           (false);
+        // (mask & 4) == 1
+        ifs.SetConvex          (false);
+        // (mask & 8) == 1
+        ifs.SetIsTriangularMesh(false);
         //bool markerBit0 = (mask & 16 ) == 1;
         //bool markerBit1 = (mask & 32 ) == 1;
         //bool markerBit2 = (mask & 64 ) == 1;

+ 14 - 2
test/unit/utMatrix3x3.cpp

@@ -73,9 +73,21 @@ TEST_F(utMatrix3x3Test, FromToMatrixTest) {
 
     aiVector3D from, to;
 
+    auto random_ratio = []() -> float {
+        return static_cast<float>(rand()) / static_cast<float>(RAND_MAX);
+    };
+
     for (int i = 0; i < NUM_SAMPLES; ++i) {
-        from = aiVector3D(1.f * rand() / RAND_MAX, 1.f * rand() / RAND_MAX, 1.f * rand() / RAND_MAX).Normalize();
-        to = aiVector3D(1.f * rand() / RAND_MAX, 1.f * rand() / RAND_MAX, 1.f * rand() / RAND_MAX).Normalize();
+        from = aiVector3D(
+                1.f * random_ratio(),
+                1.f * random_ratio(),
+                1.f * random_ratio())
+                       .Normalize();
+        to = aiVector3D(
+                1.f * random_ratio(),
+                1.f * random_ratio(),
+                1.f * random_ratio())
+                     .Normalize();
 
         aiMatrix3x3::FromToMatrix(from, to, trafo);
         res = trafo * from;