[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25858] trunk/blender: RNA/Py API
Campbell Barton
ideasman42 at gmail.com
Sun Jan 10 00:44:01 CET 2010
Revision: 25858
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25858
Author: campbellbarton
Date: 2010-01-10 00:44:01 +0100 (Sun, 10 Jan 2010)
Log Message:
-----------
RNA/Py API
change how data is added. eg.
bpy.data.add_mesh(name) --> bpy.data.meshes.new(name)
bpy.data.remove_lamp(lamp) --> bpy.data.lamps.remove(lamp)
image and texture stil use add_* funcs
Modified Paths:
--------------
trunk/blender/release/scripts/io/engine_render_pov.py
trunk/blender/release/scripts/io/export_3ds.py
trunk/blender/release/scripts/io/export_fbx.py
trunk/blender/release/scripts/io/export_obj.py
trunk/blender/release/scripts/io/export_ply.py
trunk/blender/release/scripts/io/export_x3d.py
trunk/blender/release/scripts/io/import_scene_3ds.py
trunk/blender/release/scripts/io/import_scene_obj.py
trunk/blender/release/scripts/modules/retopo.py
trunk/blender/release/scripts/modules/rigify/__init__.py
trunk/blender/release/scripts/op/add_mesh_torus.py
trunk/blender/release/scripts/op/object.py
trunk/blender/release/scripts/ui/space_nla.py
trunk/blender/release/scripts/ui/space_view3d_toolbar.py
trunk/blender/source/blender/editors/interface/interface_regions.c
trunk/blender/source/blender/makesrna/intern/rna_internal.h
trunk/blender/source/blender/makesrna/intern/rna_main.c
trunk/blender/source/blender/makesrna/intern/rna_main_api.c
trunk/blender/source/blender/makesrna/intern/rna_scene.c
trunk/blender/source/blender/python/intern/bpy_rna.c
Modified: trunk/blender/release/scripts/io/engine_render_pov.py
===================================================================
--- trunk/blender/release/scripts/io/engine_render_pov.py 2010-01-09 22:28:05 UTC (rev 25857)
+++ trunk/blender/release/scripts/io/engine_render_pov.py 2010-01-09 23:44:01 UTC (rev 25858)
@@ -537,7 +537,7 @@
writeMatrix(matrix)
file.write('}\n')
- bpy.data.remove_mesh(me)
+ bpy.data.meshes.remove(me)
def exportWorld(world):
if not world:
Modified: trunk/blender/release/scripts/io/export_3ds.py
===================================================================
--- trunk/blender/release/scripts/io/export_3ds.py 2010-01-09 22:28:05 UTC (rev 25857)
+++ trunk/blender/release/scripts/io/export_3ds.py 2010-01-09 23:44:01 UTC (rev 25858)
@@ -1061,7 +1061,7 @@
kfdata.add_subchunk(make_kf_obj_node(ob, name_to_id))
'''
# if not blender_mesh.users:
- bpy.data.remove_mesh(blender_mesh)
+ bpy.data.meshes.remove(blender_mesh)
# blender_mesh.verts = None
i+=i
Modified: trunk/blender/release/scripts/io/export_fbx.py
===================================================================
--- trunk/blender/release/scripts/io/export_fbx.py 2010-01-09 22:28:05 UTC (rev 25857)
+++ trunk/blender/release/scripts/io/export_fbx.py 2010-01-09 23:44:01 UTC (rev 25858)
@@ -2989,7 +2989,7 @@
# Clear mesh data Only when writing with modifiers applied
for me in meshes_to_clear:
- bpy.data.remove_mesh(me)
+ bpy.data.meshes.remove(me)
# me.verts = None
# --------------------------- Footer
@@ -3391,8 +3391,7 @@
def poll(self, context):
- print("Poll")
- return context.active_object != None
+ return context.active_object
def execute(self, context):
if not self.properties.path:
Modified: trunk/blender/release/scripts/io/export_obj.py
===================================================================
--- trunk/blender/release/scripts/io/export_obj.py 2010-01-09 22:28:05 UTC (rev 25857)
+++ trunk/blender/release/scripts/io/export_obj.py 2010-01-09 23:44:01 UTC (rev 25858)
@@ -447,7 +447,7 @@
break
if has_quads:
- newob = bpy.data.add_object('MESH', 'temp_object')
+ newob = bpy.data.objects.new('temp_object', 'MESH')
newob.data = me
# if we forget to set Object.data - crash
scene.objects.link(newob)
@@ -468,7 +468,7 @@
if not (len(face_index_pairs)+len(edges)+len(me.verts)): # Make sure there is somthing to write
# clean up
- bpy.data.remove_mesh(me)
+ bpy.data.meshes.remove(me)
continue # dont bother with this mesh.
@@ -510,24 +510,12 @@
# XXX update
tface = me.active_uv_texture.data
- # exception only raised if Python 2.3 or lower...
- try:
- face_index_pairs.sort(key = lambda a: (a[0].material_index, tface[a[1]].image, a[0].smooth))
- except:
- face_index_pairs.sort(lambda a,b: cmp((a[0].material_index, tface[a[1]].image, a[0].smooth),
- (b[0].material_index, tface[b[1]].image, b[0].smooth)))
+ face_index_pairs.sort(key=lambda a: (a[0].material_index, tface[a[1]].image, a[0].smooth))
elif len(materials) > 1:
- try:
- face_index_pairs.sort(key = lambda a: (a[0].material_index, a[0].smooth))
- except:
- face_index_pairs.sort(lambda a,b: cmp((a[0].material_index, a[0].smooth),
- (b[0].material_index, b[0].smooth)))
+ face_index_pairs.sort(key = lambda a: (a[0].material_index, a[0].smooth))
else:
# no materials
- try:
- face_index_pairs.sort(key = lambda a: a[0].smooth)
- except:
- face_index_pairs.sort(lambda a,b: cmp(a[0].smooth, b[0].smooth))
+ face_index_pairs.sort(key = lambda a: a[0].smooth)
# if EXPORT_KEEP_VERT_ORDER:
# pass
# elif faceuv:
@@ -609,7 +597,8 @@
if EXPORT_NORMALS:
for f in faces:
if f.smooth:
- for v in f:
+ for vIdx in f.verts:
+ v = me.verts[vIdx]
noKey = veckey3d(v.normal)
if noKey not in globalNormals:
globalNormals[noKey] = totno
@@ -779,7 +768,7 @@
totuvco += uv_unique_count
# clean up
- bpy.data.remove_mesh(me)
+ bpy.data.meshes.remove(me)
if ob_main.dupli_type != 'NONE':
ob_main.free_dupli_list()
Modified: trunk/blender/release/scripts/io/export_ply.py
===================================================================
--- trunk/blender/release/scripts/io/export_ply.py 2010-01-09 22:28:05 UTC (rev 25857)
+++ trunk/blender/release/scripts/io/export_ply.py 2010-01-09 23:44:01 UTC (rev 25858)
@@ -254,7 +254,7 @@
print("writing", filename, "done")
if EXPORT_APPLY_MODIFIERS:
- bpy.data.remove_mesh(mesh)
+ bpy.data.meshes.remove(mesh)
# XXX
"""
Modified: trunk/blender/release/scripts/io/export_x3d.py
===================================================================
--- trunk/blender/release/scripts/io/export_x3d.py 2010-01-09 22:28:05 UTC (rev 25857)
+++ trunk/blender/release/scripts/io/export_x3d.py 2010-01-09 23:44:01 UTC (rev 25858)
@@ -879,7 +879,7 @@
# free mesh created with create_mesh()
if me != ob.data:
- bpy.data.remove_mesh(me)
+ bpy.data.meshes.remove(me)
elif objType == "LAMP":
# elif objType == "Lamp":
Modified: trunk/blender/release/scripts/io/import_scene_3ds.py
===================================================================
--- trunk/blender/release/scripts/io/import_scene_3ds.py 2010-01-09 22:28:05 UTC (rev 25857)
+++ trunk/blender/release/scripts/io/import_scene_3ds.py 2010-01-09 23:44:01 UTC (rev 25858)
@@ -410,8 +410,7 @@
myVertMapping = dict( [ (ii, i) for i, ii in enumerate(vertsToUse) ] )
tempName= '%s_%s' % (contextObName, matName) # matName may be None.
- bmesh = bpy.data.add_mesh(tempName)
-# bmesh = bpy.data.meshes.new(tempName)
+ bmesh = bpy.data.meshes.new(tempName)
if matName == None:
img = None
@@ -465,7 +464,7 @@
# targetFace.image = img
# bmesh.transform(contextMatrix)
- ob = bpy.data.add_object("MESH", tempName)
+ ob = bpy.data.objects.new(tempName, 'MESH')
ob.data = bmesh
SCN.objects.link(ob)
# ob = SCN_OBJECTS.new(bmesh, tempName)
@@ -766,8 +765,8 @@
x,y,z = struct.unpack('<3f', temp_data)
new_chunk.bytes_read += STRUCT_SIZE_3FLOAT
- ob = bpy.data.add_object("LAMP", "Lamp")
- ob.data = bpy.data.add_lamp("Lamp")
+ ob = bpy.data.objects.new("Lamp", 'LAMP')
+ ob.data = bpy.data.lamps.new("Lamp")
SCN.objects.link(ob)
contextLamp[1]= ob.data
Modified: trunk/blender/release/scripts/io/import_scene_obj.py
===================================================================
--- trunk/blender/release/scripts/io/import_scene_obj.py 2010-01-09 22:28:05 UTC (rev 25857)
+++ trunk/blender/release/scripts/io/import_scene_obj.py 2010-01-09 23:44:01 UTC (rev 25858)
@@ -712,8 +712,7 @@
for name, index in list(material_mapping.items()):
materials[index]= unique_materials[name]
- me= bpy.data.add_mesh(dataname)
-# me= bpy.data.meshes.new(dataname)
+ me= bpy.data.meshes.new(dataname)
# make sure the list isnt too big
for material in materials[0:16]:
@@ -864,7 +863,7 @@
me.update()
# me.calcNormals()
- ob= bpy.data.add_object("MESH", "Mesh")
+ ob= bpy.data.objects.new("Mesh", 'MESH')
ob.data= me
scn.objects.link(ob)
# ob= scn.objects.new(me)
Modified: trunk/blender/release/scripts/modules/retopo.py
===================================================================
--- trunk/blender/release/scripts/modules/retopo.py 2010-01-09 22:28:05 UTC (rev 25857)
+++ trunk/blender/release/scripts/modules/retopo.py 2010-01-09 23:44:01 UTC (rev 25858)
@@ -318,7 +318,22 @@
else:
return b, a
- def test_join(p1a, p1b, p2a, p2b, length_average):
+ #def test_join(p1a, p1b, p2a, p2b, length_average):
+ def test_join(s1, s2, dir1, dir2, length_average):
+ if dir1 is False:
+ p1a = s1.points[0]
+ p1b = s1.points[1]
+ else:
+ p1a = s1.points[-1]
+ p1b = s1.points[-2]
+
+ if dir2 is False:
+ p2a = s2.points[0]
+ p2b = s2.points[1]
+ else:
+ p2a = s2.points[-1]
+ p2b = s2.points[-2]
+
# compare length between tips
if (p1a - p2a).length > (length_average / EPS_SPLINE_DIV):
return False
@@ -346,7 +361,7 @@
if s1 is s2:
continue
- length_average = (s1.length + s2.length) / 2.0
+ length_average = min(s1.length, s2.length)
key2a = s2.points[0].toTuple(HASH_PREC)
key2b = s2.points[-1].toTuple(HASH_PREC)
@@ -355,8 +370,7 @@
key_pair = sort_pair(key1a, key2a)
if key_pair not in comparisons:
comparisons.add(key_pair)
- if test_join(s1.points[0], s1.points[1], s2.points[0], s2.points[1], length_average) or \
- test_join(s1.points[1], s1.points[2], s2.points[1], s2.points[2], length_average):
+ if test_join(s1, s2, False, False, length_average):
s1.points[:0] = reversed(s2.points)
s1.bb += s2.bb
s1.calc_length()
@@ -367,8 +381,7 @@
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list