Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2015-03-02 21:30:16 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2015-03-02 21:30:16 +0300
commit514c08f839d57c73a0f616198a8ea8327b143e09 (patch)
tree97a4f8fdfd532ff27a097afa201e92730e1729a4 /io_scene_obj
parent0225bffb98470ed989f0a9dde9592b5f93ef034f (diff)
Fix T43863: Some obj have three values per UV coordinate... sigh.
Diffstat (limited to 'io_scene_obj')
-rw-r--r--io_scene_obj/import_obj.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/io_scene_obj/import_obj.py b/io_scene_obj/import_obj.py
index 3a5900ad..6136538d 100644
--- a/io_scene_obj/import_obj.py
+++ b/io_scene_obj/import_obj.py
@@ -788,14 +788,14 @@ def load(operator, context, filepath,
to be split into objects and then converted into mesh objects
"""
- def handle_vec(line_start, context_multi_line, line_split, tag, data, vec):
+ def handle_vec(line_start, context_multi_line, line_split, tag, data, vec, vec_len):
ret_context_multi_line = tag if strip_slash(line_split) else b''
if line_start == tag:
vec[:] = [float_func(v) for v in line_split[1:]]
elif context_multi_line == tag:
vec += [float_func(v) for v in line_split]
if not ret_context_multi_line:
- data.append(tuple(vec))
+ data.append(tuple(vec[:vec_len]))
return ret_context_multi_line
def create_face(context_material, context_smooth_group, context_object):
@@ -880,13 +880,13 @@ def load(operator, context, filepath,
line_start = line_split[0] # we compare with this a _lot_
if line_start == b'v' or context_multi_line == b'v':
- context_multi_line = handle_vec(line_start, context_multi_line, line_split, b'v', verts_loc, vec)
+ context_multi_line = handle_vec(line_start, context_multi_line, line_split, b'v', verts_loc, vec, 3)
elif line_start == b'vn' or context_multi_line == b'vn':
- context_multi_line = handle_vec(line_start, context_multi_line, line_split, b'vn', verts_nor, vec)
+ context_multi_line = handle_vec(line_start, context_multi_line, line_split, b'vn', verts_nor, vec, 3)
elif line_start == b'vt' or context_multi_line == b'vt':
- context_multi_line = handle_vec(line_start, context_multi_line, line_split, b'vt', verts_tex, vec)
+ context_multi_line = handle_vec(line_start, context_multi_line, line_split, b'vt', verts_tex, vec, 2)
# Handle faces lines (as faces) and the second+ lines of fa multiline face here
# use 'f' not 'f ' because some objs (very rare have 'fo ' for faces)