Fix T37768: marker labels were misidentified

This commit is contained in:
Daniel Monteiro Basso 2013-12-10 20:02:25 +00:00
parent 74ff963263
commit c33c2c0b7a
2 changed files with 14 additions and 4 deletions

View File

@ -25,8 +25,8 @@
bl_info = {
"name": "C3D Graphics Lab Motion Capture file (.c3d)",
"author": "Daniel Monteiro Basso <daniel@basso.inf.br>",
"version": (2013, 2, 16, 1),
"blender": (2, 65, 9),
"version": (2013, 12, 10, 1),
"blender": (2, 69, 5),
"location": "File > Import",
"description": "Imports C3D Graphics Lab Motion Capture files",
"wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"
@ -95,6 +95,7 @@ class C3DAnimateCloud(bpy.types.Operator):
def cancel(self, context):
bpy.context.scene.frame_set(bpy.context.scene.frame_current)
context.window_manager.event_timer_remove(self.timer)
return {'FINISHED'}
class C3DImporter(bpy.types.Operator):

View File

@ -196,14 +196,23 @@ class MarkerSet:
if not g.name:
break
self.paramGroups[g.name] = g
cand_mlabel = None
for pg in self.paramGroups:
#print("group: " + pg)
#for p in self.paramGroups[pg].params:
# print(" * " + p)
if 'LABELS' in self.paramGroups[pg].params:
break
cand_mlabel = self.paramGroups[pg].params['LABELS'].decode()
if len(cand_mlabel) == self.markerCount:
break
cand_mlabel = None
# pg should be 'POINT', but let's be liberal and accept any group
self.markerLabels = self.paramGroups[pg].params['LABELS'].decode()
# as long as the LABELS parameter has the same number of markers
if cand_mlabel is None:
self.markerLabels = ["m{}".format(idx)
for idx in range(self.markerCount)]
else:
self.markerLabels = cand_mlabel
repeats = {}
for i, m in enumerate(self.markerLabels):
if m in repeats: