[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25010] trunk/blender: - new objects added from the rna api defaulted to quat rotation, not even using an identity quat.
Campbell Barton
ideasman42 at gmail.com
Mon Nov 30 00:14:41 CET 2009
Revision: 25010
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25010
Author: campbellbarton
Date: 2009-11-30 00:14:41 +0100 (Mon, 30 Nov 2009)
Log Message:
-----------
- new objects added from the rna api defaulted to quat rotation, not even using an identity quat.
- making meshes in python isnt nice at the moment, added a helper function.
mesh.from_pydata(verts, edges, faces)
Modified Paths:
--------------
trunk/blender/release/scripts/modules/bpy_types.py
trunk/blender/source/blender/blenkernel/intern/object.c
Modified: trunk/blender/release/scripts/modules/bpy_types.py
===================================================================
--- trunk/blender/release/scripts/modules/bpy_types.py 2009-11-29 22:42:33 UTC (rev 25009)
+++ trunk/blender/release/scripts/modules/bpy_types.py 2009-11-29 23:14:41 UTC (rev 25010)
@@ -128,6 +128,32 @@
return i2,i1
class Mesh(bpy_types.ID):
+
+ def from_pydata(self, verts, edges, faces):
+ '''
+ Make a mesh from a list of verts/edges/faces
+ Until we have a nicer way to make geometry, use this.
+ '''
+ self.add_geometry(len(verts), len(edges), len(faces))
+
+ verts_flat = [f for v in verts for f in v]
+ self.verts.foreach_set("co", verts_flat)
+ del verts_flat
+
+ edges_flat = [i for e in edges for i in e]
+ self.edges.foreach_set("verts", edges_flat)
+ del edges_flat
+
+ def treat_face(f):
+ if len(f) == 3:
+ return f[0], f[1], f[2], 0
+ elif f[3] == 0:
+ return f[3], f[0], f[1], f[2]
+ return f
+
+ faces_flat = [v for f in faces for v in treat_face(f)]
+ self.faces.foreach_set("verts_raw", faces_flat)
+ del faces_flat
@property
def edge_keys(self):
Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c 2009-11-29 22:42:33 UTC (rev 25009)
+++ trunk/blender/source/blender/blenkernel/intern/object.c 2009-11-29 23:14:41 UTC (rev 25010)
@@ -963,6 +963,7 @@
/* default object vars */
ob->type= type;
/* ob->transflag= OB_QUAT; */
+ ob->rotmode= ROT_MODE_EUL;
#if 0 /* not used yet */
unit_qt(ob->quat);
More information about the Bf-blender-cvs
mailing list