svn merge ^/trunk/blender -r48370:48375
authorCampbell Barton <ideasman42@gmail.com>
Thu, 28 Jun 2012 14:19:53 +0000 (14:19 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 28 Jun 2012 14:19:53 +0000 (14:19 +0000)
13 files changed:
build_files/cmake/macros.cmake
intern/guardedalloc/cpp/mallocn.cpp
source/blender/compositor/intern/COM_MemoryProxy.h
source/blender/compositor/operations/COM_BlurBaseOperation.cpp
source/blender/compositor/operations/COM_ChannelMatteOperation.h
source/blender/editors/interface/view2d.c
source/blender/editors/transform/transform.c
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_define.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_sensor.c
source/blender/makesrna/intern/rna_sequencer_api.c
source/blender/render/intern/raytrace/bvh.h

index 564dbea2c82f8e15b0700a4e17365de5356ae786..f34c88214a9487a3394a947c923721e064096aff 100644 (file)
@@ -239,8 +239,7 @@ macro(setup_liblinks
                        ${OPENGL_glu_LIBRARY}
                        ${PNG_LIBRARIES}
                        ${ZLIB_LIBRARIES}
-                       ${FREETYPE_LIBRARY}
-                       ${LAPACK_LIBRARIES})
+                       ${FREETYPE_LIBRARY})
 
        # since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
        if(WITH_PYTHON)  # AND NOT WITH_PYTHON_MODULE  # WIN32 needs
@@ -352,7 +351,9 @@ macro(setup_liblinks
        if(WITH_INPUT_NDOF)
                target_link_libraries(${target} ${NDOF_LIBRARIES})
        endif()
-
+       if(WITH_MOD_CLOTH_ELTOPO)
+               target_link_libraries(${target} ${LAPACK_LIBRARIES})
+       endif()
        if(WIN32 AND NOT UNIX)
                target_link_libraries(${target} ${PTHREADS_LIBRARIES})
        endif()
@@ -458,6 +459,12 @@ macro(remove_strict_flags)
                add_cc_flag("${CC_REMOVE_STRICT_FLAGS}")
        endif()
 
+       if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+               remove_cc_flag("-Wunused-parameter")
+               remove_cc_flag("-Wunused-variable")
+               remove_cc_flag("-Werror")
+       endif()
+
        if(MSVC)
                # TODO
        endif()
index 21f5e323cf271918406c0d858f56b8fd5556de0f..da77f0e1c83b2a5d3bad7d72eb05945946ae0af6 100644 (file)
 #include "../MEM_guardedalloc.h"
 
 /* not default but can be used when needing to set a string */
-void *operator new(size_t size, const char *str)
+void *operator new(size_t size, const char *str) throw(std::bad_alloc)
 {
        return MEM_mallocN(size, str);
 }
-void *operator new[](size_t size, const char *str)
+void *operator new[](size_t size, const char *str) throw(std::bad_alloc)
 {
        return MEM_mallocN(size, str);
 }
 
 
-void *operator new(size_t size)
+void *operator new(size_t size) throw(std::bad_alloc)
 {
        return MEM_mallocN(size, "C++/anonymous");
 }
-void *operator new[](size_t size)
+void *operator new[](size_t size) throw(std::bad_alloc)
 {
        return MEM_mallocN(size, "C++/anonymous[]");
 }
 
 
-void operator delete(void *p)
+void operator delete(void *p) throw()
 {
        /* delete NULL is valid in c++ */
        if (p)
                MEM_freeN(p);
 }
-void operator delete[](void *p)
+void operator delete[](void *p) throw()
 {
        /* delete NULL is valid in c++ */
        if (p)
index f02da215b5f53d8742a482bf65372f81c7b1ed27..130c5f5057a190e176fb3e0ef3ad204eb12b6399 100644 (file)
@@ -50,12 +50,12 @@ private:
        /**
         * @brief datatype of this MemoryProxy
         */
-       DataType m_datatype;
+       /* DataType m_datatype; */ /* UNUSED */
        
        /**
         * @brief channel information of this buffer
         */
-       ChannelInfo m_channelInfo[COM_NUMBER_OF_CHANNELS];
+       /* ChannelInfo m_channelInfo[COM_NUMBER_OF_CHANNELS]; */ /* UNUSED */
 
        /**
         * @brief the allocated memory
index d1ddecc0df6ab14fa2ed3a726671789769362974..696c0748d69122087a7bef8357c38d62c851940f 100644 (file)
@@ -27,8 +27,9 @@ extern "C" {
        #include "RE_pipeline.h"
 }
 
-BlurBaseOperation::BlurBaseOperation(DataType data_type=COM_DT_COLOR) : NodeOperation()
+BlurBaseOperation::BlurBaseOperation(DataType data_type) : NodeOperation()
 {
+       /* data_type is almost always COM_DT_COLOR except for alpha-blur */
        this->addInputSocket(data_type);
        this->addInputSocket(COM_DT_VALUE);
        this->addOutputSocket(data_type);
index 859df2000201aed254f79ba043010ce77d22a281..5bc13736dda40e04fc1588abbb4ce932eef5f402 100644 (file)
@@ -32,7 +32,7 @@ class ChannelMatteOperation : public NodeOperation {
 private:
        SocketReader *m_inputImageProgram;
 
-       int m_color_space;   /* node->custom1 */
+       /* int m_color_space; */  /* node->custom1 */ /* UNUSED */ /* TODO ? */
        int m_matte_channel; /* node->custom2 */
        int m_limit_method;  /* node->algorithm */
        int m_limit_channel; /* node->channel */
index 9a783b461a0f24dd99822698473e430d74e7bc17..6dbf53cba725d77a26860e12285110e433a3e680 100644 (file)
@@ -1346,7 +1346,7 @@ void UI_view2d_multi_grid_draw(View2D *v2d, float step, int level_size, int totl
                
                glBegin(GL_LINES);
                for (; start < v2d->cur.xmax; start += lstep, ++i) {
-                       if (i == 0 || (level < totlevels-1 && i % level_size == 0))
+                       if (i == 0 || (level < totlevels - 1 && i % level_size == 0))
                                continue;
                        glVertex2f(start, v2d->cur.ymin);
                        glVertex2f(start, v2d->cur.ymax);
@@ -1356,14 +1356,14 @@ void UI_view2d_multi_grid_draw(View2D *v2d, float step, int level_size, int totl
                start = i * lstep;
                
                for (; start < v2d->cur.ymax; start += lstep, ++i) {
-                       if (i == 0 || (level < totlevels-1 && i % level_size == 0))
+                       if (i == 0 || (level < totlevels - 1 && i % level_size == 0))
                                continue;
                        glVertex2f(v2d->cur.xmin, start);
                        glVertex2f(v2d->cur.xmax, start);
                }
                
                /* X and Y axis */
-               UI_ThemeColorShade(TH_BACK, offset-8);
+               UI_ThemeColorShade(TH_BACK, offset - 8);
                glVertex2f(0.0f, v2d->cur.ymin);
                glVertex2f(0.0f, v2d->cur.ymax);
                glVertex2f(v2d->cur.xmin, 0.0f);
index 4dee3514142bc380fa1b56103567c180d206c6fc..928b9c2fc628b50a73fe2ba4ff247076501e8a70 100644 (file)
@@ -4992,6 +4992,7 @@ void projectSVData(TransInfo *t, int final)
        BMEditMesh *em = sld->em;
        SmallHash visit;
        int i;
+       short has_uv;
 
        if (!em)
                return;
@@ -5004,6 +5005,8 @@ void projectSVData(TransInfo *t, int final)
        if (em->bm->shapenr > 1)
                return;
 
+       has_uv = CustomData_has_layer(&(em->bm->ldata), CD_MLOOPUV);
+
        BLI_smallhash_init(&visit);
        
        for (i = 0, sv = sld->sv; i < sld->totsv; sv++, i++) {
@@ -5011,8 +5014,6 @@ void projectSVData(TransInfo *t, int final)
                BMFace *f;
                BMIter liter_v;
                BMLoop *l_v;
-               float uv_med[2] = {0.0, 0.0};
-               int tot_loops = 0;
                
                /* BMESH_TODO, this interpolates between vertex/loops which are not moved
                 * (are only apart of a face attached to a slide vert), couldn't we iterate BM_LOOPS_OF_VERT
@@ -5141,17 +5142,22 @@ void projectSVData(TransInfo *t, int final)
 
                /* make sure every loop of the vertex has identical uv data. Use this temporarily to
                 * fix #31581 until proper data correction/ support for islands is done */
-               BM_ITER_ELEM (l_v, &liter_v, sv->v, BM_LOOPS_OF_VERT) {
-                       MLoopUV *uv = CustomData_bmesh_get(&em->bm->ldata, l_v->head.data, CD_MLOOPUV);
-                       add_v2_v2(uv_med, uv->uv);
-                       tot_loops++;
-               }
+               /* XXX - this only does the active UV layer which is not really good, should do _all_ uv's - campbell */
+               if (has_uv) {
+                       float uv_med[2] = {0.0, 0.0};
+                       int tot_loops = 0;
+                       BM_ITER_ELEM (l_v, &liter_v, sv->v, BM_LOOPS_OF_VERT) {
+                               MLoopUV *uv = CustomData_bmesh_get(&em->bm->ldata, l_v->head.data, CD_MLOOPUV);
+                               add_v2_v2(uv_med, uv->uv);
+                               tot_loops++;
+                       }
 
-               mul_v2_fl(uv_med, 1.0/tot_loops);
+                       mul_v2_fl(uv_med, 1.0/tot_loops);
 
-               BM_ITER_ELEM (l_v, &liter_v, sv->v, BM_LOOPS_OF_VERT) {
-                       MLoopUV *uv = CustomData_bmesh_get(&em->bm->ldata, l_v->head.data, CD_MLOOPUV);
-                       copy_v2_v2(uv->uv, uv_med);
+                       BM_ITER_ELEM (l_v, &liter_v, sv->v, BM_LOOPS_OF_VERT) {
+                               MLoopUV *uv = CustomData_bmesh_get(&em->bm->ldata, l_v->head.data, CD_MLOOPUV);
+                               copy_v2_v2(uv->uv, uv_med);
+                       }
                }
        }
 
index 9cab08cbc346d1f6af09a352592306917edc292b..32ca1bca107fe622ca8658c63f1466f36fcb0f26 100644 (file)
 #  define __func__ __FUNCTION__
 #endif
 
+/* copied from BKE_utildefines.h ugh */
+#ifdef __GNUC__
+#  define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
+#else
+#  define UNUSED(x) x
+#endif
+
 /* Replace if different */
 #define TMP_EXT ".tmp"
 
@@ -310,7 +317,7 @@ static void rna_print_data_get(FILE *f, PropertyDefRNA *dp)
                fprintf(f, "    %s *data= (%s*)(ptr->data);\n", dp->dnastructname, dp->dnastructname);
 }
 
-static void rna_print_id_get(FILE *f, PropertyDefRNA *dp)
+static void rna_print_id_get(FILE *f, PropertyDefRNA *UNUSED(dp))
 {
        fprintf(f, "    ID *id= ptr->id.data;\n");
 }
@@ -1179,7 +1186,7 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property
        return func;
 }
 
-static char *rna_def_property_next_func(FILE *f, StructRNA *srna, PropertyRNA *prop, PropertyDefRNA *dp,
+static char *rna_def_property_next_func(FILE *f, StructRNA *srna, PropertyRNA *prop, PropertyDefRNA *UNUSED(dp),
                                         const char *manualfunc)
 {
        char *func, *getfunc;
@@ -1206,7 +1213,7 @@ static char *rna_def_property_next_func(FILE *f, StructRNA *srna, PropertyRNA *p
        return func;
 }
 
-static char *rna_def_property_end_func(FILE *f, StructRNA *srna, PropertyRNA *prop, PropertyDefRNA *dp,
+static char *rna_def_property_end_func(FILE *f, StructRNA *srna, PropertyRNA *prop, PropertyDefRNA *UNUSED(dp),
                                        const char *manualfunc)
 {
        char *func;
@@ -2006,7 +2013,7 @@ static void rna_generate_blender(BlenderRNA *brna, FILE *f)
        fprintf(f, "};\n\n");
 }
 
-static void rna_generate_property_prototypes(BlenderRNA *brna, StructRNA *srna, FILE *f)
+static void rna_generate_property_prototypes(BlenderRNA *UNUSED(brna), StructRNA *srna, FILE *f)
 {
        PropertyRNA *prop;
        StructRNA *base;
@@ -2029,7 +2036,7 @@ static void rna_generate_property_prototypes(BlenderRNA *brna, StructRNA *srna,
        fprintf(f, "\n");
 }
 
-static void rna_generate_parameter_prototypes(BlenderRNA *brna, StructRNA *srna, FunctionRNA *func, FILE *f)
+static void rna_generate_parameter_prototypes(BlenderRNA *UNUSED(brna), StructRNA *srna, FunctionRNA *func, FILE *f)
 {
        PropertyRNA *parm;
 
@@ -2068,7 +2075,7 @@ static void rna_generate_function_prototypes(BlenderRNA *brna, StructRNA *srna,
                fprintf(f, "\n");
 }
 
-static void rna_generate_static_parameter_prototypes(BlenderRNA *brna, StructRNA *srna, FunctionDefRNA *dfunc, FILE *f)
+static void rna_generate_static_parameter_prototypes(BlenderRNA *UNUSED(brna), StructRNA *srna, FunctionDefRNA *dfunc, FILE *f)
 {
        FunctionRNA *func;
        PropertyDefRNA *dparm;
@@ -2483,7 +2490,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
        }
 }
 
-static void rna_generate_struct(BlenderRNA *brna, StructRNA *srna, FILE *f)
+static void rna_generate_struct(BlenderRNA *UNUSED(brna), StructRNA *srna, FILE *f)
 {
        FunctionRNA *func;
        FunctionDefRNA *dfunc;
@@ -2761,7 +2768,7 @@ static void rna_generate(BlenderRNA *brna, FILE *f, const char *filename, const
        }
 }
 
-static void rna_generate_header(BlenderRNA *brna, FILE *f)
+static void rna_generate_header(BlenderRNA *UNUSED(brna), FILE *f)
 {
        StructDefRNA *ds;
        PropertyDefRNA *dp;
@@ -2929,7 +2936,7 @@ static const char *cpp_classes = ""
 "};\n"
 "\n";
 
-static void rna_generate_header_cpp(BlenderRNA *brna, FILE *f)
+static void rna_generate_header_cpp(BlenderRNA *UNUSED(brna), FILE *f)
 {
        StructDefRNA *ds;
        PropertyDefRNA *dp;
index 02d8cbef4a3be6a09f12d6647e0ea8779dfab709..7a92ac56006303794907c340a2dcebe60b978128 100644 (file)
@@ -497,6 +497,9 @@ void RNA_struct_free_extension(StructRNA *srna, ExtensionRNA *ext)
        ext->free(ext->data);                     /* decref's the PyObject that the srna owns */
        RNA_struct_blender_type_set(srna, NULL);  /* this gets accessed again - XXX fixme */
        RNA_struct_py_type_set(srna, NULL);       /* NULL the srna's value so RNA_struct_free wont complain of a leak */
+#else
+       (void)srna;
+       (void)ext;
 #endif
 }
 
index 072df099cea4aadc9f5ce6530d0c882676ec58f7..7a2f0736e983f6bf24173d87ceb70108342683cc 100644 (file)
@@ -736,7 +736,7 @@ static void rna_ImageFormatSettings_file_format_set(PointerRNA *ptr, int value)
 }
 
 static EnumPropertyItem *rna_ImageFormatSettings_file_format_itemf(bContext *C, PointerRNA *ptr,
-                                                                   PropertyRNA *UNUSED(prop), int *free)
+                                                                   PropertyRNA *UNUSED(prop), int *UNUSED(free))
 {
        ID *id = ptr->id.data;
        if (id && GS(id->name) == ID_SCE) {
index cce0612bd68735bceeb6cb89649ea28371ce1405..00e8ed5289f1256d0a54260d7d0247db4a9fff00 100644 (file)
@@ -231,7 +231,7 @@ static void rna_Sensor_level_set(struct PointerRNA *ptr, int value)
                sens->tap = 0;
 }
 
-static void rna_Sensor_Armature_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Sensor_Armature_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
 {
        bSensor *sens = (bSensor *)ptr->data;
        bArmatureSensor *as = sens->data;
index 3a534cd22b46a6424ddfb1591371dc01eb6cb8f8..6c54b7c2cf32dafe9f488172b869ff996260e24c 100644 (file)
@@ -99,7 +99,7 @@ static Sequence *alloc_generic_sequence(Editing *ed, const char *name, int start
        return seq;
 }
 
-static Sequence *rna_Sequences_new_clip(ID *id, Editing *ed, ReportList *reports,
+static Sequence *rna_Sequences_new_clip(ID *id, Editing *ed,
                                         const char *name, MovieClip *clip, int channel,
                                         int start_frame)
 {
@@ -118,7 +118,7 @@ static Sequence *rna_Sequences_new_clip(ID *id, Editing *ed, ReportList *reports
        return seq;
 }
 
-static Sequence *rna_Sequences_new_mask(ID *id, Editing *ed, ReportList *reports,
+static Sequence *rna_Sequences_new_mask(ID *id, Editing *ed,
                                         const char *name, Mask *mask, int channel,
                                         int start_frame)
 {
@@ -137,7 +137,7 @@ static Sequence *rna_Sequences_new_mask(ID *id, Editing *ed, ReportList *reports
        return seq;
 }
 
-static Sequence *rna_Sequences_new_scene(ID *id, Editing *ed, ReportList *reports,
+static Sequence *rna_Sequences_new_scene(ID *id, Editing *ed,
                                          const char *name, Scene *sce_seq, int channel,
                                          int start_frame)
 {
@@ -455,7 +455,7 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_struct_ui_text(srna, "Sequences", "Collection of Sequences");
 
        func = RNA_def_function(srna, "new_clip", "rna_Sequences_new_clip");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
+       RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new movie clip sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the sequence");
        RNA_def_property_flag(parm, PROP_REQUIRED);
@@ -472,7 +472,7 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "new_mask", "rna_Sequences_new_mask");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
+       RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new movie clip sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the sequence");
        RNA_def_property_flag(parm, PROP_REQUIRED);
@@ -489,7 +489,7 @@ void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop)
        RNA_def_function_return(func, parm);
 
        func = RNA_def_function(srna, "new_scene", "rna_Sequences_new_scene");
-       RNA_def_function_flag(func, FUNC_USE_REPORTS | FUNC_USE_SELF_ID);
+       RNA_def_function_flag(func, FUNC_USE_SELF_ID);
        RNA_def_function_ui_description(func, "Add a new scene sequence");
        parm = RNA_def_string(func, "name", "Name", 0, "", "New name for the sequence");
        RNA_def_property_flag(parm, PROP_REQUIRED);
index fab0bb9461831d632a8d4b373c22be830b5ac92c..9318e1758a68d84f953e6b0ecd40585b9f579d50 100644 (file)
@@ -75,7 +75,7 @@ inline int test_bb_group4(__m128 *bb_group, const Isect *isec)
  * Based on Tactical Optimization of Ray/Box Intersection, by Graham Fyffe
  *  [http://tog.acm.org/resources/RTNews/html/rtnv21n1.html#art9]
  */
-static int rayobject_bb_intersect_test(const Isect *isec, const float *_bb)
+static inline int rayobject_bb_intersect_test(const Isect *isec, const float *_bb)
 {
        const float *bb = _bb;