Skip to content

Commit

Permalink
patch [#30516] OBJ importer run out of memory fix
Browse files Browse the repository at this point in the history
from Martijn Berger (juicyfruit) 

with some edits for efficient dict access.
  • Loading branch information
ideasman42 committed Mar 11, 2012
1 parent d277ce1 commit eda1a04
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions io_scene_obj/import_obj.py
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ def key_to_name(key):
faces_split = []
verts_split = []
unique_materials_split = {}
vert_remap = [-1] * len(verts_loc)
vert_remap = {}

face_split_dict[key] = (verts_split, faces_split, unique_materials_split, vert_remap)

Expand All @@ -393,13 +393,13 @@ def key_to_name(key):

# Remap verts to new vert list and add where needed
for enum, i in enumerate(face_vert_loc_indices):
if vert_remap[i] == -1:
new_index = len(verts_split)
vert_remap[i] = new_index # set the new remapped index so we only add once and can reference next time.
face_vert_loc_indices[enum] = new_index # remap to the local index
map_index = vert_remap.get(i)
if map_index is None:
map_index = len(verts_split)
vert_remap[i] = map_index # set the new remapped index so we only add once and can reference next time.
verts_split.append(verts_loc[i]) # add the vert to the local verts
else:
face_vert_loc_indices[enum] = vert_remap[i] # remap to the local index

face_vert_loc_indices[enum] = map_index # remap to the local index

matname = face[2]
if matname and matname not in unique_materials_split:
Expand Down

0 comments on commit eda1a04

Please sign in to comment.