[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43749] branches/asset-browser: merge from trunk, rev.

Andrea Weikert elubie at gmx.net
Sun Jan 29 12:11:37 CET 2012


Revision: 43749
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43749
Author:   elubie
Date:     2012-01-29 11:11:20 +0000 (Sun, 29 Jan 2012)
Log Message:
-----------
merge from trunk, rev. 43603 - 43747

Modified Paths:
--------------
    branches/asset-browser/doc/python_api/examples/bge.constraints.py
    branches/asset-browser/doc/python_api/examples/bge.texture.1.py
    branches/asset-browser/doc/python_api/examples/bge.texture.py
    branches/asset-browser/doc/python_api/rst/bge.constraints.rst
    branches/asset-browser/doc/python_api/rst/bge.render.rst
    branches/asset-browser/doc/python_api/rst/bge.texture.rst
    branches/asset-browser/doc/python_api/rst/bge.types.rst
    branches/asset-browser/extern/libmv/third_party/glog/src/config.h
    branches/asset-browser/extern/libmv/third_party/glog/src/config_linux.h
    branches/asset-browser/intern/boolop/SConscript
    branches/asset-browser/intern/boolop/intern/BOP_CarveInterface.cpp
    branches/asset-browser/intern/cycles/app/cycles_xml.cpp
    branches/asset-browser/intern/cycles/blender/addon/ui.py
    branches/asset-browser/intern/cycles/blender/blender_object.cpp
    branches/asset-browser/intern/cycles/blender/blender_session.cpp
    branches/asset-browser/intern/cycles/blender/blender_shader.cpp
    branches/asset-browser/intern/cycles/device/device.cpp
    branches/asset-browser/intern/cycles/device/device.h
    branches/asset-browser/intern/cycles/device/device_cpu.cpp
    branches/asset-browser/intern/cycles/device/device_cuda.cpp
    branches/asset-browser/intern/cycles/device/device_multi.cpp
    branches/asset-browser/intern/cycles/device/device_network.cpp
    branches/asset-browser/intern/cycles/device/device_opencl.cpp
    branches/asset-browser/intern/cycles/kernel/CMakeLists.txt
    branches/asset-browser/intern/cycles/kernel/kernel.cl
    branches/asset-browser/intern/cycles/kernel/kernel.cpp
    branches/asset-browser/intern/cycles/kernel/kernel.cu
    branches/asset-browser/intern/cycles/kernel/kernel.h
    branches/asset-browser/intern/cycles/kernel/kernel_emission.h
    branches/asset-browser/intern/cycles/kernel/kernel_film.h
    branches/asset-browser/intern/cycles/kernel/kernel_light.h
    branches/asset-browser/intern/cycles/kernel/kernel_object.h
    branches/asset-browser/intern/cycles/kernel/kernel_optimized.cpp
    branches/asset-browser/intern/cycles/kernel/kernel_path.h
    branches/asset-browser/intern/cycles/kernel/kernel_random.h
    branches/asset-browser/intern/cycles/kernel/kernel_shader.h
    branches/asset-browser/intern/cycles/kernel/kernel_types.h
    branches/asset-browser/intern/cycles/kernel/osl/nodes/CMakeLists.txt
    branches/asset-browser/intern/cycles/kernel/svm/svm.h
    branches/asset-browser/intern/cycles/kernel/svm/svm_types.h
    branches/asset-browser/intern/cycles/render/buffers.cpp
    branches/asset-browser/intern/cycles/render/buffers.h
    branches/asset-browser/intern/cycles/render/film.cpp
    branches/asset-browser/intern/cycles/render/film.h
    branches/asset-browser/intern/cycles/render/light.cpp
    branches/asset-browser/intern/cycles/render/nodes.cpp
    branches/asset-browser/intern/cycles/render/nodes.h
    branches/asset-browser/intern/cycles/render/object.cpp
    branches/asset-browser/intern/cycles/render/object.h
    branches/asset-browser/intern/cycles/render/shader.cpp
    branches/asset-browser/intern/cycles/render/shader.h
    branches/asset-browser/intern/cycles/render/svm.cpp
    branches/asset-browser/intern/cycles/util/util_progress.h
    branches/asset-browser/intern/cycles/util/util_types.h
    branches/asset-browser/intern/ffmpeg/ffmpeg_compat.h
    branches/asset-browser/intern/ghost/GHOST_ISystem.h
    branches/asset-browser/intern/ghost/intern/GHOST_NDOFManager.cpp
    branches/asset-browser/intern/ghost/intern/GHOST_NDOFManager.h
    branches/asset-browser/intern/ghost/intern/GHOST_System.cpp
    branches/asset-browser/intern/ghost/intern/GHOST_System.h
    branches/asset-browser/release/scripts/presets/keyconfig/maya.py
    branches/asset-browser/release/scripts/presets/tracking_settings/blurry_footage.py
    branches/asset-browser/release/scripts/presets/tracking_settings/default.py
    branches/asset-browser/release/scripts/presets/tracking_settings/fast_motion.py
    branches/asset-browser/release/scripts/startup/bl_operators/clip.py
    branches/asset-browser/release/scripts/startup/bl_operators/presets.py
    branches/asset-browser/release/scripts/startup/bl_ui/properties_object_constraint.py
    branches/asset-browser/release/scripts/startup/bl_ui/properties_particle.py
    branches/asset-browser/release/scripts/startup/bl_ui/properties_physics_cloth.py
    branches/asset-browser/release/scripts/startup/bl_ui/space_clip.py
    branches/asset-browser/release/scripts/startup/bl_ui/space_logic.py
    branches/asset-browser/release/scripts/startup/bl_ui/space_node.py
    branches/asset-browser/release/scripts/startup/bl_ui/space_view3d_toolbar.py
    branches/asset-browser/source/blender/avi/intern/endian.c
    branches/asset-browser/source/blender/blenkernel/BKE_DerivedMesh.h
    branches/asset-browser/source/blender/blenkernel/BKE_armature.h
    branches/asset-browser/source/blender/blenkernel/BKE_blender.h
    branches/asset-browser/source/blender/blenkernel/BKE_cloth.h
    branches/asset-browser/source/blender/blenkernel/BKE_customdata.h
    branches/asset-browser/source/blender/blenkernel/BKE_modifier.h
    branches/asset-browser/source/blender/blenkernel/BKE_node.h
    branches/asset-browser/source/blender/blenkernel/BKE_tracking.h
    branches/asset-browser/source/blender/blenkernel/intern/DerivedMesh.c
    branches/asset-browser/source/blender/blenkernel/intern/armature.c
    branches/asset-browser/source/blender/blenkernel/intern/cloth.c
    branches/asset-browser/source/blender/blenkernel/intern/constraint.c
    branches/asset-browser/source/blender/blenkernel/intern/displist.c
    branches/asset-browser/source/blender/blenkernel/intern/dynamicpaint.c
    branches/asset-browser/source/blender/blenkernel/intern/implicit.c
    branches/asset-browser/source/blender/blenkernel/intern/modifier.c
    branches/asset-browser/source/blender/blenkernel/intern/node.c
    branches/asset-browser/source/blender/blenkernel/intern/particle_system.c
    branches/asset-browser/source/blender/blenkernel/intern/scene.c
    branches/asset-browser/source/blender/blenkernel/intern/smoke.c
    branches/asset-browser/source/blender/blenkernel/intern/text.c
    branches/asset-browser/source/blender/blenkernel/intern/tracking.c
    branches/asset-browser/source/blender/blenlib/BLI_array.h
    branches/asset-browser/source/blender/blenlib/intern/BLI_kdtree.c
    branches/asset-browser/source/blender/blenlib/intern/math_geom.c
    branches/asset-browser/source/blender/blenlib/intern/math_matrix.c
    branches/asset-browser/source/blender/blenlib/intern/noise.c
    branches/asset-browser/source/blender/blenloader/intern/readfile.c
    branches/asset-browser/source/blender/editors/armature/reeb.c
    branches/asset-browser/source/blender/editors/curve/editfont.c
    branches/asset-browser/source/blender/editors/interface/interface_draw.c
    branches/asset-browser/source/blender/editors/interface/interface_handlers.c
    branches/asset-browser/source/blender/editors/interface/interface_layout.c
    branches/asset-browser/source/blender/editors/interface/interface_templates.c
    branches/asset-browser/source/blender/editors/interface/interface_widgets.c
    branches/asset-browser/source/blender/editors/interface/resources.c
    branches/asset-browser/source/blender/editors/object/object_modifier.c
    branches/asset-browser/source/blender/editors/object/object_vgroup.c
    branches/asset-browser/source/blender/editors/render/render_shading.c
    branches/asset-browser/source/blender/editors/screen/screendump.c
    branches/asset-browser/source/blender/editors/sculpt_paint/paint_ops.c
    branches/asset-browser/source/blender/editors/sound/sound_ops.c
    branches/asset-browser/source/blender/editors/space_buttons/buttons_ops.c
    branches/asset-browser/source/blender/editors/space_clip/clip_draw.c
    branches/asset-browser/source/blender/editors/space_clip/clip_graph_draw.c
    branches/asset-browser/source/blender/editors/space_clip/clip_graph_ops.c
    branches/asset-browser/source/blender/editors/space_clip/clip_intern.h
    branches/asset-browser/source/blender/editors/space_clip/clip_ops.c
    branches/asset-browser/source/blender/editors/space_clip/space_clip.c
    branches/asset-browser/source/blender/editors/space_clip/tracking_ops.c
    branches/asset-browser/source/blender/editors/space_file/filesel.c
    branches/asset-browser/source/blender/editors/space_graph/graph_edit.c
    branches/asset-browser/source/blender/editors/space_image/image_ops.c
    branches/asset-browser/source/blender/editors/space_info/info_ops.c
    branches/asset-browser/source/blender/editors/space_node/node_edit.c
    branches/asset-browser/source/blender/editors/space_node/space_node.c
    branches/asset-browser/source/blender/editors/space_outliner/outliner_draw.c
    branches/asset-browser/source/blender/editors/space_outliner/outliner_edit.c
    branches/asset-browser/source/blender/editors/space_outliner/space_outliner.c
    branches/asset-browser/source/blender/editors/space_sequencer/sequencer_add.c
    branches/asset-browser/source/blender/editors/space_sequencer/sequencer_edit.c
    branches/asset-browser/source/blender/editors/space_text/text_ops.c
    branches/asset-browser/source/blender/editors/space_time/space_time.c
    branches/asset-browser/source/blender/editors/space_view3d/drawmesh.c
    branches/asset-browser/source/blender/editors/space_view3d/drawobject.c
    branches/asset-browser/source/blender/editors/space_view3d/view3d_edit.c
    branches/asset-browser/source/blender/editors/space_view3d/view3d_header.c
    branches/asset-browser/source/blender/editors/space_view3d/view3d_intern.h
    branches/asset-browser/source/blender/editors/space_view3d/view3d_select.c
    branches/asset-browser/source/blender/editors/uvedit/uvedit_smart_stitch.c
    branches/asset-browser/source/blender/editors/uvedit/uvedit_unwrap_ops.c
    branches/asset-browser/source/blender/makesdna/DNA_cloth_types.h
    branches/asset-browser/source/blender/makesdna/DNA_dynamicpaint_types.h
    branches/asset-browser/source/blender/makesdna/DNA_object_force.h
    branches/asset-browser/source/blender/makesdna/DNA_scene_types.h
    branches/asset-browser/source/blender/makesdna/DNA_smoke_types.h
    branches/asset-browser/source/blender/makesdna/DNA_space_types.h
    branches/asset-browser/source/blender/makesdna/DNA_tracking_types.h
    branches/asset-browser/source/blender/makesrna/intern/rna_access.c
    branches/asset-browser/source/blender/makesrna/intern/rna_cloth.c
    branches/asset-browser/source/blender/makesrna/intern/rna_constraint.c
    branches/asset-browser/source/blender/makesrna/intern/rna_mesh.c
    branches/asset-browser/source/blender/makesrna/intern/rna_modifier.c
    branches/asset-browser/source/blender/makesrna/intern/rna_nodetree_types.h
    branches/asset-browser/source/blender/makesrna/intern/rna_object_api.c
    branches/asset-browser/source/blender/makesrna/intern/rna_render.c
    branches/asset-browser/source/blender/makesrna/intern/rna_scene.c
    branches/asset-browser/source/blender/makesrna/intern/rna_scene_api.c
    branches/asset-browser/source/blender/makesrna/intern/rna_space.c
    branches/asset-browser/source/blender/makesrna/intern/rna_tracking.c
    branches/asset-browser/source/blender/modifiers/intern/MOD_boolean_util.c
    branches/asset-browser/source/blender/modifiers/intern/MOD_cloth.c
    branches/asset-browser/source/blender/modifiers/intern/MOD_dynamicpaint.c
    branches/asset-browser/source/blender/modifiers/intern/MOD_weightvgedit.c
    branches/asset-browser/source/blender/modifiers/intern/MOD_weightvgmix.c
    branches/asset-browser/source/blender/modifiers/intern/MOD_weightvgproximity.c
    branches/asset-browser/source/blender/nodes/CMakeLists.txt
    branches/asset-browser/source/blender/nodes/NOD_shader.h
    branches/asset-browser/source/blender/nodes/composite/node_composite_tree.c
    branches/asset-browser/source/blender/nodes/composite/nodes/node_composite_image.c
    branches/asset-browser/source/blender/nodes/shader/nodes/node_shader_gamma.c
    branches/asset-browser/source/blender/python/mathutils/mathutils_Matrix.c
    branches/asset-browser/source/blender/quicktime/quicktime_export.h
    branches/asset-browser/source/blender/render/intern/source/convertblender.c
    branches/asset-browser/source/blender/render/intern/source/occlusion.c
    branches/asset-browser/source/blender/render/intern/source/pipeline.c
    branches/asset-browser/source/blender/render/intern/source/pixelshading.c
    branches/asset-browser/source/blender/render/intern/source/rayshade.c
    branches/asset-browser/source/blender/render/intern/source/render_result.c
    branches/asset-browser/source/blender/render/intern/source/shadbuf.c
    branches/asset-browser/source/blender/render/intern/source/shadeinput.c
    branches/asset-browser/source/blender/render/intern/source/volumetric.c
    branches/asset-browser/source/blender/windowmanager/WM_api.h
    branches/asset-browser/source/blender/windowmanager/intern/wm_operators.c
    branches/asset-browser/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp
    branches/asset-browser/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h
    branches/asset-browser/source/gameengine/Converter/BL_ActionActuator.cpp
    branches/asset-browser/source/gameengine/GamePlayer/common/GPC_Canvas.h
    branches/asset-browser/source/gameengine/GamePlayer/ghost/GPG_Canvas.cpp
    branches/asset-browser/source/gameengine/GamePlayer/ghost/GPG_Canvas.h
    branches/asset-browser/source/gameengine/Ketsji/KX_PythonInit.cpp
    branches/asset-browser/source/gameengine/Rasterizer/RAS_ICanvas.h

Added Paths:
-----------
    branches/asset-browser/intern/cycles/kernel/kernel_accumulate.h
    branches/asset-browser/intern/cycles/kernel/kernel_passes.h
    branches/asset-browser/intern/cycles/kernel/osl/nodes/node_brightness.osl
    branches/asset-browser/intern/cycles/kernel/svm/svm_brightness.h
    branches/asset-browser/source/blender/nodes/shader/nodes/node_shader_brightness.c

Property Changed:
----------------
    branches/asset-browser/
    branches/asset-browser/source/blender/editors/space_outliner/


Property changes on: branches/asset-browser
___________________________________________________________________
Modified: svn:mergeinfo
   - /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
/trunk/blender:43077-43602
   + /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
/trunk/blender:43077-43747

Modified: branches/asset-browser/doc/python_api/examples/bge.constraints.py
===================================================================
--- branches/asset-browser/doc/python_api/examples/bge.constraints.py	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/doc/python_api/examples/bge.constraints.py	2012-01-29 11:11:20 UTC (rev 43749)
@@ -1,6 +1,6 @@
 """
 Basic Physics Constraint
-++++++++++++++++++++++
+++++++++++++++++++++++++
 Example of how to create a hinge Physics Constraint between two objects.
 """
 from bge import logic

Modified: branches/asset-browser/doc/python_api/examples/bge.texture.1.py
===================================================================
--- branches/asset-browser/doc/python_api/examples/bge.texture.1.py	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/doc/python_api/examples/bge.texture.1.py	2012-01-29 11:11:20 UTC (rev 43749)
@@ -1,6 +1,6 @@
 """
-Texture replacement
-++++++++++++++++++++++
+Texture Replacement
++++++++++++++++++++
 Example of how to replace a texture in game with an external image.
 createTexture() and removeTexture() are to be called from a module Python
 Controller.

Modified: branches/asset-browser/doc/python_api/examples/bge.texture.py
===================================================================
--- branches/asset-browser/doc/python_api/examples/bge.texture.py	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/doc/python_api/examples/bge.texture.py	2012-01-29 11:11:20 UTC (rev 43749)
@@ -1,6 +1,6 @@
 """
 Basic Video Playback
-++++++++++++++++++++++
+++++++++++++++++++++
 Example of how to replace a texture in game with a video. It needs to run everyframe
 """
 import bge

Modified: branches/asset-browser/doc/python_api/rst/bge.constraints.rst
===================================================================
--- branches/asset-browser/doc/python_api/rst/bge.constraints.rst	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/doc/python_api/rst/bge.constraints.rst	2012-01-29 11:11:20 UTC (rev 43749)
@@ -5,7 +5,12 @@
 .. module:: bge.constraints
 
 .. literalinclude:: ../examples/bge.constraints.py
+   :language: rest
+   :lines: 2-4
 
+.. literalinclude:: ../examples/bge.constraints.py
+   :lines: 6-
+
 .. function:: createConstraint(physicsid, physicsid2, constrainttype, [pivotX, pivotY, pivotZ, [axisX, axisY, axisZ, [flag]]]])
 
    Creates a constraint.

Modified: branches/asset-browser/doc/python_api/rst/bge.render.rst
===================================================================
--- branches/asset-browser/doc/python_api/rst/bge.render.rst	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/doc/python_api/rst/bge.render.rst	2012-01-29 11:11:20 UTC (rev 43749)
@@ -77,6 +77,14 @@
    
    :rtype: integer
 
+.. function:: setWindowSize(width, height)
+
+   Set the width and height of the window (in pixels). This also works for fullscreen applications.
+   
+   :type width: integer
+   :type height: integer
+
+
 .. function:: makeScreenshot(filename)
 
    Writes a screenshot to the given filename.

Modified: branches/asset-browser/doc/python_api/rst/bge.texture.rst
===================================================================
--- branches/asset-browser/doc/python_api/rst/bge.texture.rst	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/doc/python_api/rst/bge.texture.rst	2012-01-29 11:11:20 UTC (rev 43749)
@@ -37,9 +37,19 @@
 .. module:: bge.texture
 
 .. literalinclude:: ../examples/bge.texture.py
+   :language: rest
+   :lines: 2-4
 
+.. literalinclude:: ../examples/bge.texture.py
+   :lines: 6-
+
 .. literalinclude:: ../examples/bge.texture.1.py
+   :language: rest
+   :lines: 2-6
 
+.. literalinclude:: ../examples/bge.texture.1.py
+   :lines: 8-
+
 .. class:: VideoFFmpeg(file [, capture=-1, rate=25.0, width=0, height=0])
 
    FFmpeg video source

Modified: branches/asset-browser/doc/python_api/rst/bge.types.rst
===================================================================
--- branches/asset-browser/doc/python_api/rst/bge.types.rst	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/doc/python_api/rst/bge.types.rst	2012-01-29 11:11:20 UTC (rev 43749)
@@ -954,7 +954,7 @@
 
       .. deprecated:: use :data:`localPosition` and :data:`worldPosition`.
 
-      :type: :class:`mathurils.Vector`
+      :type: :class:`mathutils.Vector`
 
    .. attribute:: orientation
 

Modified: branches/asset-browser/extern/libmv/third_party/glog/src/config.h
===================================================================
--- branches/asset-browser/extern/libmv/third_party/glog/src/config.h	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/extern/libmv/third_party/glog/src/config.h	2012-01-29 11:11:20 UTC (rev 43749)
@@ -2,14 +2,14 @@
 /* src/config.h.in.  Generated from configure.ac by autoheader.  */
 
 /* Namespace for Google classes */
-#ifdef __APPLE__
+#if defined(__APPLE__)
  #include "config_mac.h"
-#elif __FreeBSD__
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
  #include "config_freebsd.h"
-#elif __MINGW32__
+#elif defined(__MINGW32__)
  #include "windows/config.h"
-#elif __GNUC__
+#elif defined(__linux__)
  #include "config_linux.h"
-#elif _MSC_VER
+#elif defined(_MSC_VER)
  #include "windows/config.h"
 #endif

Modified: branches/asset-browser/extern/libmv/third_party/glog/src/config_linux.h
===================================================================
--- branches/asset-browser/extern/libmv/third_party/glog/src/config_linux.h	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/extern/libmv/third_party/glog/src/config_linux.h	2012-01-29 11:11:20 UTC (rev 43749)
@@ -133,8 +133,10 @@
 /* How to access the PC from a struct ucontext */
 #if defined(_M_X64) || defined(__amd64__) || defined(__x86_64__)
   #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_RIP]
+#elif defined(_M_IX86) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__)
+  #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_EIP]
 #else
-  #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_EIP]
+  #undef PC_FROM_UCONTEXT
 #endif
 
 /* Define to necessary symbol if this constant uses a non-standard name on

Modified: branches/asset-browser/intern/boolop/SConscript
===================================================================
--- branches/asset-browser/intern/boolop/SConscript	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/intern/boolop/SConscript	2012-01-29 11:11:20 UTC (rev 43749)
@@ -8,6 +8,7 @@
 defs = []
 
 if not env['WITH_BF_CARVE']:
+    import os
     sources = env.Glob('intern/*.cpp')
     sources.remove('intern' + os.sep + 'BOP_CarveInterface.cpp')
 else:

Modified: branches/asset-browser/intern/boolop/intern/BOP_CarveInterface.cpp
===================================================================
--- branches/asset-browser/intern/boolop/intern/BOP_CarveInterface.cpp	2012-01-29 10:21:28 UTC (rev 43748)
+++ branches/asset-browser/intern/boolop/intern/BOP_CarveInterface.cpp	2012-01-29 11:11:20 UTC (rev 43749)
@@ -15,12 +15,13 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+ * The Original Code is Copyright (C) 2010 by the Blender Foundation.
  * All rights reserved.
  *
  * The Original Code is: all of this file.
  *
- * Contributor(s): none yet.
+ * Contributor(s): Ken Hughes,
+ *                 Sergey Sharybin.
  *
  * ***** END GPL LICENSE BLOCK *****
  */
@@ -36,6 +37,9 @@
 #include <carve/interpolator.hpp>
 #include <carve/rescale.hpp>
 
+#include <iostream>
+
+using namespace carve::mesh;
 typedef unsigned int uint;
 
 #define MAX(x,y) ((x)>(y)?(x):(y))
@@ -61,11 +65,169 @@
 	return 1;
 }
 
-static carve::mesh::MeshSet<3> *Carve_addMesh(CSG_FaceIteratorDescriptor& face_it,
-                                              CSG_VertexIteratorDescriptor& vertex_it,
-                                              carve::interpolate::FaceAttr<uint> &oface_num,
-                                              uint &num_origfaces )
+static MeshSet<3> *Carve_meshSetFromMeshes(std::vector<MeshSet<3>::mesh_t*> &meshes)
 {
+	std::vector<MeshSet<3>::mesh_t*> new_meshes;
+
+	std::vector<MeshSet<3>::mesh_t*>::iterator it = meshes.begin();
+	for(; it!=meshes.end(); it++) {
+		MeshSet<3>::mesh_t *mesh = *it;
+		MeshSet<3>::mesh_t *new_mesh = new MeshSet<3>::mesh_t(mesh->faces);
+
+		new_meshes.push_back(new_mesh);
+	}
+
+	return new MeshSet<3>(new_meshes);
+}
+
+static void Carve_getIntersectedOperandMeshes(std::vector<MeshSet<3>::mesh_t*> &meshes,
+                                              std::vector<MeshSet<3>::aabb_t> &precomputedAABB,
+                                              MeshSet<3>::aabb_t &otherAABB,
+                                              std::vector<MeshSet<3>::mesh_t*> &operandMeshes)
+{
+	std::vector<MeshSet<3>::mesh_t*>::iterator it = meshes.begin();
+	std::vector<MeshSet<3>::aabb_t>::iterator aabb_it = precomputedAABB.begin();
+	std::vector<MeshSet<3>::aabb_t> usedAABB;
+
+	while(it != meshes.end()) {
+		MeshSet<3>::mesh_t *mesh = *it;
+		MeshSet<3>::aabb_t aabb = mesh->getAABB();
+		bool isIntersect = false;
+
+		std::vector<MeshSet<3>::aabb_t>::iterator used_it = usedAABB.begin();
+		for(; used_it!=usedAABB.end(); used_it++) {
+			MeshSet<3>::aabb_t usedAABB = *used_it;
+
+			if(usedAABB.intersects(aabb) && usedAABB.intersects(otherAABB)) {
+				isIntersect = true;
+				break;
+			}
+		}
+
+		if(!isIntersect) {

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list