Ver código fonte

Add correct double zero check (#5471)

* Add correct double zero check

* Use std::fpclassify
Kim Kulling 1 ano atrás
pai
commit
4d6dd80257
1 arquivos alterados com 2 adições e 1 exclusões
  1. 2 1
      code/AssetLib/FBX/FBXExporter.cpp

+ 2 - 1
code/AssetLib/FBX/FBXExporter.cpp

@@ -69,6 +69,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <unordered_set>
 #include <unordered_set>
 #include <utility>
 #include <utility>
 #include <vector>
 #include <vector>
+#include <cmath>
 
 
 // RESOURCES:
 // RESOURCES:
 // https://code.blender.org/2013/08/fbx-binary-file-format-specification/
 // https://code.blender.org/2013/08/fbx-binary-file-format-specification/
@@ -1062,7 +1063,7 @@ aiMatrix4x4 get_world_transform(const aiNode* node, const aiScene* scene)
 }
 }
 
 
 inline int64_t to_ktime(double ticks, const aiAnimation* anim) {
 inline int64_t to_ktime(double ticks, const aiAnimation* anim) {
-    if (anim->mTicksPerSecond <= 0) {
+    if (FP_ZERO == std::fpclassify(anim->mTicksPerSecond)) {    
         return static_cast<int64_t>(ticks) * FBX::SECOND;
         return static_cast<int64_t>(ticks) * FBX::SECOND;
     }
     }
     return (static_cast<int64_t>(ticks / anim->mTicksPerSecond)) * FBX::SECOND;
     return (static_cast<int64_t>(ticks / anim->mTicksPerSecond)) * FBX::SECOND;