[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29362] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29331 :29361
Campbell Barton
ideasman42 at gmail.com
Wed Jun 9 11:08:36 CEST 2010
Revision: 29362
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29362
Author: campbellbarton
Date: 2010-06-09 11:08:34 +0200 (Wed, 09 Jun 2010)
Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29331:29361
Modified Paths:
--------------
branches/render25/CMakeLists.txt
branches/render25/release/scripts/io/export_fbx.py
branches/render25/release/scripts/modules/bpy_types.py
branches/render25/source/blender/blenkernel/intern/object.c
branches/render25/source/blender/blenloader/intern/readfile.c
branches/render25/source/blender/editors/interface/interface_panel.c
branches/render25/source/blender/editors/mesh/editmesh_tools.c
branches/render25/source/blender/editors/object/object_relations.c
branches/render25/source/blender/editors/render/CMakeLists.txt
branches/render25/source/blender/editors/screen/screen_ops.c
branches/render25/source/blender/editors/space_script/script_edit.c
branches/render25/source/blender/makesrna/intern/rna_internal.h
branches/render25/source/blender/makesrna/intern/rna_object.c
branches/render25/source/blender/makesrna/intern/rna_object_api.c
branches/render25/source/blender/makesrna/intern/rna_particle.c
Modified: branches/render25/CMakeLists.txt
===================================================================
--- branches/render25/CMakeLists.txt 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/CMakeLists.txt 2010-06-09 09:08:34 UTC (rev 29362)
@@ -45,7 +45,7 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
# quiet output for Makefiles, 'make -s' helps too
-SET_PROPERTY(GLOBAL PROPERTY RULE_MESSAGES OFF)
+# SET_PROPERTY(GLOBAL PROPERTY RULE_MESSAGES OFF)
PROJECT(Blender)
Modified: branches/render25/release/scripts/io/export_fbx.py
===================================================================
--- branches/render25/release/scripts/io/export_fbx.py 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/release/scripts/io/export_fbx.py 2010-06-09 09:08:34 UTC (rev 29362)
@@ -2011,9 +2011,8 @@
if ob_arms_orig_rest:
for ob_base in bpy.data.objects:
- #if ob_base.type == 'Armature':
- ob_base.make_display_list(scene)
-# ob_base.makeDisplayList()
+ if ob_base.type == 'ARMATURE':
+ ob_base.update(scene)
# This causes the makeDisplayList command to effect the mesh
scene.set_frame(scene.frame_current)
@@ -2187,9 +2186,7 @@
if ob_arms_orig_rest:
for ob_base in bpy.data.objects:
if ob_base.type == 'ARMATURE':
-# if ob_base.type == 'Armature':
- ob_base.make_display_list(scene)
-# ob_base.makeDisplayList()
+ ob_base.update(scene)
# This causes the makeDisplayList command to effect the mesh
scene.set_frame(scene.frame_current)
# Blender.Set('curframe', Blender.Get('curframe'))
Modified: branches/render25/release/scripts/modules/bpy_types.py
===================================================================
--- branches/render25/release/scripts/modules/bpy_types.py 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/release/scripts/modules/bpy_types.py 2010-06-09 09:08:34 UTC (rev 29362)
@@ -38,6 +38,22 @@
return new_context
+class Texture(bpy_types.ID):
+ __slots__ = ()
+
+ @property
+ def users_material(self):
+ """Materials that use this texture"""
+ import bpy
+ return tuple(mat for mat in bpy.data.materials if self in [slot.texture for slot in mat.texture_slots if slot])
+
+ @property
+ def users_object_modifier(self):
+ """Object modifiers that use this texture"""
+ import bpy
+ return tuple(obj for obj in bpy.data.objects if self in [mod.texture for mod in obj.modifiers if mod.type == 'DISPLACE'])
+
+
class Group(bpy_types.ID):
__slots__ = ()
Modified: branches/render25/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/object.c 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/blenkernel/intern/object.c 2010-06-09 09:08:34 UTC (rev 29362)
@@ -1028,6 +1028,8 @@
ob->anisotropicFriction[2] = 1.0f;
ob->gameflag= OB_PROP|OB_COLLISION;
ob->margin = 0.0;
+ ob->init_state=1;
+ ob->state=1;
/* ob->pad3 == Contact Processing Threshold */
ob->m_contactProcessingThreshold = 1.;
Modified: branches/render25/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/readfile.c 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/blenloader/intern/readfile.c 2010-06-09 09:08:34 UTC (rev 29362)
@@ -3111,6 +3111,7 @@
for(; pt; pt=pt->next)
pt->ob=newlibadr(fd, id->lib, pt->ob);
+ psys->parent= newlibadr_us(fd, id->lib, psys->parent);
psys->target_ob = newlibadr(fd, id->lib, psys->target_ob);
if(psys->clmd) {
@@ -3180,7 +3181,7 @@
psys->childcachebufs.first = psys->childcachebufs.last = NULL;
psys->frand = NULL;
psys->pdd = NULL;
-
+
direct_link_pointcache_list(fd, &psys->ptcaches, &psys->pointcache);
if(psys->clmd) {
Modified: branches/render25/source/blender/editors/interface/interface_panel.c
===================================================================
--- branches/render25/source/blender/editors/interface/interface_panel.c 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/interface/interface_panel.c 2010-06-09 09:08:34 UTC (rev 29362)
@@ -656,6 +656,10 @@
{
const PanelSort *ps1=a1, *ps2=a2;
+ /* stick uppermost header-less panels to the top of the region -
+ * prevent them from being sorted */
+ if (ps1->pa->sortorder < ps2->pa->sortorder && ps1->pa->type->flag & PNL_NO_HEADER) return -1;
+
if(ps1->pa->ofsy+ps1->pa->sizey < ps2->pa->ofsy+ps2->pa->sizey) return 1;
else if(ps1->pa->ofsy+ps1->pa->sizey > ps2->pa->ofsy+ps2->pa->sizey) return -1;
else if(ps1->pa->sortorder > ps2->pa->sortorder) return 1;
@@ -1055,7 +1059,7 @@
inside= 1;
if(inside && event->val==KM_PRESS) {
- if(event->type == AKEY) {
+ if(event->type == AKEY && !ELEM3(1, event->ctrl, event->oskey, event->shift)) {
if(pa->flag & PNL_CLOSEDY) {
if((block->maxy <= my) && (block->maxy+PNL_HEADER >= my))
Modified: branches/render25/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- branches/render25/source/blender/editors/mesh/editmesh_tools.c 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/mesh/editmesh_tools.c 2010-06-09 09:08:34 UTC (rev 29362)
@@ -7113,9 +7113,6 @@
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
- /* recalc outside so that joining doesn't create a hole */
- EM_recalc_normal_direction(em, 0, 1);
-
join_triangles(em);
DAG_id_flush_update(obedit->data, OB_RECALC_DATA);
Modified: branches/render25/source/blender/editors/object/object_relations.c
===================================================================
--- branches/render25/source/blender/editors/object/object_relations.c 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/object/object_relations.c 2010-06-09 09:08:34 UTC (rev 29362)
@@ -1188,6 +1188,29 @@
MAKE_LINKS_MODIFIERS
};
+/* Return 1 if make link data is allow, zero otherwise */
+static int allow_make_links_data(int ev, Object *ob, Object *obt)
+{
+ if (ev == MAKE_LINKS_OBDATA) {
+ if (ob->type == OB_MESH && obt->type == OB_MESH)
+ return(1);
+ }
+ else if (ev == MAKE_LINKS_MATERIALS) {
+ if ((ob->type == OB_MESH || ob->type == OB_CURVE || ob->type == OB_FONT || ob->type == OB_SURF || ob->type == OB_MBALL) &&
+ (obt->type == OB_MESH || obt->type == OB_CURVE || obt->type == OB_FONT || obt->type == OB_SURF || obt->type == OB_MBALL))
+ return(1);
+ }
+ else if (ev == MAKE_LINKS_ANIMDATA)
+ return(1);
+ else if (ev == MAKE_LINKS_DUPLIGROUP)
+ return(1);
+ else if (ev == MAKE_LINKS_MODIFIERS) {
+ if (ob->type != OB_EMPTY && obt->type != OB_EMPTY)
+ return(1);
+ }
+ return(0);
+}
+
static int make_links_data_exec(bContext *C, wmOperator *op)
{
int event = RNA_int_get(op->ptr, "type");
@@ -1199,46 +1222,45 @@
CTX_DATA_BEGIN(C, Object*, obt, selected_editable_objects) {
if(ob != obt) {
- switch(event) {
- case MAKE_LINKS_OBDATA: /* obdata */
- if (ob->type != obt->type)
- continue;
+ if (allow_make_links_data(event, ob, obt)) {
+ switch(event) {
+ case MAKE_LINKS_OBDATA: /* obdata */
+ id= obt->data;
+ id->us--;
- id= obt->data;
- id->us--;
+ id= ob->data;
+ id_us_plus(id);
+ obt->data= id;
- id= ob->data;
- id_us_plus(id);
- obt->data= id;
+ /* if amount of material indices changed: */
+ test_object_materials(obt->data);
- /* if amount of material indices changed: */
- test_object_materials(obt->data);
-
- obt->recalc |= OB_RECALC_DATA;
- break;
- case MAKE_LINKS_MATERIALS:
- /* new approach, using functions from kernel */
- for(a=0; a<ob->totcol; a++) {
- Material *ma= give_current_material(ob, a+1);
- assign_material(obt, ma, a+1); /* also works with ma==NULL */
+ obt->recalc |= OB_RECALC_DATA;
+ break;
+ case MAKE_LINKS_MATERIALS:
+ /* new approach, using functions from kernel */
+ for(a=0; a<ob->totcol; a++) {
+ Material *ma= give_current_material(ob, a+1);
+ assign_material(obt, ma, a+1); /* also works with ma==NULL */
+ }
+ break;
+ case MAKE_LINKS_ANIMDATA:
+ BKE_copy_animdata_id((ID *)obt, (ID *)ob);
+ BKE_copy_animdata_id((ID *)obt->data, (ID *)ob->data);
+ break;
+ case MAKE_LINKS_DUPLIGROUP:
+ if(ob->dup_group) ob->dup_group->id.us--;
+ obt->dup_group= ob->dup_group;
+ if(obt->dup_group) {
+ id_us_plus((ID *)obt->dup_group);
+ obt->transflag |= OB_DUPLIGROUP;
+ }
+ break;
+ case MAKE_LINKS_MODIFIERS:
+ object_link_modifiers(obt, ob);
+ obt->recalc |= OB_RECALC;
+ break;
}
- break;
- case MAKE_LINKS_ANIMDATA:
- BKE_copy_animdata_id((ID *)obt, (ID *)ob);
- BKE_copy_animdata_id((ID *)obt->data, (ID *)ob->data);
- break;
- case MAKE_LINKS_DUPLIGROUP:
- if(ob->dup_group) ob->dup_group->id.us--;
- obt->dup_group= ob->dup_group;
- if(obt->dup_group) {
- id_us_plus((ID *)obt->dup_group);
- obt->transflag |= OB_DUPLIGROUP;
- }
- break;
- case MAKE_LINKS_MODIFIERS:
- object_link_modifiers(obt, ob);
- obt->recalc |= OB_RECALC;
- break;
}
}
}
Modified: branches/render25/source/blender/editors/render/CMakeLists.txt
===================================================================
--- branches/render25/source/blender/editors/render/CMakeLists.txt 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/render/CMakeLists.txt 2010-06-09 09:08:34 UTC (rev 29362)
@@ -39,7 +39,7 @@
)
IF(WITH_QUICKTIME)
- SET(INC ${INC} ../quicktime ${QUICKTIME_INC})
+ SET(INC ${INC} ../../quicktime ${QUICKTIME_INC})
ADD_DEFINITIONS(-DWITH_QUICKTIME)
ENDIF(WITH_QUICKTIME)
Modified: branches/render25/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/render25/source/blender/editors/screen/screen_ops.c 2010-06-09 08:33:22 UTC (rev 29361)
+++ branches/render25/source/blender/editors/screen/screen_ops.c 2010-06-09 09:08:34 UTC (rev 29362)
@@ -2172,34 +2172,22 @@
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list