Revision: 40192
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40192
Author:   kjym3
Date:     2011-09-13 22:24:59 +0000 (Tue, 13 Sep 2011)
Log Message:
-----------
Merged changes in the trunk up to revision 40189.

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

Modified Paths:
--------------
    branches/soc-2008-mxcurioni/CMakeLists.txt
    branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-i686.py
    
branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-x86_64.py
    branches/soc-2008-mxcurioni/build_files/cmake/macros.cmake
    branches/soc-2008-mxcurioni/doc/python_api/rst/info_gotcha.rst
    branches/soc-2008-mxcurioni/doc/python_api/rst/info_tips_and_tricks.rst
    branches/soc-2008-mxcurioni/extern/SConscript
    
branches/soc-2008-mxcurioni/extern/recastnavigation/Detour/Include/DetourStatNavMesh.h
    
branches/soc-2008-mxcurioni/extern/recastnavigation/Detour/Include/DetourTileNavMesh.h
    
branches/soc-2008-mxcurioni/extern/recastnavigation/Recast/Source/RecastMeshDetail.cpp
    
branches/soc-2008-mxcurioni/intern/audaspace/intern/AUD_JOSResampleReader.cpp
    branches/soc-2008-mxcurioni/intern/audaspace/intern/AUD_SequencerHandle.cpp
    branches/soc-2008-mxcurioni/intern/audaspace/intern/AUD_SequencerHandle.h
    branches/soc-2008-mxcurioni/intern/audaspace/intern/AUD_SequencerReader.cpp
    branches/soc-2008-mxcurioni/intern/elbeem/CMakeLists.txt
    branches/soc-2008-mxcurioni/intern/tools/credits_svn_gen.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_modifier.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_game.py
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_font.c
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_glyph.c
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_internal.h
    
branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_internal_types.h
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_util.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_colortools.h
    branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_material.h
    branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_sequencer.h
    branches/soc-2008-mxcurioni/source/blender/blenkernel/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/blender/blenkernel/SConscript
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/DerivedMesh.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/boids.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/brush.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/collision.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/colortools.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/curve.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/effect.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/material.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/particle.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/sequencer.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/shrinkwrap.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/sketch.c
    branches/soc-2008-mxcurioni/source/blender/blenlib/BLI_math_matrix.h
    branches/soc-2008-mxcurioni/source/blender/blenlib/BLI_math_vector.h
    branches/soc-2008-mxcurioni/source/blender/blenlib/intern/BLI_kdopbvh.c
    branches/soc-2008-mxcurioni/source/blender/blenlib/intern/graph.c
    branches/soc-2008-mxcurioni/source/blender/blenlib/intern/math_matrix.c
    
branches/soc-2008-mxcurioni/source/blender/blenlib/intern/math_vector_inline.c
    branches/soc-2008-mxcurioni/source/blender/collada/EffectExporter.cpp
    branches/soc-2008-mxcurioni/source/blender/collada/EffectExporter.h
    branches/soc-2008-mxcurioni/source/blender/collada/ErrorHandler.cpp
    
branches/soc-2008-mxcurioni/source/blender/editors/animation/anim_channels_defines.c
    branches/soc-2008-mxcurioni/source/blender/editors/animation/keyframing.c
    
branches/soc-2008-mxcurioni/source/blender/editors/armature/editarmature_sketch.c
    branches/soc-2008-mxcurioni/source/blender/editors/armature/meshlaplacian.c
    branches/soc-2008-mxcurioni/source/blender/editors/include/UI_interface.h
    branches/soc-2008-mxcurioni/source/blender/editors/include/UI_resources.h
    
branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_draw.c
    
branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_layout.c
    
branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_panel.c
    
branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_widgets.c
    branches/soc-2008-mxcurioni/source/blender/editors/interface/resources.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_add.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_lib.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_mods.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_tools.c
    branches/soc-2008-mxcurioni/source/blender/editors/object/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/blender/editors/render/render_shading.c
    branches/soc-2008-mxcurioni/source/blender/editors/screen/area.c
    branches/soc-2008-mxcurioni/source/blender/editors/sculpt_paint/sculpt.c
    
branches/soc-2008-mxcurioni/source/blender/editors/sculpt_paint/sculpt_undo.c
    branches/soc-2008-mxcurioni/source/blender/editors/sound/sound_ops.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_file/file_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_file/filelist.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_nla/nla_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_nla/nla_select.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_node/drawnode.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_node/node_draw.c
    
branches/soc-2008-mxcurioni/source/blender/editors/space_outliner/outliner_draw.c
    
branches/soc-2008-mxcurioni/source/blender/editors/space_sequencer/sequencer_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_text/text_draw.c
    
branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawarmature.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawvolume.c
    
branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/view3d_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform.c
    
branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_constraints.c
    
branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_conversions.c
    
branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_generics.c
    
branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_manipulator.c
    
branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_orientations.c
    
branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_snap.c
    branches/soc-2008-mxcurioni/source/blender/editors/util/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/blender/editors/util/SConscript
    branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_codegen.c
    
branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_shader_material.glsl.c
    branches/soc-2008-mxcurioni/source/blender/makesdna/DNA_sequence_types.h
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_actuator.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_object.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_space.c
    branches/soc-2008-mxcurioni/source/blender/modifiers/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/blender/modifiers/SConscript
    branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_navmesh.cpp
    
branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_weightvgproximity.c
    branches/soc-2008-mxcurioni/source/blender/nodes/shader/node_shader_tree.c
    
branches/soc-2008-mxcurioni/source/blender/nodes/shader/nodes/node_shader_geom.c
    
branches/soc-2008-mxcurioni/source/blender/nodes/shader/nodes/node_shader_material.c
    
branches/soc-2008-mxcurioni/source/blender/render/extern/include/RE_render_ext.h
    
branches/soc-2008-mxcurioni/source/blender/render/intern/include/pixelshading.h
    
branches/soc-2008-mxcurioni/source/blender/render/intern/include/render_types.h
    
branches/soc-2008-mxcurioni/source/blender/render/intern/include/rendercore.h
    
branches/soc-2008-mxcurioni/source/blender/render/intern/include/renderdatabase.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/shadbuf.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/shading.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/texture.h
    
branches/soc-2008-mxcurioni/source/blender/render/intern/include/volumetric.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/zbuf.h
    
branches/soc-2008-mxcurioni/source/blender/render/intern/source/convertblender.c
    
branches/soc-2008-mxcurioni/source/blender/render/intern/source/imagetexture.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/occlusion.c
    
branches/soc-2008-mxcurioni/source/blender/render/intern/source/pixelshading.c
    
branches/soc-2008-mxcurioni/source/blender/render/intern/source/render_texture.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/rendercore.c
    
branches/soc-2008-mxcurioni/source/blender/render/intern/source/renderdatabase.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/shadbuf.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/shadeinput.c
    
branches/soc-2008-mxcurioni/source/blender/render/intern/source/shadeoutput.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/sss.c
    
branches/soc-2008-mxcurioni/source/blender/render/intern/source/volume_precache.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/volumetric.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/zbuf.c
    
branches/soc-2008-mxcurioni/source/blender/windowmanager/intern/wm_dragdrop.c
    branches/soc-2008-mxcurioni/source/blenderplayer/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/creator/creator.c
    
branches/soc-2008-mxcurioni/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Converter/BL_SkinDeformer.cpp
    
branches/soc-2008-mxcurioni/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
    
branches/soc-2008-mxcurioni/source/gameengine/GamePlayer/ghost/GPG_Application.h
    branches/soc-2008-mxcurioni/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_KetsjiEngine.h
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_NavMeshObject.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_PythonInit.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/SConscript

Added Paths:
-----------
    
branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_navmesh_conversion.h
    
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/navmesh_conversion.cpp

Removed Paths:
-------------
    
branches/soc-2008-mxcurioni/source/blender/editors/include/ED_navmesh_conversion.h
    
branches/soc-2008-mxcurioni/source/blender/editors/util/navmesh_conversion.cpp

Property Changed:
----------------
    branches/soc-2008-mxcurioni/
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/add_mesh_torus.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/uvcalc_smart_project.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/vertexpaint_dirt.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_armature.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_bone.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_camera.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_empty.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_lamp.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_lattice.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_mesh.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_metaball.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_modifier.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_game.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_material.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_particle.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_field.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_fluid.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_smoke.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_texture.py
    
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_world.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_node.py
    branches/soc-2008-mxcurioni/source/blender/editors/render/render_update.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_outliner/
    branches/soc-2008-mxcurioni/source/blender/editors/uvedit/uvedit_buttons.c


Property changes on: branches/soc-2008-mxcurioni
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender:34011-39896,39898-40096
   + /trunk/blender:34011-39896,39898-40096,40098-40189

Modified: branches/soc-2008-mxcurioni/CMakeLists.txt
===================================================================
--- branches/soc-2008-mxcurioni/CMakeLists.txt  2011-09-13 21:16:41 UTC (rev 
40191)
+++ branches/soc-2008-mxcurioni/CMakeLists.txt  2011-09-13 22:24:59 UTC (rev 
40192)
@@ -702,7 +702,7 @@
                                ${LIBDIR}/opencollada/lib/ftoa.lib
                                ${LIBDIR}/opencollada/lib/UTF.lib
                        )
-                       set(PCRE_LIB
+                       set(PCRE_LIBRARIES
                                ${LIBDIR}/opencollada/lib/pcre.lib
                        )
                endif()
@@ -844,7 +844,7 @@
                        )
                        set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib 
${OPENCOLLADA}/lib)
                        set(OPENCOLLADA_LIBRARIES OpenCOLLADAStreamWriter 
OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils 
GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa)
-                       set(PCRE_LIB pcre)
+                       set(PCRE_LIBRARIES pcre)
                endif()
                
                if(WITH_CODEC_FFMPEG)
@@ -1066,7 +1066,7 @@
                #pcre is bundled with openCollada
                #set(PCRE ${LIBDIR}/pcre)
                #set(PCRE_LIBPATH ${PCRE}/lib)
-               set(PCRE_LIB pcre)
+               set(PCRE_LIBRARIES pcre)
                #libxml2 is used
                #set(EXPAT ${LIBDIR}/expat)
                #set(EXPAT_LIBPATH ${EXPAT}/lib)

Modified: 
branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-i686.py
===================================================================
--- branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-i686.py 
2011-09-13 21:16:41 UTC (rev 40191)
+++ branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-i686.py 
2011-09-13 22:24:59 UTC (rev 40192)
@@ -87,6 +87,10 @@
 BF_3DMOUSE = '/home/sources/staticlibs/spnav'
 BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib32'
 
+# FFT
+WITH_BF_FFTW3 = True
+WITH_BF_STATICFFTW3 = True
+
 # Compilation and optimization
 BF_DEBUG = False
 REL_CFLAGS = ['-O2']

Modified: 
branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-x86_64.py
===================================================================
--- 
branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-x86_64.py   
    2011-09-13 21:16:41 UTC (rev 40191)
+++ 
branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-x86_64.py   
    2011-09-13 22:24:59 UTC (rev 40192)
@@ -87,6 +87,10 @@
 BF_3DMOUSE = '/home/sources/staticlibs/spnav'
 BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib64'
 
+# FFT
+WITH_BF_FFTW3 = True
+WITH_BF_STATICFFTW3 = True
+
 # Compilation and optimization
 BF_DEBUG = False
 REL_CFLAGS = ['-O2']

Modified: branches/soc-2008-mxcurioni/build_files/cmake/macros.cmake
===================================================================
--- branches/soc-2008-mxcurioni/build_files/cmake/macros.cmake  2011-09-13 
21:16:41 UTC (rev 40191)
+++ branches/soc-2008-mxcurioni/build_files/cmake/macros.cmake  2011-09-13 
22:24:59 UTC (rev 40192)
@@ -295,10 +295,10 @@
                        target_link_libraries_optimized(${target} 
"${OPENCOLLADA_LIBRARIES}")
                        unset(OPENCOLLADA_LIBRARIES_DEBUG)
 
-                       file_list_suffix(PCRE_LIB_DEBUG "${PCRE_LIB}" "_d")
-                       target_link_libraries_debug(${target} 
"${PCRE_LIB_DEBUG}")
-                       target_link_libraries_optimized(${target} "${PCRE_LIB}")
-                       unset(PCRE_LIB_DEBUG)
+                       file_list_suffix(PCRE_LIBRARIES_DEBUG 
"${PCRE_LIBRARIES}" "_d")
+                       target_link_libraries_debug(${target} 
"${PCRE_LIBRARIES_DEBUG}")
+                       target_link_libraries_optimized(${target} 
"${PCRE_LIBRARIES}")
+                       unset(PCRE_LIBRARIES_DEBUG)
 
                        if(EXPAT_LIB)
                                file_list_suffix(EXPAT_LIB_DEBUG "${EXPAT_LIB}" 
"_d")
@@ -309,7 +309,8 @@
                else()
                        target_link_libraries(${target}
                                        ${OPENCOLLADA_LIBRARIES}
-                                       ${PCRE_LIB}
+                                       ${PCRE_LIBRARIES}
+                                       ${XML2_LIBRARIES}
                                        ${EXPAT_LIB})
                endif()
        endif()

Modified: branches/soc-2008-mxcurioni/doc/python_api/rst/info_gotcha.rst
===================================================================
--- branches/soc-2008-mxcurioni/doc/python_api/rst/info_gotcha.rst      
2011-09-13 21:16:41 UTC (rev 40191)
+++ branches/soc-2008-mxcurioni/doc/python_api/rst/info_gotcha.rst      
2011-09-13 22:24:59 UTC (rev 40192)
@@ -1,6 +1,6 @@
-********
-Gotcha's
-********
+*******
+Gotchas
+*******
 
 This document attempts to help you work with the Blender API in areas that can 
be troublesome and avoid practices that are known to give instability.
 
@@ -32,12 +32,12 @@
 
 Typically operators check for the active area type, a selection or active 
object they can operate on, but some operators are more picky about when they 
run.
 
-In most cases you can figure out what context an operator needs simply be 
seeing how its used in Blender and thinking about what it does.
+In most cases you can figure out what context an operator needs simply be 
seeing how it's used in Blender and thinking about what it does.
 
 
 Unfortunately if you're still stuck - the only way to **really** know whats 
going on is to read the source code for the poll function and see what its 
checking.
 
-For python operators its not so hard to find the source since its included 
with with Blender and the source file/line is included in the operator 
reference docs.
+For python operators it's not so hard to find the source since it's included 
with Blender and the source file/line is included in the operator reference 
docs.
 
 Downloading and searching the C code isn't so simple, especially if you're not 
familiar with the C language but by searching the operator name or description 
you should be able to find the poll function with no knowledge of C.
 
@@ -74,7 +74,7 @@
 
 Once changing the objects :class:`bpy.types.Object.location` you may want to 
access its transformation right after from 
:class:`bpy.types.Object.matrix_world`, but this doesn't work as you might 
expect.
 
-Consider the calculations that might go into working out the objects final 
transformation, this includes:
+Consider the calculations that might go into working out the object's final 
transformation, this includes:
 
 * animation function curves.
 * drivers and their pythons expressions.
@@ -106,7 +106,7 @@
 
 Transform, Painting, Fly-Mode and File-Select are example of a modal operators.
 
-Writing modal operators takes more effort then a simple ``for`` loop that 
happens to redraw but is more flexible and integrates better with Blenders 
design.
+Writing modal operators takes more effort than a simple ``for`` loop that 
happens to redraw but is more flexible and integrates better with Blenders 
design.
 
 
 **Ok, Ok! I still want to draw from python**
@@ -129,7 +129,7 @@
 I can't edit the mesh in edit-mode!
 ===================================
 
-Blenders EditMesh is an internal data structure (not saved and not exposed to 
python), this gives the main annoyance that you need to exit edit-mode to edit 
the mesh from python.
+Blender's EditMesh is an internal data structure (not saved and not exposed to 
python), this gives the main annoyance that you need to exit edit-mode to edit 
the mesh from python.
 
 The reason we have not made much attempt to fix this yet is because we
 will likely move to BMesh mesh API eventually, so any work on the API now will 
be wasted effort.
@@ -226,13 +226,13 @@
 Unicode Problems
 ================
 
-Python supports many different encpdings so there is nothing stopping you from 
writing a script in latin1 or iso-8859-15.
+Python supports many different encodings so there is nothing stopping you from 
writing a script in latin1 or iso-8859-15.
 
 See `pep-0263 <http://www.python.org/dev/peps/pep-0263/>`_
 
-However this complicates things for the python api because blend files 
themselves dont have an encoding.
+However this complicates things for the python api because blend files 
themselves don't have an encoding.
 
-To simplify the problem for python integration and script authors we have 
decieded all strings in blend files **must** be UTF-8 or ASCII compatible.
+To simplify the problem for python integration and script authors we have 
decided all strings in blend files **must** be UTF-8 or ASCII compatible.
 
 This means assigning strings with different encodings to an object names for 
instance will raise an error.
 
@@ -331,13 +331,13 @@
 
    my_timer()
 
-Use cases like the one above which leave the thread running once the script 
finishes may seem to work for a while but end up causing random crashes or 
errors in Blenders own drawing code.
+Use cases like the one above which leave the thread running once the script 
finishes may seem to work for a while but end up causing random crashes or 
errors in Blender's own drawing code.
 
-So far no work has gone into making Blenders python integration thread safe, 
so until its properly supported, best not make use of this.
+So far, no work has gone into making Blender's python integration thread safe, 
so until its properly supported, best not make use of this.
 
 .. note::
 
-   Pythons threads only allow co-currency and wont speed up you're scripts on 
multi-processor systems, the ``subprocess`` and ``multiprocess`` modules can be 
used with blender and make use of multiple CPU's too.
+   Pythons threads only allow co-currency and won't speed up your scripts on 
multi-processor systems, the ``subprocess`` and ``multiprocess`` modules can be 
used with blender and make use of multiple CPU's too.
 
 
 Help! My script crashes Blender
@@ -378,6 +378,41 @@
 As suggested above, simply not holding references to data when Blender is used 
interactively by the user is the only way to ensure the script doesn't become 
unstable.
 
 
+Edit Mode / Memory Access
+-------------------------
+
+Switching edit-mode ``bpy.ops.object.mode_set(mode='EDIT')`` / 
``bpy.ops.object.mode_set(mode='OBJECT')`` will re-allocate objects data, any 
references to a meshes vertices/faces/uvs, armatures bones, curves points etc 
cannot be accessed after switching edit-mode.
+
+Only the reference to the data its self can be re-accessed, the following 
example will crash.
+
+.. code-block:: python
+
+   mesh = bpy.context.active_object.data
+   faces = mesh.faces
+   bpy.ops.object.mode_set(mode='EDIT')
+   bpy.ops.object.mode_set(mode='OBJECT')
+
+   # this will crash
+   print(faces)
+
+
+So after switching edit-mode you need to re-access any object data variables, 
the following example shows how to avoid the crash above.
+
+.. code-block:: python
+
+   mesh = bpy.context.active_object.data
+   faces = mesh.faces

@@ 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