Commit: e89fd502d7b1ee5a4c17286a78ae0116f03510b7
Author: Lukas Tönne
Date:   Tue Feb 10 17:09:00 2015 +0100
Branches: alembic_pointcache
https://developer.blender.org/rBe89fd502d7b1ee5a4c17286a78ae0116f03510b7

Merge branch 'master' into alembic_pointcache

Conflicts:
        CMakeLists.txt
        build_files/build_environment/install_deps.sh
        source/blender/blenkernel/CMakeLists.txt
        source/blender/blenkernel/SConscript
        source/blender/blenkernel/intern/particle.c
        source/blender/blenkernel/intern/pointcache.c
        source/blender/editors/physics/particle_edit.c
        source/blender/editors/space_outliner/outliner_draw.c
        source/blender/makesdna/DNA_modifier_types.h
        source/blender/makesrna/SConscript
        source/blender/makesrna/intern/CMakeLists.txt
        source/blender/makesrna/intern/SConscript
        source/blender/makesrna/intern/rna_modifier.c
        source/blender/makesrna/intern/rna_object_force.c
        source/blender/modifiers/MOD_modifiertypes.h
        source/blender/modifiers/intern/MOD_util.c
        source/blender/render/intern/source/voxeldata.c

===================================================================



===================================================================

diff --cc CMakeLists.txt
index f232a00,026386a..7837f75
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@@ -1081,37 -1095,6 +1105,15 @@@ if(UNIX AND NOT APPLE
                set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} 
-Wl,--version-script=${CMAKE_SOURCE_DIR}/source/creator/blender.map")
        endif()
  
-       if(WITH_CYCLES_OSL)
-               set(CYCLES_OSL ${LIBDIR}/osl CACHE PATH "Path to 
OpenShadingLanguage installation")
-       
-               message(STATUS "CYCLES_OSL = ${CYCLES_OSL}")
-       
-               find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib)
-               find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib)
-               find_library(OSL_LIB_QUERY NAMES oslquery PATHS 
${CYCLES_OSL}/lib)
-               # Note: --whole-archive is needed to force loading of all 
symbols in liboslexec,
-               # otherwise LLVM is missing the osl_allocate_closure_component 
function
-               list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} -Wl,--whole-archive 
${OSL_LIB_EXEC} -Wl,--no-whole-archive ${OSL_LIB_QUERY})
-               find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS 
${CYCLES_OSL}/include)
-               find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin)
-       
-               if(OSL_INCLUDE_DIR AND OSL_LIBRARIES AND OSL_COMPILER)
-                       set(OSL_FOUND TRUE)
-               else()
-                       message(STATUS "OSL not found")
-                       set(WITH_CYCLES_OSL OFF)
-               endif()
-       endif()
- 
 +      if(WITH_ALEMBIC)
 +              find_package_wrapper(Alembic)
 +              set(ALEMBIC_LIBRARIES ${ALEMBIC_LIBRARIES} ${BOOST_LIBRARIES})
 +      endif()
 +
 +      if(WITH_HDF5)
 +              find_package_wrapper(HDF5)
 +      endif()
 +
        # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using 
--as-needed
        list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm)
  
diff --cc build_files/build_environment/install_deps.sh
index ca9832b,45decac..aaf3034
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@@ -2161,8 -1992,7 +2175,8 @@@ install_DEB() 
        if [ $? -eq 0 ]; then
          install_packages_DEB libboost-locale$boost_version-dev 
libboost-filesystem$boost_version-dev \
                               libboost-regex$boost_version-dev 
libboost-system$boost_version-dev \
 -                             libboost-thread$boost_version-dev 
libboost-wave$boost_version-dev
 +                             libboost-thread$boost_version-dev 
libboost-python$boost_version-dev \
-                              libboost-program-options$boost_version-dev
++                             libboost-program-options$boost_version-dev 
libboost-wave$boost_version-dev
          clean_Boost
        else
          compile_Boost
diff --cc release/scripts/startup/bl_ui/properties_particle.py
index b75c061,d1d6ee6..56b0ad6
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@@ -278,27 -329,50 +329,50 @@@ class PARTICLE_PT_hair_dynamics(Particl
          if not psys.cloth:
              return
  
-         cloth = psys.cloth.settings
+         cloth_md = psys.cloth
+         cloth = cloth_md.settings
+         result = cloth_md.solver_result
  
 -        layout.enabled = psys.use_hair_dynamics and psys.point_cache.is_baked 
is False
 +        layout.enabled = psys.use_hair_dynamics and not 
psys.point_cache.lock_settings
  
-         split = layout.split()
+         row = layout.row(align=True)
+         row.menu("PARTICLE_MT_hair_dynamics_presets", 
text=bpy.types.PARTICLE_MT_hair_dynamics_presets.bl_label)
+         row.operator("particle.hair_dynamics_preset_add", text="", 
icon='ZOOMIN')
+         row.operator("particle.hair_dynamics_preset_add", text="", 
icon='ZOOMOUT').remove_active = True
+ 
+         split = layout.column()
  
          col = split.column()
-         col.label(text="Material:")
+         col.label(text="Structure")
+         col.prop(cloth, "mass")
          sub = col.column(align=True)
-         sub.prop(cloth, "pin_stiffness", text="Stiffness")
-         sub.prop(cloth, "mass")
-         sub.prop(cloth, "bending_stiffness", text="Bending")
-         sub.prop(cloth, "internal_friction", slider=True)
-         sub.prop(cloth, "collider_friction", slider=True)
+         subsub = sub.row(align=True)
+         subsub.prop(cloth, "bending_stiffness", text="Stiffness")
+         subsub.prop(psys.settings, "bending_random", text="Random")
+         sub.prop(cloth, "bending_damping", text="Damping")
+         # XXX has no noticable effect with stiff hair structure springs
+         #col.prop(cloth, "spring_damping", text="Damping")
+ 
+         split.separator()
  
          col = split.column()
-         col.label(text="Damping:")
+         col.label(text="Volume")
+         col.prop(cloth, "air_damping", text="Air Drag")
+         col.prop(cloth, "internal_friction", slider=True)
          sub = col.column(align=True)
-         sub.prop(cloth, "spring_damping", text="Spring")
-         sub.prop(cloth, "air_damping", text="Air")
+         sub.prop(cloth, "density_target", text="Density Target")
+         sub.prop(cloth, "density_strength", slider=True, text="Strength")
+         col.prop(cloth, "voxel_cell_size")
+ 
+         split.separator()
+ 
+         col = split.column()
+         col.label(text="Pinning")
+         col.prop(cloth, "pin_stiffness", text="Goal Strength")
+ 
+         split.separator()
  
+         col = split.column()
          col.label(text="Quality:")
          col.prop(cloth, "quality", text="Steps", slider=True)
  
diff --cc release/scripts/startup/bl_ui/properties_physics_softbody.py
index 09b27fb,e74cac3..a279e87
--- a/release/scripts/startup/bl_ui/properties_physics_softbody.py
+++ b/release/scripts/startup/bl_ui/properties_physics_softbody.py
@@@ -25,10 -27,10 +27,10 @@@ from bl_ui.properties_physics_common im
  
  
  def softbody_panel_enabled(md):
 -    return (md.point_cache.is_baked is False)
 +    return (md.point_cache.state.is_baked is False)
  
  
- class PhysicButtonsPanel():
+ class PhysicButtonsPanel:
      bl_space_type = 'PROPERTIES'
      bl_region_type = 'WINDOW'
      bl_context = "physics"
diff --cc source/blender/SConscript
index 34de8a1,64eca6a..a0ad457
--- a/source/blender/SConscript
+++ b/source/blender/SConscript
@@@ -41,9 -41,9 +41,10 @@@ SConscript(['avi/SConscript'
              'nodes/SConscript',
              'modifiers/SConscript',
              'ikplugin/SConscript',
+             'physics/SConscript',
              'windowmanager/SConscript',
 -            'blenfont/SConscript'])
 +            'blenfont/SConscript',
 +            'pointcache/SConscript'])
  
  makesrna = SConscript('makesrna/SConscript')
  
diff --cc source/blender/blenkernel/CMakeLists.txt
index 328c465,b3469ce..ef35cea
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@@ -36,7 -36,7 +36,8 @@@ set(IN
        ../bmesh
        ../modifiers
        ../nodes
+       ../physics
 +      ../pointcache
        ../render/extern/include
        ../../../intern/ghost
        ../../../intern/guardedalloc
diff --cc source/blender/blenkernel/SConscript
index 6de55e2,47bba5f..8c5d245
--- a/source/blender/blenkernel/SConscript
+++ b/source/blender/blenkernel/SConscript
@@@ -65,7 -65,7 +65,8 @@@ incs = 
      '../makesrna',
      '../modifiers',
      '../nodes',
+     '../physics',
 +    '../pointcache',
      '../render/extern/include',
      '../windowmanager',
      env['BF_ZLIB_INC'],
diff --cc source/blender/blenkernel/intern/cloth.c
index e1b5dd6,14f9473..765986c
--- a/source/blender/blenkernel/intern/cloth.c
+++ b/source/blender/blenkernel/intern/cloth.c
@@@ -544,8 -533,13 +538,8 @@@ void clothModifier_do(ClothModifierDat
                return;
        }
        else if (cache_result==PTCACHE_READ_OLD) {
-               implicit_set_positions(clmd);
+               BKE_cloth_solver_set_positions(clmd);
        }
 -      else if ( /*ob->id.lib ||*/ (cache->flag & PTCACHE_BAKED)) { /* 2.4x 
disabled lib, but this can be used in some cases, testing further - campbell */
 -              /* if baked and nothing in cache, do nothing */
 -              BKE_ptcache_invalidate(cache);
 -              return;
 -      }
  
        if (framenr!=clmd->clothObject->last_frame+1)
                return;
diff --cc source/blender/blenkernel/intern/particle.c
index 78a54e5,2de5f46..03a2530
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@@ -407,7 -413,8 +415,8 @@@ void free_hair(Object *UNUSED(ob), Part
  
        if (psys->clmd) {
                if (dynamics) {
 -                      BKE_ptcache_free_list(&psys->ptcaches);
 -                      psys->pointcache = NULL;
 +                      BKE_ptcache_free(psys->pointcache);
++                      psys->clmd->point_cache = psys->pointcache = NULL;
  
                        modifier_free((ModifierData *)psys->clmd);
                        
diff --cc source/blender/blenkernel/intern/pointcache.c
index 7530147,e6d4106..a9780ef
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@@ -2386,10 -2447,10 +2386,10 @@@ static int ptcache_write_needed(PTCache
        PointCache *cache = pid->cache;
        int ofra = 0, efra = cache->endframe;
  
-       /* allways start from scratch on the first frame */
+       /* always start from scratch on the first frame */
        if (cfra && cfra == cache->startframe) {
                BKE_ptcache_id_clear(pid, PTCACHE_CLEAR_ALL, cfra);
 -              cache->flag &= ~PTCACHE_REDO_NEEDED;
 +              cache->state.flag &= ~PTC_STATE_REDO_NEEDED;
                return 1;
        }
  
@@@ -2493,48 -2568,50 +2493,48 @@@ void BKE_ptcache_id_clear(PTCacheID *pi
        case PTCACHE_CLEAR_ALL:
        case PTCACHE_CLEAR_BEFORE:
        case PTCACHE_CLEAR_AFTER:
 -              if (pid->cache->flag & PTCACHE_DISK_CACHE) {
 -                      ptcache_path(pid, path);
 -                      
 -                      dir = opendir(path);
 -                      if (dir==NULL)
 -                              return;
 -                      
 -                      len = ptcache_filename(pid, filename, cfra, 0, 0); /* 
no path */
 -                      /* append underscore terminator to ensure we don't 
match similar names
 -                       * from objects whose names start with the same prefix
 -                       */
 -                      if (len < sizeof(filename) - 2) {
 -                              BLI_strncpy(filename + len, "_", 
sizeof(filename) - 2 - len);
 -                              len += 1;
 -                      }
 -                      
 -                      BLI_snprintf(ext, sizeof(ext), "_%02u"PTCACHE_EXT, 
pid->stack_index);
 +              ptcache_path(pid->cache, pid->ob, path);
 +              
 +              dir = opendir(path);
 +              if (dir==NULL)
 +                      return;
                        
 -                      while ((de = readdir(dir)) != NULL) {
 -                              if (strstr(de->d_name, ext)) { /* do we have 
the right extension?*/
 -                                      if (STREQLEN(filename, de->d_name, 
len)) { /* do we have the right prefix */
 -                                              i

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