From 9d2ee8055a510dd41036c780c6209dc4d7d80c72 Mon Sep 17 00:00:00 2001
From: Campbell Barton <ideasman42@gmail.com>
Date: Mon, 21 Feb 2011 00:11:50 +0000
Subject: [PATCH] fix for [#26148] Anomaly in bvh import zero length bones had
 their tail offset in the wrong direction.

---
 io_anim_bvh/import_bvh.py  | 4 +++-
 io_curve_svg/import_svg.py | 1 -
 render_povray/render.py    | 2 --
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/io_anim_bvh/import_bvh.py b/io_anim_bvh/import_bvh.py
index 9a0126b33..d0f3fde87 100644
--- a/io_anim_bvh/import_bvh.py
+++ b/io_anim_bvh/import_bvh.py
@@ -263,6 +263,7 @@ def read_bvh(context, file_path, rotate_mode='XYZ', global_scale=1.0):
 
         # Make sure tail isnt the same location as the head.
         if (bvh_node.rest_tail_local - bvh_node.rest_head_local).length <= 0.001 * global_scale:
+            print("\tzero length node found:", bvh_node.name)
             bvh_node.rest_tail_local.y = bvh_node.rest_tail_local.y + global_scale / 10
             bvh_node.rest_tail_world.y = bvh_node.rest_tail_world.y + global_scale / 10
 
@@ -383,10 +384,11 @@ def bvh_node_dict2armature(context, bvh_name, bvh_nodes, rotate_mode='XYZ', fram
 
         # ZERO AREA BONES.
         if (bone.head - bone.tail).length < 0.001:
+            print("\tzero length bone found:", bone.name)
             if bvh_node.parent:
                 ofs = bvh_node.parent.rest_head_local - bvh_node.parent.rest_tail_local
                 if ofs.length:  # is our parent zero length also?? unlikely
-                    bone.tail = bone.tail + ofs
+                    bone.tail = bone.tail - ofs
                 else:
                     bone.tail.y = bone.tail.y + average_bone_length
             else:
diff --git a/io_curve_svg/import_svg.py b/io_curve_svg/import_svg.py
index 4443565a0..f57618193 100644
--- a/io_curve_svg/import_svg.py
+++ b/io_curve_svg/import_svg.py
@@ -111,7 +111,6 @@ def SVGRectFromNode(node, context):
 
         if node.getAttribute('height'):
             h = SVGParseCoord(node.getAttribute('height'), h)
-    
 
     return (w, h)
 
diff --git a/render_povray/render.py b/render_povray/render.py
index d0089edbc..cd3fd6152 100644
--- a/render_povray/render.py
+++ b/render_povray/render.py
@@ -23,7 +23,6 @@ import subprocess
 import os
 import sys
 import time
-import math
 from math import atan, pi, degrees, sqrt
 
 import platform as pltfrm
@@ -1573,7 +1572,6 @@ class PovrayRender(bpy.types.RenderEngine):
 
     def _export(self, scene, povPath, renderImagePath):
         import tempfile
-        import os
 
         if scene.pov_tempfiles_enable:
             self._temp_file_in = tempfile.NamedTemporaryFile(suffix=".pov", delete=False).name
-- 
GitLab