From d71455d4c1534a1949f6fb0e6ab0fcb1ceb7c2f8 Mon Sep 17 00:00:00 2001
From: Campbell Barton <ideasman42@gmail.com>
Date: Mon, 25 Jul 2011 09:09:46 +0000
Subject: [PATCH] switch vector multiplication order & some style changes.

---
 io_import_scene_dxf.py        | 102 +++++++++++++++++++++++++---------
 io_import_scene_unreal_psk.py |  90 ++++++++++++++++++++----------
 io_mesh_ply/__init__.py       |  37 +++++++++---
 3 files changed, 165 insertions(+), 64 deletions(-)

diff --git a/io_import_scene_dxf.py b/io_import_scene_dxf.py
index 6aab7122c..0c7abd20d 100644
--- a/io_import_scene_dxf.py
+++ b/io_import_scene_dxf.py
@@ -311,7 +311,7 @@ class CArc(CEntity):
             ma = getOCS(self.normal)
             if ma:
                 #ma.invert()
-                points = [v * ma for v in points]
+                points = [ma * v for v in points]
         #print ('arc vn=', vn)
         #print ('faces=', len(faces))
         return ((points, edges, faces, vn))
@@ -520,7 +520,7 @@ class CCircle(CEntity):
             ma = getOCS(self.normal)
             if ma:
                 #ma.invert()
-                points = [v * ma for v in points]
+                points = [ma * v for v in points]
         #print ('cir vn=', vn)
         #print ('faces=',len(faces))
         return( (points, edges, faces, vn) )
@@ -626,7 +626,7 @@ class CEllipse(CEntity):
             ma = getOCS(self.normal)
             if ma:
                 #ma.invert()
-                points = [v * ma for v in points]
+                points = [ma * v for v in points]
         return ((points, edges, faces, vn))
 
 #
@@ -810,7 +810,7 @@ class CLWPolyLine(CEntity):
             ma = getOCS(self.normal)
             if ma:
                 #ma.invert()
-                verts = [v * ma for v in verts]
+                verts = [ma * v for v in verts]
         return (verts, edges, [], vn-1)
         
 #
@@ -1018,7 +1018,7 @@ class CPolyLine(CEntity):
         if self.normal!=Vector((0,0,1)):
             ma = getOCS(self.normal)
             if ma:
-                verts = [v * ma for v in verts]
+                verts = [ma * v for v in verts]
         return((verts, lines, [], vn-1))
 
 #
@@ -1182,7 +1182,7 @@ class CSolid(CEntity):
         if self.normal!=Vector((0,0,1)):
             ma = getOCS(self.normal)
             if ma:
-                points = [v * ma for v in points]
+                points = [ma * v for v in points]
         return((points, edges, faces, vn))
         
 #
@@ -1315,7 +1315,7 @@ class CTrace(CEntity):
         if self.normal!=Vector((0,0,1)):
             ma = getOCS(self.normal)
             if ma:
-                points = [v * ma for v in points]
+                points = [ma * v for v in points]
         return ((points, edges, faces, vn))
 
 #
@@ -1425,7 +1425,7 @@ def transform(normal, rotation, obj):  #----------------------------------------
     if ma_new:
         ma = ma_new
         ma.resize_4x4()
-        o = o * ma
+        o = ma * o
 
     if rotation != 0:
         g = radians(-rotation)
@@ -2425,24 +2425,76 @@ class IMPORT_OT_autocad_dxf(bpy.types.Operator):
     bl_space_type = "PROPERTIES"
     bl_region_type = "WINDOW"
 
-    filepath = StringProperty(name="File Path", description="Filepath used for importing the DXF file", maxlen= 1024, default= "", subtype='FILE_PATH')
-
-    new_scene = BoolProperty(name="Replace scene", description="Replace scene", default=toggle&T_NewScene)
-    #new_scene = BoolProperty(name="New scene", description="Create new scene", default=toggle&T_NewScene)
-    curves = BoolProperty(name="Draw curves", description="Draw entities as curves", default=toggle&T_Curves)
-    thic_on = BoolProperty(name="Thic ON", description="Support THICKNESS", default=toggle&T_ThicON)
-
-    merge = BoolProperty(name="Remove doubles", description="Merge coincident vertices", default=toggle&T_Merge)
-    mergeLimit = FloatProperty(name="Limit", description="Merge limit", default = theMergeLimit*1e4,min=1.0, soft_min=1.0, max=100.0, soft_max=100.0)
-
-    draw_one = BoolProperty(name="Merge all", description="Draw all into one mesh-object", default=toggle&T_DrawOne)
-    circleResolution = IntProperty(name="Circle resolution", description="Circle/Arc are aproximated will this factor", default = theCircleRes,
-                min=4, soft_min=4, max=360, soft_max=360)
+    filepath = StringProperty(
+            name="File Path",
+            description="Filepath used for importing the DXF file",
+            maxlen=1024,
+            subtype='FILE_PATH',
+            )
+    new_scene = BoolProperty(
+            name="Replace scene",
+            description="Replace scene",
+            default=toggle & T_NewScene,
+            )
+    #~ new_scene = BoolProperty(
+            #~ name="New scene",
+            #~ description="Create new scene",
+            #~ default=toggle & T_NewScene,
+            #~ )
+    curves = BoolProperty(
+            name="Draw curves",
+            description="Draw entities as curves",
+            default=toggle & T_Curves,
+            )
+    thic_on = BoolProperty(
+            name="Thic ON",
+            description="Support THICKNESS",
+            default=toggle & T_ThicON,
+            )
+    merge = BoolProperty(
+            name="Remove doubles",
+            description="Merge coincident vertices",
+            default=toggle & T_Merge,
+            )
+    mergeLimit = FloatProperty(
+            name="Limit",
+            description="Merge limit",
+            default=theMergeLimit * 1e4,
+            min=1.0,
+            soft_min=1.0,
+            max=100.0,
+            soft_max=100.0,
+            )
+    draw_one = BoolProperty(
+            name="Merge all",
+            description="Draw all into one mesh-object",
+            default=toggle & T_DrawOne,
+            )
+    circleResolution = IntProperty(
+            name="Circle resolution",
+            description="Circle/Arc are aproximated will this factor",
+            default=theCircleRes,
+            min=4,
+            soft_min=4,
+            max=360,
+            soft_max=360,
+            )
     codecs = tripleList(['iso-8859-15', 'utf-8', 'ascii'])
-    codec = EnumProperty(name="Codec", description="Codec",  items=codecs, default = 'ascii')
-
-    debug = BoolProperty(name="Debug", description="Unknown DXF-codes generate errors", default=toggle&T_Debug)
-    verbose = BoolProperty(name="Verbose", description="Print debug info", default=toggle&T_Verbose)
+    codec = EnumProperty(name="Codec",
+            description="Codec",
+            items=codecs,
+            default='ascii',
+            )
+    debug = BoolProperty(
+            name="Debug",
+            description="Unknown DXF-codes generate errors",
+            default=toggle & T_Debug,
+            )
+    verbose = BoolProperty(
+            name="Verbose",
+            description="Print debug info",
+            default=toggle & T_Verbose,
+            )
 
     ##### DRAW #####
     def draw(self, context):
diff --git a/io_import_scene_unreal_psk.py b/io_import_scene_unreal_psk.py
index edc7cd024..fe4b4e754 100644
--- a/io_import_scene_unreal_psk.py
+++ b/io_import_scene_unreal_psk.py
@@ -382,7 +382,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
             bpy.context.scene.objects.active = ob_new
             #set mode to able to edit the bone
             bpy.ops.object.mode_set(mode='EDIT')
-			
+
             #newbone = ob_new.data.edit_bones.new('test')
             #newbone.tail.y = 1
             print("creating bone(s)")
@@ -391,8 +391,8 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
                 bpy.ops.object.mode_set(mode='EDIT')
                 newbone = ob_new.data.edit_bones.new(bone.name)
             '''		
-		
-            
+
+
             armdata = bpy.data.armatures.new(objectname)
             ob_new = bpy.data.objects.new(meshname, armdata)
             #ob_new = bpy.data.objects.new(meshname, 'ARMATURE')
@@ -405,7 +405,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
             bpy.context.scene.objects.active = ob_new
             #set mode to able to edit the bone
             bpy.ops.object.mode_set(mode='EDIT')
-			
+
             #newbone = ob_new.data.edit_bones.new('test')
             #newbone.tail.y = 1
             print("creating bone(s)")
@@ -420,7 +420,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
                 #note bone location is set in the real space or global not local
                 bonesize = bpy.types.Scene.unrealbonesize
                 if bone.name != bone.parent:
-				
+
                     pos_x = bone.bindpos[0]
                     pos_y = bone.bindpos[1]
                     pos_z = bone.bindpos[2]
@@ -431,12 +431,12 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
                     
                     rotmatrix = bone.bindmat.to_matrix().to_4x4().to_3x3()  # XXX, redundant matrix conversion?
                     newbone.transform(bone.bindmat.to_matrix().to_4x4(),True,True)
-                    #parent_head = parentbone.head * parentbone.matrix.to_quaternion().inverse()
-                    #parent_tail = parentbone.tail * parentbone.matrix.to_quaternion().inverse()
+                    #parent_head = parentbone.matrix.to_quaternion().inverse() * parentbone.head
+                    #parent_tail = parentbone.matrix.to_quaternion().inverse() * parentbone.tail
                     #location=Vector(pos_x,pos_y,pos_z)
                     #set_position = (parent_tail - parent_head) + location
                     #print("tmp head:",set_position)
-					
+
                     #pos_x = set_position.x
                     #pos_y = set_position.y
                     #pos_z = set_position.z
@@ -462,7 +462,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
                     newbone.tail.y = bone.bindpos[1] + bonesize * rotmatrix[1][1]
                     newbone.tail.z = bone.bindpos[2] + bonesize * rotmatrix[1][2]
                     #newbone.roll = fixRoll(newbone)
-					#print("no parent")
+                    #print("no parent")
             
     bpy.context.scene.update()
     
@@ -549,13 +549,13 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
     me_ob.update_tag()
     
     """
-	Material setup coding.
-	First the mesh has to be create first to get the uv texture setup working.
-	-Create material(s) list in the psk pack data from the list.(to do list)
-	-Append the material to the from create the mesh object.
-	-Create Texture(s)
-	-fae loop for uv assign and assign material index
-	
+    Material setup coding.
+    First the mesh has to be create first to get the uv texture setup working.
+    -Create material(s) list in the psk pack data from the list.(to do list)
+    -Append the material to the from create the mesh object.
+    -Create Texture(s)
+    -fae loop for uv assign and assign material index
+    
     """
     bpy.ops.object.mode_set(mode='OBJECT')
     #===================================================================================================
@@ -566,7 +566,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
     print ("-------------------------")
     materialname = "pskmat"
     materials = []
-	
+
     for matcount in range(materialcount):
         #if texturedata != None:
         matdata = bpy.data.materials.new(materialname + str(matcount))
@@ -582,7 +582,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
         #matdata.texture_coords = 'UV'
         #matdata.active_texture = texturedata
         materials.append(matdata)
-	
+
     for material in materials:
         #add material to the mesh list of materials
         me_ob.materials.append(material)
@@ -622,7 +622,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
         for countm in range(materialcount):
             psktexname="psk" + str(countm)
             me_ob.uv_textures.new(name=psktexname)
-		    #psktexname="psk" + str(countm)
+            #psktexname="psk" + str(countm)
         #me_ob.uv_textures.new(name=psktexname)
         for countm in range(len(me_ob.uv_textures)):
                 me_ob.update()
@@ -672,8 +672,8 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
     
     #for face in me_ob.faces:
         #print(dir(face))
-    
-		
+
+
     '''
     matdata = bpy.data.materials.new(materialname)
     #color is 0 - 1 not in 0 - 255
@@ -717,7 +717,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
                 #print(vgp)
                 #[vertex id],weight
                 vgroup.add([vgp[0]], vgp[2], 'ADD')
-				
+
     #check if there is a material to set to
     if len(materials) > 0:
         obmesh.active_material = materials[0] #material setup tmp
@@ -744,16 +744,46 @@ class IMPORT_OT_psk(bpy.types.Operator):
     bl_label = "Import PSK"
     bl_space_type = "PROPERTIES"
     bl_region_type = "WINDOW"
-	
+
     # List of operator properties, the attributes will be assigned
     # to the class instance from the operator settings before calling.
-    filepath = StringProperty(name="File Path", description="Filepath used for importing the psk file", maxlen= 1024, subtype='FILE_PATH')
-    filter_glob = StringProperty(default="*.psk", options={'HIDDEN'})
-    importmesh = BoolProperty(name="Mesh", description="Import mesh only. (not yet build.)", default=True)
-    importbone = BoolProperty(name="Bones", description="Import bones only. Current not working yet.", default=True)
-    importmultiuvtextures = BoolProperty(name="Single UV Texture(s)", description="Single or Multi uv textures.", default=True)
-    bDebugLogPSK = BoolProperty(name="Debug Log.txt", description="Log the output of raw format. It will save in current file dir. Note this just for testing.", default=False)
-    unrealbonesize = FloatProperty( name="Bone Length", description="Bone Length from head to tail distance.", default=1,min=0.001,max=1000)
+    filepath = StringProperty(
+            name="File Path",
+            description="Filepath used for importing the psk file",
+            maxlen= 1024,
+            subtype='FILE_PATH',
+            )
+    filter_glob = StringProperty(
+            default="*.psk",
+            options={'HIDDEN'},
+            )
+    importmesh = BoolProperty(
+            name="Mesh",
+            description="Import mesh only. (not yet build.)",
+            default=True,
+            )
+    importbone = BoolProperty(
+            name="Bones",
+            description="Import bones only. Current not working yet.",
+            default=True,
+            )
+    importmultiuvtextures = BoolProperty(
+            name="Single UV Texture(s)",
+            description="Single or Multi uv textures.",
+            default=True,
+            )
+    bDebugLogPSK = BoolProperty(
+            name="Debug Log.txt",
+            description="Log the output of raw format. It will save in current file dir. Note this just for testing.",
+            default=False,
+            )
+    unrealbonesize = FloatProperty(
+            name="Bone Length",
+            description="Bone Length from head to tail distance.",
+            default=1,
+            min=0.001,
+            max=1000,
+            )
 
     def execute(self, context):
         bpy.types.Scene.unrealbonesize = self.unrealbonesize
diff --git a/io_mesh_ply/__init__.py b/io_mesh_ply/__init__.py
index e8384923d..50edb8859 100644
--- a/io_mesh_ply/__init__.py
+++ b/io_mesh_ply/__init__.py
@@ -16,7 +16,7 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-# <pep8 compliant>
+# <pep8-80 compliant>
 
 bl_info = {
     "name": "Stanford PLY format",
@@ -32,7 +32,8 @@ bl_info = {
     "support": 'OFFICIAL',
     "category": "Import-Export"}
 
-# To support reload properly, try to access a package var, if it's there, reload everything
+# To support reload properly, try to access a package var,
+# if it's there, reload everything
 if "bpy" in locals():
     import imp
     if "export_ply" in locals():
@@ -63,7 +64,8 @@ class ImportPLY(bpy.types.Operator, ImportHelper):
     filter_glob = StringProperty(default="*.ply", options={'HIDDEN'})
 
     def execute(self, context):
-        paths = [os.path.join(self.directory, name.name) for name in self.files]
+        paths = [os.path.join(self.directory, name.name)
+                 for name in self.files]
         if not paths:
             paths.append(self.filepath)
 
@@ -76,17 +78,33 @@ class ImportPLY(bpy.types.Operator, ImportHelper):
 
 
 class ExportPLY(bpy.types.Operator, ExportHelper):
-    '''Export a single object as a stanford PLY with normals, colours and texture coordinates.'''
+    '''Export a single object as a stanford PLY with normals, ''' \
+    '''colours and texture coordinates.'''
     bl_idname = "export_mesh.ply"
     bl_label = "Export PLY"
 
     filename_ext = ".ply"
     filter_glob = StringProperty(default="*.ply", options={'HIDDEN'})
 
-    use_modifiers = BoolProperty(name="Apply Modifiers", description="Apply Modifiers to the exported mesh", default=True)
-    use_normals = BoolProperty(name="Normals", description="Export Normals for smooth and hard shaded faces", default=True)
-    use_uv_coords = BoolProperty(name="UVs", description="Exort the active UV layer", default=True)
-    use_colors = BoolProperty(name="Vertex Colors", description="Exort the active vertex color layer", default=True)
+    use_modifiers = BoolProperty(
+            name="Apply Modifiers",
+            description="Apply Modifiers to the exported mesh",
+            default=True,
+            )
+    use_normals = BoolProperty(
+            name="Normals",
+            description="Export Normals for smooth and hard shaded faces",
+            default=True,
+            )
+    use_uv_coords = BoolProperty(
+            name="UVs",
+            description="Export the active UV layer",
+            default=True,
+            )
+    use_colors = BoolProperty(
+            name="Vertex Colors",
+            description="Exort the active vertex color layer",
+            default=True)
 
     @classmethod
     def poll(cls, context):
@@ -96,7 +114,8 @@ class ExportPLY(bpy.types.Operator, ExportHelper):
         filepath = self.filepath
         filepath = bpy.path.ensure_ext(filepath, self.filename_ext)
         from . import export_ply
-        return export_ply.save(self, context, **self.as_keywords(ignore=("check_existing", "filter_glob")))
+        keywords = **self.as_keywords(ignore=("check_existing", "filter_glob"))
+        return export_ply.save(self, context, keywords)
 
     def draw(self, context):
         layout = self.layout
-- 
GitLab