[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58133] branches/soc-2013-cycles_mblur: Merged trunk into branch.

Gavin Howard gavin.d.howard at gmail.com
Wed Jul 10 03:10:41 CEST 2013


Revision: 58133
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58133
Author:   gdh
Date:     2013-07-10 01:10:39 +0000 (Wed, 10 Jul 2013)
Log Message:
-----------
Merged trunk into branch. Includes r58104 to r58130.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58104
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58130

Modified Paths:
--------------
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/BKE_DerivedMesh.h
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/BKE_scene.h
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/editderivedmesh.c
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/mball.c
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/scene.c
    branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/text.c
    branches/soc-2013-cycles_mblur/source/blender/blenlib/BLI_string_utf8.h
    branches/soc-2013-cycles_mblur/source/blender/blenlib/intern/string_utf8.c
    branches/soc-2013-cycles_mblur/source/blender/blenloader/intern/writefile.c
    branches/soc-2013-cycles_mblur/source/blender/editors/include/UI_interface.h
    branches/soc-2013-cycles_mblur/source/blender/editors/interface/interface.c
    branches/soc-2013-cycles_mblur/source/blender/editors/interface/interface_handlers.c
    branches/soc-2013-cycles_mblur/source/blender/editors/interface/interface_layout.c
    branches/soc-2013-cycles_mblur/source/blender/editors/interface/interface_regions.c
    branches/soc-2013-cycles_mblur/source/blender/editors/interface/interface_templates.c
    branches/soc-2013-cycles_mblur/source/blender/editors/mesh/editface.c
    branches/soc-2013-cycles_mblur/source/blender/editors/mesh/editmesh_tools.c
    branches/soc-2013-cycles_mblur/source/blender/editors/object/object_vgroup.c
    branches/soc-2013-cycles_mblur/source/blender/editors/sculpt_paint/paint_image_proj.c
    branches/soc-2013-cycles_mblur/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2013-cycles_mblur/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
    branches/soc-2013-cycles_mblur/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h
    branches/soc-2013-cycles_mblur/source/blender/makesdna/DNA_curve_types.h
    branches/soc-2013-cycles_mblur/source/blender/makesrna/intern/rna_mesh.c
    branches/soc-2013-cycles_mblur/source/blender/makesrna/intern/rna_object.c
    branches/soc-2013-cycles_mblur/source/blender/makesrna/intern/rna_space.c
    branches/soc-2013-cycles_mblur/source/blender/render/intern/source/envmap.c

Property Changed:
----------------
    branches/soc-2013-cycles_mblur/
    branches/soc-2013-cycles_mblur/source/blender/editors/interface/interface.c


Property changes on: branches/soc-2013-cycles_mblur
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573
/branches/soc-2013-depsgraph_mt:57516
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57388-58103
   + /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573
/branches/soc-2013-depsgraph_mt:57516
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57388-58130

Modified: branches/soc-2013-cycles_mblur/source/blender/blenkernel/BKE_DerivedMesh.h
===================================================================
--- branches/soc-2013-cycles_mblur/source/blender/blenkernel/BKE_DerivedMesh.h	2013-07-10 01:05:56 UTC (rev 58132)
+++ branches/soc-2013-cycles_mblur/source/blender/blenkernel/BKE_DerivedMesh.h	2013-07-10 01:10:39 UTC (rev 58133)
@@ -323,6 +323,7 @@
 
 	/** Get smooth vertex normal, undefined if index is not valid */
 	void (*getVertNo)(DerivedMesh *dm, int index, float no_r[3]);
+	void (*getPolyNo)(DerivedMesh *dm, int index, float no_r[3]);
 
 	/** Get a map of vertices to faces
 	 */

Modified: branches/soc-2013-cycles_mblur/source/blender/blenkernel/BKE_scene.h
===================================================================
--- branches/soc-2013-cycles_mblur/source/blender/blenkernel/BKE_scene.h	2013-07-10 01:05:56 UTC (rev 58132)
+++ branches/soc-2013-cycles_mblur/source/blender/blenkernel/BKE_scene.h	2013-07-10 01:10:39 UTC (rev 58133)
@@ -75,8 +75,18 @@
 void         BKE_scene_base_unlink(struct Scene *sce, struct Base *base);
 void         BKE_scene_base_deselect_all(struct Scene *sce);
 void         BKE_scene_base_select(struct Scene *sce, struct Base *selbase);
-int          BKE_scene_base_iter_next(struct Scene **scene, int val, struct Base **base, struct Object **ob);
 
+/* Scene base iteration function.
+ * Define struct here, so no need to bother with alloc/free it.
+ */
+typedef struct SceneBaseIter {
+	struct ListBase *duplilist;
+	struct DupliObject *dupob;
+	int fase;
+} SceneBaseIter;
+
+int          BKE_scene_base_iter_next(struct SceneBaseIter *iter, struct Scene **scene, int val, struct Base **base, struct Object **ob);
+
 void BKE_scene_base_flag_to_objects(struct Scene *scene);
 void BKE_scene_base_flag_from_objects(struct Scene *scene);
 

Modified: branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/editderivedmesh.c
===================================================================
--- branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/editderivedmesh.c	2013-07-10 01:05:56 UTC (rev 58132)
+++ branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/editderivedmesh.c	2013-07-10 01:10:39 UTC (rev 58133)
@@ -1109,6 +1109,66 @@
 		copy_v3_v3(r_vert->co, bmdm->vertexCos[index]);
 }
 
+static void emDM_getVertCo(DerivedMesh *dm, int index, float r_co[3])
+{
+	EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm;
+	BMesh *bm = bmdm->em->bm;
+
+	if (UNLIKELY(index < 0 || index >= bm->totvert)) {
+		BLI_assert(!"error in emDM_getVertCo");
+		return;
+	}
+
+	if (bmdm->vertexCos) {
+		copy_v3_v3(r_co, bmdm->vertexCos[index]);
+	}
+	else {
+		BMVert *ev = bmdm->em->vert_index[index];  /* should be EDBM_vert_at_index() */
+		// ev = BM_vert_at_index(bm, index); /* warning, does list loop, _not_ ideal */
+		copy_v3_v3(r_co, ev->co);
+	}
+}
+
+static void emDM_getVertNo(DerivedMesh *dm, int index, float r_no[3])
+{
+	EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm;
+	BMesh *bm = bmdm->em->bm;
+
+	if (UNLIKELY(index < 0 || index >= bm->totvert)) {
+		BLI_assert(!"error in emDM_getVertNo");
+		return;
+	}
+
+	if (bmdm->vertexNos) {
+		copy_v3_v3(r_no, bmdm->vertexNos[index]);
+	}
+	else {
+		BMVert *ev = bmdm->em->vert_index[index];  /* should be EDBM_vert_at_index() */
+		// ev = BM_vert_at_index(bm, index); /* warning, does list loop, _not_ ideal */
+		copy_v3_v3(r_no, ev->no);
+	}
+}
+
+static void emDM_getPolyNo(DerivedMesh *dm, int index, float r_no[3])
+{
+	EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm;
+	BMesh *bm = bmdm->em->bm;
+
+	if (UNLIKELY(index < 0 || index >= bm->totface)) {
+		BLI_assert(!"error in emDM_getPolyNo");
+		return;
+	}
+
+	if (bmdm->polyNos) {
+		copy_v3_v3(r_no, bmdm->polyNos[index]);
+	}
+	else {
+		BMFace *efa = bmdm->em->face_index[index];  /* should be EDBM_vert_at_index() */
+		// efa = BM_face_at_index(bm, index); /* warning, does list loop, _not_ ideal */
+		copy_v3_v3(r_no, efa->no);
+	}
+}
+
 static void emDM_getEdge(DerivedMesh *dm, int index, MEdge *r_edge)
 {
 	EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm;
@@ -1456,6 +1516,9 @@
 	bmdm->dm.getNumPolys = emDM_getNumPolys;
 
 	bmdm->dm.getVert = emDM_getVert;
+	bmdm->dm.getVertCo = emDM_getVertCo;
+	bmdm->dm.getVertNo = emDM_getVertNo;
+	bmdm->dm.getPolyNo = emDM_getPolyNo;
 	bmdm->dm.getEdge = emDM_getEdge;
 	bmdm->dm.getTessFace = emDM_getTessFace;
 	bmdm->dm.copyVertArray = emDM_copyVertArray;
@@ -1487,6 +1550,7 @@
 	bmdm->dm.release = emDM_release;
 
 	bmdm->vertexCos = vertexCos;
+	bmdm->dm.deformedOnly = (vertexCos != NULL);
 
 	if (cd_dvert_offset != -1) {
 		BMIter iter;

Modified: branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/mball.c
===================================================================
--- branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/mball.c	2013-07-10 01:05:56 UTC (rev 58132)
+++ branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/mball.c	2013-07-10 01:10:39 UTC (rev 58133)
@@ -485,14 +485,15 @@
 	MetaBall *active_mball = (MetaBall *)active_object->data;
 	int basisnr, obnr;
 	char basisname[MAX_ID_NAME], obname[MAX_ID_NAME];
-	
+	SceneBaseIter iter;
+
 	BLI_split_name_num(basisname, &basisnr, active_object->id.name + 2, '.');
 
 	/* XXX recursion check, see scene.c, just too simple code this BKE_scene_base_iter_next() */
-	if (F_ERROR == BKE_scene_base_iter_next(&sce_iter, 0, NULL, NULL))
+	if (F_ERROR == BKE_scene_base_iter_next(&iter, &sce_iter, 0, NULL, NULL))
 		return;
 	
-	while (BKE_scene_base_iter_next(&sce_iter, 1, &base, &ob)) {
+	while (BKE_scene_base_iter_next(&iter, &sce_iter, 1, &base, &ob)) {
 		if (ob->type == OB_MBALL) {
 			if (ob != active_object) {
 				BLI_split_name_num(obname, &obnr, ob->id.name + 2, '.');
@@ -529,14 +530,15 @@
 	Object *ob, *bob = basis;
 	int basisnr, obnr;
 	char basisname[MAX_ID_NAME], obname[MAX_ID_NAME];
+	SceneBaseIter iter;
 
 	BLI_split_name_num(basisname, &basisnr, basis->id.name + 2, '.');
 
 	/* XXX recursion check, see scene.c, just too simple code this BKE_scene_base_iter_next() */
-	if (F_ERROR == BKE_scene_base_iter_next(&sce_iter, 0, NULL, NULL))
+	if (F_ERROR == BKE_scene_base_iter_next(&iter, &sce_iter, 0, NULL, NULL))
 		return NULL;
 
-	while (BKE_scene_base_iter_next(&sce_iter, 1, &base, &ob)) {
+	while (BKE_scene_base_iter_next(&iter, &sce_iter, 1, &base, &ob)) {
 		if (ob->type == OB_MBALL) {
 			if (ob != bob) {
 				BLI_split_name_num(obname, &obnr, ob->id.name + 2, '.');
@@ -1655,7 +1657,8 @@
 	//float max = 0.0f;
 	int a, obnr, zero_size = 0;
 	char obname[MAX_ID_NAME];
-	
+	SceneBaseIter iter;
+
 	copy_m4_m4(obmat, ob->obmat);   /* to cope with duplicators from BKE_scene_base_iter_next */
 	invert_m4_m4(obinv, ob->obmat);
 	a = 0;
@@ -1663,8 +1666,8 @@
 	BLI_split_name_num(obname, &obnr, ob->id.name + 2, '.');
 	
 	/* make main array */
-	BKE_scene_base_iter_next(&sce_iter, 0, NULL, NULL);
-	while (BKE_scene_base_iter_next(&sce_iter, 1, &base, &bob)) {
+	BKE_scene_base_iter_next(&iter, &sce_iter, 0, NULL, NULL);
+	while (BKE_scene_base_iter_next(&iter, &sce_iter, 1, &base, &bob)) {
 
 		if (bob->type == OB_MBALL) {
 			zero_size = 0;
@@ -2225,15 +2228,16 @@
 	MetaElem *ml = NULL;
 	int basisnr, obnr;
 	char basisname[MAX_ID_NAME], obname[MAX_ID_NAME];
+	SceneBaseIter iter;
 
 	BLI_split_name_num(basisname, &basisnr, basis->id.name + 2, '.');
 	process->totelem = 0;
 
 	/* XXX recursion check, see scene.c, just too simple code this BKE_scene_base_iter_next() */
-	if (F_ERROR == BKE_scene_base_iter_next(&sce_iter, 0, NULL, NULL))
+	if (F_ERROR == BKE_scene_base_iter_next(&iter, &sce_iter, 0, NULL, NULL))
 		return;
 
-	while (BKE_scene_base_iter_next(&sce_iter, 1, &base, &ob)) {
+	while (BKE_scene_base_iter_next(&iter, &sce_iter, 1, &base, &ob)) {
 		if (ob->type == OB_MBALL) {
 			if (ob == bob) {
 				MetaBall *mb = ob->data;

Modified: branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/scene.c
===================================================================
--- branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/scene.c	2013-07-10 01:05:56 UTC (rev 58132)
+++ branches/soc-2013-cycles_mblur/source/blender/blenkernel/intern/scene.c	2013-07-10 01:10:39 UTC (rev 58133)
@@ -746,17 +746,16 @@
 /* used by metaballs
  * doesn't return the original duplicated object, only dupli's
  */
-int BKE_scene_base_iter_next(Scene **scene, int val, Base **base, Object **ob)
+int BKE_scene_base_iter_next(SceneBaseIter *iter, Scene **scene, int val, Base **base, Object **ob)
 {
-	static ListBase *duplilist = NULL;
-	static DupliObject *dupob;
-	static int fase = F_START, in_next_object = 0;
+	static int in_next_object = 0;
 	int run_again = 1;
 	
 	/* init */
 	if (val == 0) {

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list