[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