Merge branch 'master' into blender2.8
authorCampbell Barton <ideasman42@gmail.com>
Wed, 6 Jun 2018 17:52:20 +0000 (19:52 +0200)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 6 Jun 2018 17:52:20 +0000 (19:52 +0200)
source/blender/blenlib/BLI_math_base.h
source/blender/makesrna/intern/rna_animation.c
source/blender/makesrna/intern/rna_nla.c

index 6f8e48d83b22c062d3e31d2b11bbdb31ea88b3d0..f455436ce63b800defd65c2f9cb5820247942132 100644 (file)
@@ -200,24 +200,28 @@ double double_round(double x, int ndigits);
  * check the vector is unit length, or zero length (which can't be helped in some cases).
  */
 #ifndef NDEBUG
-/* note: 0.0001 is too small becaues normals may be converted from short's: see [#34322] */
+/** \note 0.0001 is too small becaues normals may be converted from short's: see T34322. */
 #  define BLI_ASSERT_UNIT_EPSILON 0.0002f
+/**
+ * \note Checks are flipped so NAN doesn't assert. This is done because we're making sure the value was normalized
+ * and in the case we don't want NAN to be raising asserts since there is nothing to be done in that case.
+ */
 #  define BLI_ASSERT_UNIT_V3(v)  {                                            \
        const float _test_unit = len_squared_v3(v);                               \
-       BLI_assert((fabsf(_test_unit - 1.0f) < BLI_ASSERT_UNIT_EPSILON) ||        \
-                  (fabsf(_test_unit)        < BLI_ASSERT_UNIT_EPSILON));         \
+       BLI_assert(!(fabsf(_test_unit - 1.0f) >= BLI_ASSERT_UNIT_EPSILON) ||      \
+                  !(fabsf(_test_unit)        >= BLI_ASSERT_UNIT_EPSILON));       \
 } (void)0
 
 #  define BLI_ASSERT_UNIT_V2(v)  {                                            \
        const float _test_unit = len_squared_v2(v);                               \
-       BLI_assert((fabsf(_test_unit - 1.0f) < BLI_ASSERT_UNIT_EPSILON) ||        \
-                  (fabsf(_test_unit)        < BLI_ASSERT_UNIT_EPSILON));         \
+       BLI_assert(!(fabsf(_test_unit - 1.0f) >= BLI_ASSERT_UNIT_EPSILON) ||      \
+                  !(fabsf(_test_unit)        >= BLI_ASSERT_UNIT_EPSILON));       \
 } (void)0
 
 #  define BLI_ASSERT_UNIT_QUAT(q)  {                                          \
        const float _test_unit = dot_qtqt(q, q);                                  \
-       BLI_assert((fabsf(_test_unit - 1.0f) < BLI_ASSERT_UNIT_EPSILON * 10) ||   \
-                  (fabsf(_test_unit)        < BLI_ASSERT_UNIT_EPSILON * 10));    \
+       BLI_assert(!(fabsf(_test_unit - 1.0f) >= BLI_ASSERT_UNIT_EPSILON * 10) || \
+                  !(fabsf(_test_unit)        >= BLI_ASSERT_UNIT_EPSILON * 10));  \
 } (void)0
 
 #  define BLI_ASSERT_ZERO_M3(m)  {                                            \
index 0b928e63545be27398b12a1b773e89b67faf521c..d2c719ac5d10e51777d1b0079859a3a6bc52907d 100644 (file)
@@ -1074,7 +1074,7 @@ static void rna_def_animdata(BlenderRNA *brna)
                                 "Method used for combining Active Action's result with result of NLA stack");
        RNA_def_property_update(prop, NC_ANIMATION | ND_NLA, NULL); /* this will do? */
        
-       prop = RNA_def_property(srna, "action_influence", PROP_FLOAT, PROP_NONE);
+       prop = RNA_def_property(srna, "action_influence", PROP_FLOAT, PROP_FACTOR); 
        RNA_def_property_float_sdna(prop, NULL, "act_influence");
        RNA_def_property_float_default(prop, 1.0f);
        RNA_def_property_range(prop, 0.0f, 1.0f);
index 1301762a4bc9d120b92ba1a5fecdeb17d37d9eba..38086a47c51306450ead1aea76925587b0ec92c9 100644 (file)
@@ -655,7 +655,7 @@ static void rna_def_nlastrip(BlenderRNA *brna)
                                 "NLA Strips that this strip acts as a container for (if it is of type Meta)");
        
        /* Settings - Values necessary for evaluation */
-       prop = RNA_def_property(srna, "influence", PROP_FLOAT, PROP_NONE);
+       prop = RNA_def_property(srna, "influence", PROP_FLOAT, PROP_FACTOR);
        RNA_def_property_range(prop, 0.0f, 1.0f);
        RNA_def_property_ui_text(prop, "Influence", "Amount the strip contributes to the current result");
        /* XXX: Update temporarily disabled so that the property can be edited at all!