Blender Git Loki
Git Commits -> Revision 706a4c2
Revision 706a4c2 by Arystanbek Dyussenov (master) August 25, 2009, 17:06 (GMT) |
Implemented dynamic and multidimensional array support in RNA. Example code: http://www.pasteall.org/7332/c. New API functions: http://www.pasteall.org/7330/c. Maximum number of dimensions is currently limited to 3, but can be increased arbitrarily if needed. What this means for ID property access: * MeshFace.verts - dynamic array, size 3 or 4 depending on MFace.v4 * MeshTextureFace.uv - dynamic, 2-dimensional array, size depends on MFace.v4 * Object.matrix - 2-dimensional array What this means for functions: * more intuitive API possibility, for example: Mesh.add_vertices([(x, y, z), (x, y, z), ...]) Mesh.add_faces([(1, 2, 3), (4, 5, 6), ...]) Python part is not complete yet, e.g. it is possible to: MeshFace.verts = (1, 2, 3) # even if Mesh.verts is (1, 2, 3, 4) and vice-versa MeshTextureFace.uv = [(0.0, 0.0)] * 4 # only if a corresponding MFace is a quad but the following won't work: MeshTextureFace.uv[3] = (0.0, 0.0) # setting uv[3] modifies MTFace.uv[1][0] instead of MTFace.uv[3] |
Commit Details:
Full Hash: 706a4c22b54ede250fbdb2c2bd772c63cdbf7d09
SVN Revision: 22772
Parent Commit: 7288bac
Lines Changed: +513, -164
1 Added Path:
/source/blender/python/intern/bpy_array.c (+235, -0) (View)
23 Modified Paths:
/source/blender/blenkernel/intern/anim_sys.c (+6, -6) (Diff)
/source/blender/blenkernel/intern/fcurve.c (+3, -3) (Diff)
/source/blender/editors/animation/anim_ipo_utils.c (+1, -1) (Diff)
/source/blender/editors/animation/drivers.c (+3, -3) (Diff)
/source/blender/editors/animation/keyframing.c (+5, -5) (Diff)
/source/blender/editors/animation/keyingsets.c (+2, -2) (Diff)
/source/blender/editors/interface/interface.c (+9, -9) (Diff)
/source/blender/editors/interface/interface_anim.c (+1, -1) (Diff)
/source/blender/editors/interface/interface_layout.c (+5, -5) (Diff)
/source/blender/editors/interface/interface_templates.c (+1, -1) (Diff)
/source/blender/editors/interface/interface_utils.c (+2, -2) (Diff)
/source/blender/editors/space_outliner/outliner.c (+2, -2) (Diff)
/source/blender/makesrna/intern/makesrna.c (+8, -0) (Diff)
/source/blender/makesrna/intern/rna_access.c (+35, -10) (Diff)
/source/blender/makesrna/intern/rna_define.c (+44, -2) (Diff)
/source/blender/makesrna/intern/rna_internal_types.h (+11, -0) (Diff)
/source/blender/makesrna/intern/rna_mesh.c (+97, -0) (Diff)
/source/blender/makesrna/intern/rna_object.c (+3, -1) (Diff)
/source/blender/makesrna/RNA_access.h (+3, -1) (Diff)
/source/blender/makesrna/RNA_define.h (+7, -1) (Diff)
/source/blender/makesrna/RNA_types.h (+2, -1) (Diff)
/source/blender/python/intern/bpy_rna.c (+23, -108) (Diff)
/source/blender/python/intern/bpy_rna.h (+5, -0) (Diff)
/source/blender/blenkernel/intern/fcurve.c (+3, -3) (Diff)
/source/blender/editors/animation/anim_ipo_utils.c (+1, -1) (Diff)
/source/blender/editors/animation/drivers.c (+3, -3) (Diff)
/source/blender/editors/animation/keyframing.c (+5, -5) (Diff)
/source/blender/editors/animation/keyingsets.c (+2, -2) (Diff)
/source/blender/editors/interface/interface.c (+9, -9) (Diff)
/source/blender/editors/interface/interface_anim.c (+1, -1) (Diff)
/source/blender/editors/interface/interface_layout.c (+5, -5) (Diff)
/source/blender/editors/interface/interface_templates.c (+1, -1) (Diff)
/source/blender/editors/interface/interface_utils.c (+2, -2) (Diff)
/source/blender/editors/space_outliner/outliner.c (+2, -2) (Diff)
/source/blender/makesrna/intern/makesrna.c (+8, -0) (Diff)
/source/blender/makesrna/intern/rna_access.c (+35, -10) (Diff)
/source/blender/makesrna/intern/rna_define.c (+44, -2) (Diff)
/source/blender/makesrna/intern/rna_internal_types.h (+11, -0) (Diff)
/source/blender/makesrna/intern/rna_mesh.c (+97, -0) (Diff)
/source/blender/makesrna/intern/rna_object.c (+3, -1) (Diff)
/source/blender/makesrna/RNA_access.h (+3, -1) (Diff)
/source/blender/makesrna/RNA_define.h (+7, -1) (Diff)
/source/blender/makesrna/RNA_types.h (+2, -1) (Diff)
/source/blender/python/intern/bpy_rna.c (+23, -108) (Diff)
/source/blender/python/intern/bpy_rna.h (+5, -0) (Diff)