[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