[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