[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31540] trunk/blender: - move more active properties into their collections:
Dalai Felinto
dfelinto at gmail.com
Tue Aug 24 20:55:56 CEST 2010
Hi Campbell,
what is the criteria to return or not the created object from a new() function?
Or the real question: can bpy.data.textures.new() return the texture as well?
I wonder if to return the created object is something reserved to
Direct Data while Lib Data * should be retrieved differently.
Cheers,
Dalai
* I got my understanding from Lib Data and Direct Data from here
http://www.blender.org/development/architecture/ - I hope I used it
properly
2010/8/23 Campbell Barton <ideasman42 at gmail.com>:
> Revision: 31540
> http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31540
> Author: campbellbarton
> Date: 2010-08-24 00:16:45 +0200 (Tue, 24 Aug 2010)
>
> Log Message:
> -----------
> - move more active properties into their collections:
> scene.active_keying_set --> scene.keying_sets.active
> ...same for active_uv_texture. active_vertex_color, active_keyconfig,
>
> - move mesh.add_uv_layer() and mesh.add_vertex_color() into their collections
> also have them return the newly created layer and dont set the layer active.
>
> uvtex = mesh.uv_layers.new(name)
> vcol = mesh.vertex_colors.new(name)
>
> Modified Paths:
> --------------
> 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/op/object.py
> trunk/blender/release/scripts/op/presets.py
> trunk/blender/release/scripts/op/uv.py
> trunk/blender/release/scripts/op/uvcalc_follow_active.py
> trunk/blender/release/scripts/op/uvcalc_smart_project.py
> trunk/blender/release/scripts/presets/interaction/maya.py
> trunk/blender/release/scripts/templates/operator_uv.py
> trunk/blender/release/scripts/ui/properties_data_armature.py
> trunk/blender/release/scripts/ui/properties_data_mesh.py
> trunk/blender/release/scripts/ui/properties_scene.py
> trunk/blender/release/scripts/ui/space_image.py
> trunk/blender/release/scripts/ui/space_outliner.py
> trunk/blender/release/scripts/ui/space_time.py
> trunk/blender/release/scripts/ui/space_userpref_keymap.py
> trunk/blender/source/blender/blenkernel/BKE_customdata.h
> trunk/blender/source/blender/blenkernel/intern/customdata.c
> trunk/blender/source/blender/editors/include/ED_mesh.h
> trunk/blender/source/blender/editors/mesh/editmesh_lib.c
> trunk/blender/source/blender/editors/mesh/mesh_data.c
> trunk/blender/source/blender/editors/object/object_vgroup.c
> trunk/blender/source/blender/editors/uvedit/uvedit_ops.c
> trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c
> trunk/blender/source/blender/makesrna/intern/rna_animation.c
> trunk/blender/source/blender/makesrna/intern/rna_mesh.c
> trunk/blender/source/blender/makesrna/intern/rna_mesh_api.c
> trunk/blender/source/blender/makesrna/intern/rna_pose.c
> trunk/blender/source/blender/makesrna/intern/rna_scene.c
> trunk/blender/source/blender/makesrna/intern/rna_wm.c
>
> Modified: trunk/blender/release/scripts/io/export_3ds.py
> ===================================================================
> --- trunk/blender/release/scripts/io/export_3ds.py 2010-08-23 22:10:13 UTC (rev 31539)
> +++ trunk/blender/release/scripts/io/export_3ds.py 2010-08-23 22:16:45 UTC (rev 31540)
> @@ -567,7 +567,7 @@
> f_v = face.vertices
> # f_v = face.v
>
> - uf = mesh.active_uv_texture.data[i] if do_uv else None
> + uf = mesh.uv_textures.active.data[i] if do_uv else None
>
> if do_uv:
> f_uv = uf.uv
> @@ -998,7 +998,7 @@
> if not mat_ls:
> mat = mat_name = None
>
> - for f, uf in zip(data.faces, data.active_uv_texture.data):
> + for f, uf in zip(data.faces, data.uv_textures.active.data):
> if mat_ls:
> mat_index = f.material_index
> # mat_index = f.mat
>
> Modified: trunk/blender/release/scripts/io/export_fbx.py
> ===================================================================
> --- trunk/blender/release/scripts/io/export_fbx.py 2010-08-23 22:10:13 UTC (rev 31539)
> +++ trunk/blender/release/scripts/io/export_fbx.py 2010-08-23 22:16:45 UTC (rev 31540)
> @@ -1630,7 +1630,7 @@
> # if me.vertexColors:
> collayers = me.vertex_colors
> # collayers = me.getColorLayerNames()
> - collayer_orig = me.active_vertex_color
> + collayer_orig = me.vertex_colors.active
> # collayer_orig = me.activeColorLayer
> for colindex, collayer in enumerate(collayers):
> # me.activeColorLayer = collayer
> @@ -1700,7 +1700,7 @@
> if do_uvs:
> uvlayers = me.uv_textures
> # uvlayers = me.getUVLayerNames()
> - uvlayer_orig = me.active_uv_texture
> + uvlayer_orig = me.uv_textures.active
> # uvlayer_orig = me.activeUVLayer
> for uvindex, uvlayer in enumerate(me.uv_textures):
> # for uvindex, uvlayer in enumerate(uvlayers):
> @@ -1834,8 +1834,8 @@
>
> mats = my_mesh.blenMaterialList
>
> - if me.active_uv_texture:
> - uv_faces = me.active_uv_texture.data
> + if me.uv_textures.active:
> + uv_faces = me.uv_textures.active.data
> else:
> uv_faces = [None] * len(me.faces)
>
> @@ -2103,7 +2103,7 @@
> material_mapping_local = {}
> if len(me.uv_textures) > 0:
> # if me.faceUV:
> - uvlayer_orig = me.active_uv_texture
> + uvlayer_orig = me.uv_textures.active
> # uvlayer_orig = me.activeUVLayer
> for uvlayer in me.uv_textures:
> # for uvlayer in me.getUVLayerNames():
>
> Modified: trunk/blender/release/scripts/io/export_obj.py
> ===================================================================
> --- trunk/blender/release/scripts/io/export_obj.py 2010-08-23 22:10:13 UTC (rev 31539)
> +++ trunk/blender/release/scripts/io/export_obj.py 2010-08-23 22:16:45 UTC (rev 31540)
> @@ -418,7 +418,7 @@
>
> if EXPORT_UV:
> faceuv = len(me.uv_textures) > 0
> - uv_layer = me.active_uv_texture.data[:]
> + uv_layer = me.uv_textures.active.data[:]
> else:
> faceuv = False
>
> @@ -542,7 +542,7 @@
> uv_face_mapping = [[0,0,0,0] for i in range(len(face_index_pairs))] # a bit of a waste for tri's :/
>
> uv_dict = {} # could use a set() here
> - uv_layer = me.active_uv_texture.data
> + uv_layer = me.uv_textures.active.data
> for f, f_index in face_index_pairs:
> for uv_index, uv in enumerate(uv_layer[f_index].uv):
> uvkey = veckey2d(uv)
>
> Modified: trunk/blender/release/scripts/io/export_ply.py
> ===================================================================
> --- trunk/blender/release/scripts/io/export_ply.py 2010-08-23 22:10:13 UTC (rev 31539)
> +++ trunk/blender/release/scripts/io/export_ply.py 2010-08-23 22:16:45 UTC (rev 31540)
> @@ -129,7 +129,7 @@
> vertexColors = False
>
> if faceUV:
> - active_uv_layer = mesh.active_uv_texture
> + active_uv_layer = mesh.uv_textures.active
> if not active_uv_layer:
> EXPORT_UV = False
> faceUV = None
> @@ -137,7 +137,7 @@
> active_uv_layer = active_uv_layer.data
>
> if vertexColors:
> - active_col_layer = mesh.active_vertex_color
> + active_col_layer = mesh.vertex_colors.active
> if not active_col_layer:
> EXPORT_COLORS = False
> vertexColors = None
>
> Modified: trunk/blender/release/scripts/io/export_x3d.py
> ===================================================================
> --- trunk/blender/release/scripts/io/export_x3d.py 2010-08-23 22:10:13 UTC (rev 31539)
> +++ trunk/blender/release/scripts/io/export_x3d.py 2010-08-23 22:16:45 UTC (rev 31540)
> @@ -402,9 +402,9 @@
> if len(mesh.faces) == 0: return
> mode = []
> # mode = 0
> - if mesh.active_uv_texture:
> + if mesh.uv_textures.active:
> # if mesh.faceUV:
> - for face in mesh.active_uv_texture.data:
> + for face in mesh.uv_textures.active.data:
> # for face in mesh.faces:
> if face.use_halo and 'HALO' not in mode:
> mode += ['HALO']
> @@ -463,7 +463,7 @@
> hasImageTexture=0
> is_smooth = False
>
> - if len(maters) > 0 or mesh.active_uv_texture:
> + if len(maters) > 0 or mesh.uv_textures.active:
> # if len(maters) > 0 or mesh.faceUV:
> self.writeIndented("<Appearance>\n", 1)
> # right now this script can only handle a single material per mesh.
> @@ -480,9 +480,9 @@
>
> #-- textures
> face = None
> - if mesh.active_uv_texture:
> + if mesh.uv_textures.active:
> # if mesh.faceUV:
> - for face in mesh.active_uv_texture.data:
> + for face in mesh.uv_textures.active.data:
> # for face in mesh.faces:
> if face.image:
> # if (hasImageTexture == 0) and (face.image):
> @@ -525,7 +525,7 @@
> self.file.write("creaseAngle=\"%s\" " % (round(creaseAngle,self.cp)))
>
> #--- output textureCoordinates if UV texture used
> - if mesh.active_uv_texture:
> + if mesh.uv_textures.active:
> # if mesh.faceUV:
> if self.matonly == 1 and self.share == 1:
> self.writeFaceColors(mesh)
> @@ -540,7 +540,7 @@
> self.writeCoordinates(ob, mesh, meshName, EXPORT_TRI)
>
> #--- output textureCoordinates if UV texture used
> - if mesh.active_uv_texture:
> + if mesh.uv_textures.active:
> # if mesh.faceUV:
> if hasImageTexture == 1:
> self.writeTextureCoordinates(mesh)
> @@ -614,7 +614,7 @@
> texIndexList=[]
> j=0
>
> - for face in mesh.active_uv_texture.data:
> + for face in mesh.uv_textures.active.data:
> # for face in mesh.faces:
> # workaround, since tface.uv iteration is wrong atm
> uvs = face.uv
> @@ -646,10 +646,10 @@
> def writeFaceColors(self, mesh):
> if self.writingcolor == 0:
> self.file.write("colorPerVertex=\"false\" ")
> - elif mesh.active_vertex_color:
> + elif mesh.vertex_colors.active:
> # else:
> self.writeIndented("<Color color=\"", 1)
> - for face in mesh.active_vertex_color.data:
> + for face in mesh.vertex_colors.active.data:
> c = face.color1
> if self.verbose > 2:
> print("Debug: face.col r=%d g=%d b=%d" % (c[0], c[1], c[2]))
> @@ -961,9 +961,9 @@
> faceMap={}
> nFaceIndx=0
>
> - if mesh.active_uv_texture:
> + if mesh.uv_textures.active:
> # if mesh.faceUV:
> - for face in mesh.active_uv_texture.data:
> + for face in mesh.uv_textures.active.data:
> # for face in mesh.faces
> sidename = "two" if face.use_twoside else "one"
>
>
> Modified: trunk/blender/release/scripts/io/import_scene_3ds.py
> ===================================================================
> --- trunk/blender/release/scripts/io/import_scene_3ds.py 2010-08-23 22:10:13 UTC (rev 31539)
> +++ trunk/blender/release/scripts/io/import_scene_3ds.py 2010-08-23 22:16:45 UTC (rev 31540)
> @@ -346,8 +346,8 @@
> bmesh.faces.foreach_set("vertices_raw", eekadoodle_faces)
>
> if bmesh.faces and contextMeshUV:
> - bmesh.add_uv_texture()
> - uv_faces = bmesh.active_uv_texture.data[:]
> + bmesh.uv_textures.new()
> + uv_faces = bmesh.uv_textures.active.data[:]
> else:
> uv_faces = None
>
>
> Modified: trunk/blender/release/scripts/io/import_scene_obj.py
> ===================================================================
> --- trunk/blender/release/scripts/io/import_scene_obj.py 2010-08-23 22:10:13 UTC (rev 31539)
> +++ trunk/blender/release/scripts/io/import_scene_obj.py 2010-08-23 22:16:45 UTC (rev 31540)
> @@ -692,9 +692,7 @@
> # face_mapping= me.faces.extend([f[0] for f in faces], indexList=True)
>
> if verts_tex and me.faces:
> - me.add_uv_texture()
> -# me.faceUV= 1
> - # TEXMODE= Mesh.FaceModes['TEX']
> + me.uv_textures.new()
>
> context_material_old= -1 # avoid a dict lookup
> mat= 0 # rare case it may be un-initialized.
>
> Modified: trunk/blender/release/scripts/op/object.py
> ===================================================================
> --- trunk/blender/release/scripts/op/object.py 2010-08-23 22:10:13 UTC (rev 31539)
> +++ trunk/blender/release/scripts/op/object.py 2010-08-23 22:16:45 UTC (rev 31540)
> @@ -427,13 +427,13 @@
> if is_editmode:
> bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
>
> - if not mesh.active_uv_texture:
> + if not mesh.uv_textures:
> self.report({'WARNING'}, "Object: %s, Mesh: '%s' has no UVs\n" % (obj.name, mesh.name))
> else:
> len_faces = len(mesh.faces)
>
> uv_array = array.array('f', [0.0] * 8) * len_faces # seems to be the fastest way to create an array
> - mesh.active_uv_texture.data.foreach_get("uv_raw", uv_array)
>
> @@ Diff output truncated at 10240 characters. @@
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
More information about the Bf-committers
mailing list