Revision: 50189
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50189
Author:   nazgul
Date:     2012-08-24 14:11:04 +0000 (Fri, 24 Aug 2012)
Log Message:
-----------
Mergin trunk into soc-2011-tomato up to rev 50188

All reverted commits should be merged again.

--
svn merge -r50173:50188 ^/trunk/blender

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

Modified Paths:
--------------
    branches/soc-2011-tomato/source/blender/editors/mask/mask_add.c
    branches/soc-2011-tomato/source/blender/editors/uvedit/uvedit_parametrizer.c
    branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/CMakeLists.txt
    branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/SConscript
    branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/openexr_api.cpp
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2011-tomato/source/blender/windowmanager/intern/wm_playanim.c
    branches/soc-2011-tomato/source/blender/windowmanager/intern/wm_window.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-50173,50179
   + 
/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-50188


Property changes on: 
branches/soc-2011-tomato/source/blender/editors/interface/interface.c
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_candy/source/blender/editors/interface/interface.c:45070-46163
/branches/ge_harmony/source/blender/editors/interface/interface.c: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/source/blender/editors/interface/interface.c:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers/source/blender/editors/interface/interface.c:38694-39989
/trunk/blender/source/blender/editors/interface/interface.c:36831-50173,50179
   + /branches/ge_candy/source/blender/editors/interface/interface.c:45070-46163
/branches/ge_harmony/source/blender/editors/interface/interface.c: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/source/blender/editors/interface/interface.c:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers/source/blender/editors/interface/interface.c:38694-39989
/trunk/blender/source/blender/editors/interface/interface.c:36831-50188

Modified: branches/soc-2011-tomato/source/blender/editors/mask/mask_add.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/mask/mask_add.c     
2012-08-24 14:04:21 UTC (rev 50188)
+++ branches/soc-2011-tomato/source/blender/editors/mask/mask_add.c     
2012-08-24 14:11:04 UTC (rev 50189)
@@ -182,7 +182,8 @@
 
 static void setup_vertex_point(const bContext *C, Mask *mask, MaskSpline 
*spline, MaskSplinePoint *new_point,
                                const float point_co[2], const float 
tangent[2], const float u,
-                               MaskSplinePoint *reference_point, const short 
reference_adjacent)
+                               MaskSplinePoint *reference_point, const short 
reference_adjacent,
+                               const float view_zoom)
 {
        ScrArea *sa = CTX_wm_area(C);
 
@@ -225,8 +226,8 @@
        /* initial offset for handles */
        if (spline->tot_point == 1) {
                /* first point of splien is aligned horizontally */
-               bezt->vec[0][0] -= len / width;
-               bezt->vec[2][0] += len / width;
+               bezt->vec[0][0] -= len / maxi(width, height) * view_zoom;
+               bezt->vec[2][0] += len / maxi(width, height) * view_zoom;
        }
        else if (tangent) {
                float vec[2];
@@ -391,7 +392,7 @@
 
                new_point = &spline->points[point_index + 1];
 
-               setup_vertex_point(C, mask, spline, new_point, co, tangent, u, 
NULL, TRUE);
+               setup_vertex_point(C, mask, spline, new_point, co, tangent, u, 
NULL, TRUE, 1.0f);
 
                /* TODO - we could pass the spline! */
                BKE_mask_layer_shape_changed_add(masklay, 
BKE_mask_layer_shape_spline_to_index(masklay, spline) + point_index + 1, TRUE, 
TRUE);
@@ -490,7 +491,7 @@
 
        masklay->act_point = new_point;
 
-       setup_vertex_point(C, mask, spline, new_point, co, NULL, 0.5f, 
ref_point, FALSE);
+       setup_vertex_point(C, mask, spline, new_point, co, NULL, 0.5f, 
ref_point, FALSE, 1.0f);
 
        if (masklay->splines_shapes.first) {
                point_index = (((int)(new_point - spline->points) + 0) % 
spline->tot_point);
@@ -512,6 +513,7 @@
        MaskSpline *spline;
        MaskSplinePoint *point;
        MaskSplinePoint *new_point = NULL, *ref_point = NULL;
+       float view_zoom;
 
        if (!masklay) {
                /* if there's no masklay currently operationg on, create new 
one */
@@ -536,8 +538,27 @@
 
        masklay->act_point = new_point;
 
-       setup_vertex_point(C, mask, spline, new_point, co, NULL, 0.5f, 
ref_point, FALSE);
+       {
+               ScrArea *sa = CTX_wm_area(C);
+               ARegion *ar = CTX_wm_region(C);
 
+               /* calc view zoom in a simplistic way */
+               float co_a[2];
+               float co_b[2];
+               int mval_a[2] = {0, 0};
+               int mval_b[2] = {1, 1};
+
+               ED_mask_mouse_pos(sa, ar, mval_a, co_a);
+               ED_mask_mouse_pos(sa, ar, mval_b, co_b);
+
+               view_zoom = ((co_b[0] - co_a[0]) + (co_b[1] - co_a[1])) / 2.0f;
+
+               /* scale up - arbitrarty but works well in the view */
+               view_zoom *= 200.0f;
+       }
+
+       setup_vertex_point(C, mask, spline, new_point, co, NULL, 0.5f, 
ref_point, FALSE, view_zoom);
+
        {
                int point_index = (((int)(new_point - spline->points) + 0) % 
spline->tot_point);
                BKE_mask_layer_shape_changed_add(masklay, 
BKE_mask_layer_shape_spline_to_index(masklay, spline) + point_index, TRUE, 
TRUE);


Property changes on: 
branches/soc-2011-tomato/source/blender/editors/space_outliner
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/branches/soc-2011-cucumber/source/blender/editors/space_outliner:38968,38970,38973,39045,40845
/branches/soc-2011-pepper/source/blender/editors/space_outliner:36831-38987
/trunk/blender/source/blender/editors/space_outliner:36831-50173,50179
   + 
/branches/soc-2011-cucumber/source/blender/editors/space_outliner:38968,38970,38973,39045,40845
/branches/soc-2011-pepper/source/blender/editors/space_outliner:36831-38987
/trunk/blender/source/blender/editors/space_outliner:36831-50188

Modified: 
branches/soc-2011-tomato/source/blender/editors/uvedit/uvedit_parametrizer.c
===================================================================
--- 
branches/soc-2011-tomato/source/blender/editors/uvedit/uvedit_parametrizer.c    
    2012-08-24 14:04:21 UTC (rev 50188)
+++ 
branches/soc-2011-tomato/source/blender/editors/uvedit/uvedit_parametrizer.c    
    2012-08-24 14:11:04 UTC (rev 50189)
@@ -1135,7 +1135,11 @@
 
 static PBool p_quad_split_direction(PHandle *handle, float **co, PHashKey 
*vkeys)
 {
-       float fac = len_v3v3(co[0], co[2]) - len_v3v3(co[1], co[3]);
+       /* slight bias to prefer one edge over the other in case they are 
equal, so
+        * that in symmetric models we choose the same split direction instead 
of
+        * depending on floating point errors to decide */
+       float bias = 1.0f + 1e-6f;
+       float fac = len_v3v3(co[0], co[2])*bias - len_v3v3(co[1], co[3]);
        PBool dir = (fac <= 0.0f);
 
        /* the face exists check is there because of a special case: when

Modified: 
branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/CMakeLists.txt
===================================================================
--- branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/CMakeLists.txt 
2012-08-24 14:04:21 UTC (rev 50188)
+++ branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/CMakeLists.txt 
2012-08-24 14:11:04 UTC (rev 50189)
@@ -31,6 +31,7 @@
        ../../../blenlib
        ../../../makesdna
        ../../../../../intern/guardedalloc
+       ../../../../../intern/utfconv
 )
 
 set(INC_SYS

Modified: 
branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/SConscript
===================================================================
--- branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/SConscript     
2012-08-24 14:04:21 UTC (rev 50188)
+++ branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/SConscript     
2012-08-24 14:11:04 UTC (rev 50189)
@@ -10,7 +10,9 @@
     '../../../blenlib',
     'intern/include',
     '#/intern/guardedalloc',
-    '../../../makesdna']
+    '../../../makesdna',
+    '#/intern/utfconv']
+
 incs += Split(env['BF_OPENEXR_INC'])
 
 defs = ['WITH_OPENEXR']

Modified: 
branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/openexr_api.cpp
===================================================================
--- 
branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/openexr_api.cpp    
    2012-08-24 14:04:21 UTC (rev 50188)
+++ 
branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/openexr_api.cpp    
    2012-08-24 14:11:04 UTC (rev 50189)
@@ -32,12 +32,17 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <stddef.h>
+#include <fstream>
 #include <string>
 #include <set>
+#include <errno.h>
 
-
 #include <openexr_api.h>
 
+#if defined (WIN32) && !defined(FREE_WINDOWS)
+#include "utfconv.h"
+#endif
+
 extern "C"
 {
 
@@ -66,6 +71,7 @@
 
 #if defined(_WIN32) && !defined(FREE_WINDOWS)
 #include <half.h>
+#include <Iex/Iex.h>
 #include <IlmImf/ImfVersion.h>
 #include <IlmImf/ImfArray.h>
 #include <IlmImf/ImfIO.h>
@@ -79,6 +85,7 @@
 #include <Imath/ImathBox.h>
 #else
 #include <half.h>
+#include <Iex.h>
 #include <ImfVersion.h>
 #include <ImathBox.h>
 #include <ImfArray.h>
@@ -95,6 +102,8 @@
 using namespace Imf;
 using namespace Imath;
 
+/* Memory Input Stream */
+
 class Mem_IStream : public Imf::IStream
 {
 public:
@@ -142,6 +151,122 @@
 {
 }
 
+/* File Input Stream */
+
+class IFileStream : public IStream
+{
+public:
+       IFileStream(const char *filename)
+       : IStream(filename)
+       {
+               /* utf-8 file path support on windows */
+#if defined (WIN32) && !defined(FREE_WINDOWS)
+               wchar_t *wfilename = alloc_utf16_from_8(filename, 0);
+               ifs.open(wfilename, std::ios_base::binary);
+               free(wfilename);
+#else
+               ifs.open(filename, std::ios_base::binary);
+#endif
+
+               if (!ifs)
+                       Iex::throwErrnoExc();
+       }
+
+       virtual bool read(char c[], int n)
+       {
+               if (!ifs)
+                       throw Iex::InputExc("Unexpected end of file.");
+
+               errno = 0;
+               ifs.read(c, n);
+               return check_error();
+       }
+
+       virtual Int64 tellg()
+       {
+               return std::streamoff(ifs.tellg());
+       }
+
+       virtual void seekg(Int64 pos)
+       {
+               ifs.seekg(pos);
+               check_error();
+       }
+
+       virtual void clear()
+       {
+               ifs.clear();
+       }
+
+private:
+       bool check_error()
+       {
+               if (!ifs) {
+                       if (errno)
+                               Iex::throwErrnoExc();
+
+                       return false;
+               }
+
+               return true;
+       }
+
+       std::ifstream ifs;
+};
+
+/* File Output Stream */
+

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to