[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