[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28958] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28949 :28957
Campbell Barton
ideasman42 at gmail.com
Mon May 24 14:58:33 CEST 2010
Revision: 28958
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28958
Author: campbellbarton
Date: 2010-05-24 14:58:33 +0200 (Mon, 24 May 2010)
Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28949:28957
Modified Paths:
--------------
branches/render25/SConstruct
branches/render25/config/linuxcross-config.py
branches/render25/config/win32-mingw-config.py
branches/render25/release/scripts/modules/bpy_types.py
branches/render25/release/scripts/op/uvcalc_follow_active.py
branches/render25/source/blender/editors/object/object_edit.c
branches/render25/source/blender/editors/render/render_internal.c
branches/render25/source/blender/imbuf/intern/anim.c
branches/render25/source/blender/makesrna/intern/rna_sensor.c
branches/render25/source/blender/render/intern/source/pipeline.c
branches/render25/source/creator/creator.c
Modified: branches/render25/SConstruct
===================================================================
--- branches/render25/SConstruct 2010-05-24 12:41:14 UTC (rev 28957)
+++ branches/render25/SConstruct 2010-05-24 12:58:33 UTC (rev 28958)
@@ -572,7 +572,9 @@
dllsources += ['${BF_PNG_LIBPATH}/libpng.dll',
'${BF_ZLIB_LIBPATH}/zlib.dll']
- dllsources += ['${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
+ # Used when linking to libtiff was dynamic
+ # keep it here until compilation on all platform would be ok
+ # dllsources += ['${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
if env['OURPLATFORM'] != 'linuxcross':
# pthreads library is already added
Modified: branches/render25/config/linuxcross-config.py
===================================================================
--- branches/render25/config/linuxcross-config.py 2010-05-24 12:41:14 UTC (rev 28957)
+++ branches/render25/config/linuxcross-config.py 2010-05-24 12:58:33 UTC (rev 28958)
@@ -75,7 +75,7 @@
BF_PNG_LIBPATH = '${BF_PNG}/lib'
WITH_BF_TIFF = True
-BF_TIFF = LIBDIR + '/tiff'
+BF_TIFF = LIBDIR + '/gcc/tiff'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'libtiff'
BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
Modified: branches/render25/config/win32-mingw-config.py
===================================================================
--- branches/render25/config/win32-mingw-config.py 2010-05-24 12:41:14 UTC (rev 28957)
+++ branches/render25/config/win32-mingw-config.py 2010-05-24 12:58:33 UTC (rev 28958)
@@ -74,7 +74,7 @@
BF_PNG_LIBPATH = '${BF_PNG}/lib'
WITH_BF_TIFF = True
-BF_TIFF = LIBDIR + '/tiff'
+BF_TIFF = LIBDIR + '/gcc/tiff'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'libtiff'
BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
Modified: branches/render25/release/scripts/modules/bpy_types.py
===================================================================
--- branches/render25/release/scripts/modules/bpy_types.py 2010-05-24 12:41:14 UTC (rev 28957)
+++ branches/render25/release/scripts/modules/bpy_types.py 2010-05-24 12:58:33 UTC (rev 28958)
@@ -303,7 +303,7 @@
edge_face_count_dict = self.edge_face_count_dict
return [edge_face_count_dict.get(ed.key, 0) for ed in self.edges]
- def edge_loops(self, faces=None, seams=()):
+ def edge_loops_from_faces(self, faces=None, seams=()):
"""
Edge loops defined by faces
@@ -314,7 +314,7 @@
return a list of edge key lists
[ [(0,1), (4, 8), (3,8)], ...]
- optionaly, seams are edge keys that will be removed
+ return a list of edge vertex index lists
"""
OTHER_INDEX = 2, 3, 0, 1 # opposite face index
@@ -379,7 +379,72 @@
return edge_loops
+ def edge_loops_from_edges(self, edges=None):
+ """
+ Edge loops defined by edges
+ Takes me.edges or a list of edges and returns the edge loops
+
+ return a list of vertex indices.
+ [ [1, 6, 7, 2], ...]
+
+ closed loops have matching start and end values.
+ """
+ line_polys = []
+
+ # Get edges not used by a face
+ if edges is None:
+ edges = self.edges
+
+ if not hasattr(edges, "pop"):
+ edges = edges[:]
+
+ edge_dict= dict((ed.key, ed) for ed in self.edges if ed.selected)
+
+ while edges:
+ current_edge= edges.pop()
+ vert_end, vert_start = current_edge.verts[:]
+ line_poly = [vert_start, vert_end]
+
+ ok = True
+ while ok:
+ ok = False
+ #for i, ed in enumerate(edges):
+ i = len(edges)
+ while i:
+ i -= 1
+ ed = edges[i]
+ v1, v2 = ed.verts
+ if v1 == vert_end:
+ line_poly.append(v2)
+ vert_end = line_poly[-1]
+ ok = 1
+ del edges[i]
+ #break
+ elif v2 == vert_end:
+ line_poly.append(v1)
+ vert_end = line_poly[-1]
+ ok = 1
+ del edges[i]
+ #break
+ elif v1 == vert_start:
+ line_poly.insert(0, v2)
+ vert_start = line_poly[0]
+ ok = 1
+ del edges[i]
+ #break
+ elif v2 == vert_start:
+ line_poly.insert(0, v1)
+ vert_start = line_poly[0]
+ ok = 1
+ del edges[i]
+ #break
+ line_polys.append(line_poly)
+
+ return line_polys
+
+
+
class MeshEdge(StructRNA):
__slots__ = ()
Modified: branches/render25/release/scripts/op/uvcalc_follow_active.py
===================================================================
--- branches/render25/release/scripts/op/uvcalc_follow_active.py 2010-05-24 12:41:14 UTC (rev 28957)
+++ branches/render25/release/scripts/op/uvcalc_follow_active.py 2010-05-24 12:58:33 UTC (rev 28958)
@@ -180,7 +180,7 @@
#SEAM = me.edges.seam
if EXTEND_MODE == 'LENGTH':
- edge_loops = me.edge_loops(face_sel, [ed.key for ed in me.edges if ed.seam])
+ edge_loops = me.edge_loops_from_faces(face_sel, [ed.key for ed in me.edges if ed.seam])
me_verts = me.verts
for loop in edge_loops:
looplen = [0.0]
Modified: branches/render25/source/blender/editors/object/object_edit.c
===================================================================
--- branches/render25/source/blender/editors/object/object_edit.c 2010-05-24 12:41:14 UTC (rev 28957)
+++ branches/render25/source/blender/editors/object/object_edit.c 2010-05-24 12:58:33 UTC (rev 28958)
@@ -2239,15 +2239,7 @@
else {
uiItemEnumO(menu, "OBJECT_OT_game_property_copy", NULL, 0, "type", 1);//REPLACE);
uiItemEnumO(menu, "OBJECT_OT_game_property_copy", NULL, 0, "type", 2);//MERGE);
-
- //Menu Separator
- uiItemL(menu, "Copy a Property", 0);
-
- prop= ob->prop.first;
- while(prop) {
- uiItemStringO(menu, prop->name, 0, "OBJECT_OT_game_property_copy", "property", prop->name);
- prop= prop->next;
- }
+ uiItemMenuEnumO(menu, "OBJECT_OT_game_property_copy", "property", "Copy Property", 0);//COPY
}
uiPupMenuEnd(C, pup);
@@ -2255,15 +2247,51 @@
return OPERATOR_CANCELLED;
}
+static EnumPropertyItem gameprops_items[]= {
+ {0, NULL, 0, NULL, NULL}};
+
+static EnumPropertyItem *gameprops_itemf(bContext *C, PointerRNA *ptr, int *free)
+{
+ Object *ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
+ EnumPropertyItem tmp = {0, "", 0, "", ""};
+ EnumPropertyItem *item= NULL;
+ bProperty *prop;
+ int a, totitem= 0;
+
+ if(!ob)
+ return gameprops_items;
+
+ for(a=1, prop= ob->prop.first; prop; prop=prop->next, a++) {
+ tmp.value= a;
+ tmp.identifier= prop->name;
+ tmp.name= prop->name;
+ RNA_enum_item_add(&item, &totitem, &tmp);
+ }
+
+ RNA_enum_item_end(&item, &totitem);
+ *free= 1;
+
+ return item;
+}
+
static int game_property_copy_exec(bContext *C, wmOperator *op)
{
Object *ob=ED_object_active_context(C);
bProperty *prop;
- char prop_name[32];
+ int tmp_int; //need an int pointer to pass for the RNA_enum_name
+ EnumPropertyItem *dyn_props= NULL;
+ const char *prop_name= NULL;
+
int type = RNA_enum_get(op->ptr, "type");
- RNA_string_get(op->ptr, "property", prop_name);
+ int propid= RNA_enum_get(op->ptr, "property");
+ // recreate the dynamic enum with the properties
+ dyn_props = gameprops_itemf(C, NULL, &tmp_int);
+
+ if (propid > 0)
+ RNA_enum_name(dyn_props, propid, &prop_name);
+
if ( type == 1 || type == 2 || type == 3) {
CTX_DATA_BEGIN(C, Object*, ob_iter, selected_editable_objects) {
if (ob != ob_iter) {
@@ -2279,7 +2307,7 @@
}
CTX_DATA_END;
}
- else if(strlen(prop_name) > 0) { /* copy */
+ else if(prop_name) { /* copy */
prop = (bProperty *) BLI_findstring(&ob->prop, prop_name, offsetof(bProperty, name));
if(prop) {
@@ -2296,6 +2324,7 @@
void OBJECT_OT_game_property_copy(wmOperatorType *ot)
{
+ PropertyRNA *prop;
/* identifiers */
ot->name= "Copy Game Property";
ot->idname= "OBJECT_OT_game_property_copy";
@@ -2309,7 +2338,9 @@
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
RNA_def_enum(ot->srna, "type", game_properties_copy_types, 4, "Operation", "");
- RNA_def_string(ot->srna, "property", "", 32, "Name", "Name of the property to copy");
+ prop=RNA_def_enum(ot->srna, "property", gameprops_items, 0, "Property", "Properties to copy");
+ RNA_def_enum_funcs(prop, gameprops_itemf);
+ ot->prop=prop;
}
/************************ Copy Logic Bricks ***********************/
Modified: branches/render25/source/blender/editors/render/render_internal.c
===================================================================
--- branches/render25/source/blender/editors/render/render_internal.c 2010-05-24 12:41:14 UTC (rev 28957)
+++ branches/render25/source/blender/editors/render/render_internal.c 2010-05-24 12:58:33 UTC (rev 28958)
@@ -479,7 +479,7 @@
spos+= sprintf(spos, "Fra:%d Ve:%d Fa:%d ", (scene->r.cfra), rs->totvert, rs->totface);
if(rs->tothalo) spos+= sprintf(spos, "Ha:%d ", rs->tothalo);
if(rs->totstrand) spos+= sprintf(spos, "St:%d ", rs->totstrand);
- spos+= sprintf(spos, "La:%d Mem:%.2fM (%.2fM, combined peak %.2fM) ", rs->totlamp, megs_used_memory, mmap_used_memory, megs_peak_memory);
+ spos+= sprintf(spos, "La:%d Mem:%.2fM (%.2fM, peak %.2fM) ", rs->totlamp, megs_used_memory, mmap_used_memory, megs_peak_memory);
if(rs->curfield)
spos+= sprintf(spos, "Field %d ", rs->curfield);
Modified: branches/render25/source/blender/imbuf/intern/anim.c
===================================================================
--- branches/render25/source/blender/imbuf/intern/anim.c 2010-05-24 12:41:14 UTC (rev 28957)
+++ branches/render25/source/blender/imbuf/intern/anim.c 2010-05-24 12:58:33 UTC (rev 28958)
@@ -62,6 +62,7 @@
BLI_countlist BLI_stringdec */
#include "DNA_userdef_types.h"
#include "BKE_global.h"
+#include "BKE_depsgraph.h"
#include "imbuf.h"
Modified: branches/render25/source/blender/makesrna/intern/rna_sensor.c
===================================================================
--- branches/render25/source/blender/makesrna/intern/rna_sensor.c 2010-05-24 12:41:14 UTC (rev 28957)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list