[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47806] branches/soc-2011-tomato: Merging r47793 through r47805 from trunk into soc-2011-tomato

Sergey Sharybin sergey.vfx at gmail.com
Tue Jun 12 23:30:51 CEST 2012


Revision: 47806
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47806
Author:   nazgul
Date:     2012-06-12 21:30:49 +0000 (Tue, 12 Jun 2012)
Log Message:
-----------
Merging r47793 through r47805 from trunk into soc-2011-tomato

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

Modified Paths:
--------------
    branches/soc-2011-tomato/intern/cycles/blender/blender_shader.cpp
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_mask.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_object.h
    branches/soc-2011-tomato/source/blender/blenkernel/intern/curve.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/mask.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/object.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/sequencer.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
    branches/soc-2011-tomato/source/blender/blenlib/BLI_math_vector.h
    branches/soc-2011-tomato/source/blender/blenlib/intern/math_vector_inline.c
    branches/soc-2011-tomato/source/blender/collada/AnimationExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/AnimationImporter.h
    branches/soc-2011-tomato/source/blender/collada/ArmatureExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/CameraExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/CameraExporter.h
    branches/soc-2011-tomato/source/blender/collada/DocumentExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/DocumentExporter.h
    branches/soc-2011-tomato/source/blender/collada/DocumentImporter.cpp
    branches/soc-2011-tomato/source/blender/collada/EffectExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/ExportSettings.h
    branches/soc-2011-tomato/source/blender/collada/GeometryExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/GeometryExporter.h
    branches/soc-2011-tomato/source/blender/collada/ImageExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/LightExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/MaterialExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/MaterialExporter.h
    branches/soc-2011-tomato/source/blender/collada/SceneExporter.cpp
    branches/soc-2011-tomato/source/blender/collada/collada.cpp
    branches/soc-2011-tomato/source/blender/collada/collada.h
    branches/soc-2011-tomato/source/blender/collada/collada_internal.cpp
    branches/soc-2011-tomato/source/blender/collada/collada_internal.h
    branches/soc-2011-tomato/source/blender/collada/collada_utils.cpp
    branches/soc-2011-tomato/source/blender/collada/collada_utils.h
    branches/soc-2011-tomato/source/blender/compositor/intern/COM_MemoryBuffer.cpp
    branches/soc-2011-tomato/source/blender/compositor/intern/COM_NodeOperation.h
    branches/soc-2011-tomato/source/blender/compositor/nodes/COM_MaskNode.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_AlphaOverKeyOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_AlphaOverMixedOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_AlphaOverPremultiplyOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_BilateralBlurOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_BokehBlurOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_ColorCurveOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_ConvertKeyToPremulOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_ConvertPremulToKeyOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_ConvertRGBToYCCOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_ConvertYCCToRGBOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_ConvolutionEdgeFilterOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_ConvolutionFilterOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_DirectionalBlurOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_GaussianXBlurOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_GaussianYBlurOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_GlareSimpleStarOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_InvertOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_MaskOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_TonemapOperation.cpp
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_VariableSizeBokehBlurOperation.cpp
    branches/soc-2011-tomato/source/blender/editors/space_clip/clip_editor.c
    branches/soc-2011-tomato/source/blender/editors/space_clip/clip_graph_draw.c
    branches/soc-2011-tomato/source/blender/makesdna/DNA_movieclip_types.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_modifier.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_movieclip.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene_api.c
    branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_mask.c
    branches/soc-2011-tomato/source/blender/windowmanager/intern/wm_operators.c

Property Changed:
----------------
    branches/soc-2011-tomato/
    branches/soc-2011-tomato/source/blender/editors/interface/interface.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/


Property changes on: branches/soc-2011-tomato
___________________________________________________________________
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/vgroup_modifiers:38694-39989
/trunk/blender:36831-47792
   + /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/vgroup_modifiers:38694-39989
/trunk/blender:36831-47805

Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_shader.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_shader.cpp	2012-06-12 21:29:15 UTC (rev 47805)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_shader.cpp	2012-06-12 21:30:49 UTC (rev 47806)
@@ -180,6 +180,7 @@
 		case BL::ShaderNode::type_CURVE_RGB: {
 			RGBCurvesNode *ramp = new RGBCurvesNode();
 			node = ramp;
+			break;
 		}
 		case BL::ShaderNode::type_VALTORGB: {
 			RGBRampNode *ramp = new RGBRampNode();

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py	2012-06-12 21:29:15 UTC (rev 47805)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py	2012-06-12 21:30:49 UTC (rev 47806)
@@ -1013,6 +1013,7 @@
         col = layout.column()
         col.template_movieclip(sc, "clip", compact=True)
         col.prop(clip, "start_frame")
+        col.prop(clip, "frame_offset")
 
 
 class CLIP_PT_tools_clip(CLIP_PT_clip_view_panel, Panel):

Modified: branches/soc-2011-tomato/source/blender/blenkernel/BKE_mask.h
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/BKE_mask.h	2012-06-12 21:29:15 UTC (rev 47805)
+++ branches/soc-2011-tomato/source/blender/blenkernel/BKE_mask.h	2012-06-12 21:30:49 UTC (rev 47806)
@@ -169,7 +169,7 @@
 /* rasterization */
 int BKE_mask_get_duration(struct Mask *mask);
 void BKE_mask_rasterize(struct Mask *mask, int width, int height, float *buffer,
-                        const short do_aspect_correct, const short do_linear);
+                        const short do_aspect_correct);
 
 #define MASKPOINT_ISSEL_ANY(p)          ( ((p)->bezt.f1 | (p)->bezt.f2 | (p)->bezt.f2) & SELECT)
 #define MASKPOINT_ISSEL_KNOT(p)         ( (p)->bezt.f2 & SELECT)

Modified: branches/soc-2011-tomato/source/blender/blenkernel/BKE_object.h
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/BKE_object.h	2012-06-12 21:29:15 UTC (rev 47805)
+++ branches/soc-2011-tomato/source/blender/blenkernel/BKE_object.h	2012-06-12 21:30:49 UTC (rev 47806)
@@ -158,6 +158,26 @@
 
 struct MovieClip *BKE_object_movieclip_get(struct Scene *scene, struct Object *ob, int use_default);
 
+/* this function returns a superset of the scenes selection based on relationships */
+
+typedef enum eObRelationTypes {
+	OB_REL_NONE               = 0,      /* just the selection as is */
+	OB_REL_PARENT             = (1<<0), /* immediate parent */
+	OB_REL_PARENT_RECURSIVE   = (1<<1), /* parents up to root of selection tree*/
+	OB_REL_CHILDREN           = (1<<2), /* immediate children */
+	OB_REL_CHILDREN_RECURSIVE = (1<<3), /* All children */
+	OB_REL_MOD_ARMATURE       = (1<<4), /* Armatures related to the selected objects */
+	OB_REL_SCENE_CAMERA       = (1<<5), /* you might want the scene camera too even if unselected? */
+} eObRelationTypes;
+
+typedef enum eObjectSet {
+	OB_SET_SELECTED, /* Selected Objects */
+	OB_SET_VISIBLE,  /* Visible Objects  */
+	OB_SET_ALL       /* All Objects      */
+} eObjectSet;
+
+struct LinkNode *BKE_object_relational_superset(struct Scene *scene, eObjectSet objectSet, eObRelationTypes includeFilter);
+
 #ifdef __cplusplus
 }
 #endif

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/curve.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/curve.c	2012-06-12 21:29:15 UTC (rev 47805)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/curve.c	2012-06-12 21:30:49 UTC (rev 47806)
@@ -1002,9 +1002,7 @@
 						bp++;
 
 					if (*fp != 0.0f) {
-						in[0] += (*fp) * bp->vec[0];
-						in[1] += (*fp) * bp->vec[1];
-						in[2] += (*fp) * bp->vec[2];
+						madd_v3_v3fl(in, bp->vec, *fp);
 					}
 				}
 			}
@@ -1106,9 +1104,7 @@
 				bp++;
 
 			if (*fp != 0.0f) {
-				coord_fp[0] += (*fp) * bp->vec[0];
-				coord_fp[1] += (*fp) * bp->vec[1];
-				coord_fp[2] += (*fp) * bp->vec[2];
+				madd_v3_v3fl(coord_fp, bp->vec, *fp);
 
 				if (tilt_fp)
 					(*tilt_fp) += (*fp) * bp->alfa;

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/mask.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/mask.c	2012-06-12 21:29:15 UTC (rev 47805)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/mask.c	2012-06-12 21:30:49 UTC (rev 47806)
@@ -2061,19 +2061,6 @@
 	}
 }
 
-static void clamp_vn_vn_linear(float *array, const int size)
-{
-	float *arr = array + (size - 1);
-
-	int i = size;
-	while (i--) {
-		if      (*arr <= 0.0f) *arr = 0.0f;
-		else if (*arr >= 1.0f) *arr = 1.0f;
-		else *arr = srgb_to_linearrgb(*arr);
-		arr--;
-	}
-}
-
 static void clamp_vn_vn(float *array, const int size)
 {
 	float *arr = array + (size - 1);
@@ -2093,7 +2080,7 @@
 
 /* rasterization */
 void BKE_mask_rasterize(Mask *mask, int width, int height, float *buffer,
-                        const short do_aspect_correct, const short do_linear)
+                        const short do_aspect_correct)
 {
 	MaskLayer *masklay;
 
@@ -2213,12 +2200,7 @@
 		}
 
 		/* clamp at the end */
-		if (do_linear) {
-			clamp_vn_vn_linear(buffer, buffer_size);
-		}
-		else {
-			clamp_vn_vn(buffer, buffer_size);
-		}
+		clamp_vn_vn(buffer, buffer_size);
 	}
 
 	MEM_freeN(buffer_tmp);

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c	2012-06-12 21:29:15 UTC (rev 47805)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c	2012-06-12 21:30:49 UTC (rev 47806)
@@ -159,7 +159,7 @@
 	offset = sequence_guess_offset(clip->name, strlen(head), numlen);
 
 	if (numlen)
-		BLI_stringenc(name, head, tail, numlen, offset + framenr - clip->start_frame);
+		BLI_stringenc(name, head, tail, numlen, offset + framenr - clip->start_frame + clip->frame_offset);
 	else
 		BLI_strncpy(name, clip->name, sizeof(clip->name));
 
@@ -171,7 +171,7 @@
 {
 	int size = rendersize_to_number(proxy_render_size);
 	char dir[FILE_MAX], clipdir[FILE_MAX], clipfile[FILE_MAX];
-	int proxynr = framenr - clip->start_frame + 1;
+	int proxynr = framenr - clip->start_frame + 1 + clip->frame_offset;
 
 	BLI_split_dirfile(clip->name, clipdir, clipfile, FILE_MAX, FILE_MAX);
 
@@ -250,7 +250,7 @@
 		int fra;
 
 		dur = IMB_anim_get_duration(clip->anim, tc);
-		fra = framenr - clip->start_frame;
+		fra = framenr - clip->start_frame + clip->frame_offset;
 
 		if (fra < 0)
 			fra = 0;
@@ -446,6 +446,7 @@
 	clip->proxy.quality = 90;
 
 	clip->start_frame = 1;
+	clip->frame_offset = 0;
 
 	return clip;
 }

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/object.c	2012-06-12 21:29:15 UTC (rev 47805)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/object.c	2012-06-12 21:30:49 UTC (rev 47806)
@@ -63,6 +63,7 @@
 #include "BLI_math.h"
 #include "BLI_pbvh.h"
 #include "BLI_utildefines.h"
+#include "BLI_linklist.h"
 
 #include "BKE_main.h"
 #include "BKE_global.h"
@@ -3076,3 +3077,136 @@
 
 	return clip;
 }
+
+
+/*
+ * Find an associated Armature object
+ */
+static Object *obrel_armature_find(Object *ob)
+{
+	Object *ob_arm = NULL;
+
+	if (ob->parent && ob->partype == PARSKEL && ob->parent->type == OB_ARMATURE) {
+		ob_arm = ob->parent;
+	}
+	else {
+		ModifierData *mod = (ModifierData*)ob->modifiers.first;
+		while (mod) {
+			if (mod->type == eModifierType_Armature) {
+				ob_arm = ((ArmatureModifierData*)mod)->object;
+			}
+
+			mod = mod->next;
+		}
+	}
+
+	return ob_arm;
+}
+
+static int obrel_is_recursive_child(Object *ob, Object *child) {
+	Object *ancestor = child->parent;
+	while (ancestor)
+	{
+		if(ancestor == ob) return TRUE;
+		ancestor = ancestor->parent;
+	}
+	return FALSE;
+}
+
+
+static int obrel_list_test(Object *ob)
+{
+	return ob && !(ob->id.flag & LIB_DOIT);
+}
+
+static void obrel_list_add(LinkNode **links, Object *ob)
+{
+	BLI_linklist_prepend(links, ob);
+	ob->id.flag |= LIB_DOIT;
+}
+
+/*
+ * Iterates over all objects of the given scene.
+ * Depending on the eObjectSet flag:
+ * collect either OB_SET_ALL, OB_SET_VISIBLE or OB_SET_SELECTED objects.
+ * If OB_SET_VISIBLE or OB_SET_SELECTED are collected, 
+ * then also add related objects according to the given includeFilters.
+ */
+struct LinkNode *BKE_object_relational_superset(struct Scene *scene, eObjectSet objectSet, eObRelationTypes includeFilter)
+{
+	LinkNode *links = NULL;
+
+	Base *base;
+
+	/* Remove markers from all objects */
+	for (base = scene->base.first; base; base = base->next) {
+		base->object->id.flag &= ~LIB_DOIT;
+	}
+
+	/* iterate over all selected and visible objects */
+	for (base = scene->base.first; base; base = base->next) {
+		if (objectSet == OB_SET_ALL) {
+			// as we get all anyways just add it
+			Object *ob = base->object;
+			obrel_list_add(&links, ob);
+		}
+		else {
+			if ( (objectSet == OB_SET_SELECTED && TESTBASELIB_BGMODE(((View3D *)NULL), scene, base))
+			||   (objectSet == OB_SET_VISIBLE  && BASE_EDITABLE_BGMODE(((View3D *)NULL), scene, base))
+				) {
+				Object *ob = base->object;
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list