[Bf-blender-cvs] [e89fd50] alembic_pointcache: Merge branch 'master' into alembic_pointcache

Lukas Tönne noreply at git.blender.org
Tue Feb 10 17:09:21 CET 2015


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




More information about the Bf-blender-cvs mailing list