[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21210] branches/soc-2009-aligorith: NLA SoC: Merge from 2.5 - 21179 to 21209

Joshua Leung aligorith at gmail.com
Sun Jun 28 05:26:12 CEST 2009


Revision: 21210
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21210
Author:   aligorith
Date:     2009-06-28 05:26:10 +0200 (Sun, 28 Jun 2009)

Log Message:
-----------
NLA SoC: Merge from 2.5 - 21179 to 21209

Modified Paths:
--------------
    branches/soc-2009-aligorith/CMake/macros.cmake
    branches/soc-2009-aligorith/CMakeLists.txt
    branches/soc-2009-aligorith/release/ui/buttons_object_constraint.py
    branches/soc-2009-aligorith/release/ui/buttons_particle.py
    branches/soc-2009-aligorith/release/ui/buttons_physic_cloth.py
    branches/soc-2009-aligorith/source/blender/blenkernel/BKE_cloth.h
    branches/soc-2009-aligorith/source/blender/blenkernel/BKE_particle.h
    branches/soc-2009-aligorith/source/blender/blenkernel/BKE_pointcache.h
    branches/soc-2009-aligorith/source/blender/blenkernel/intern/cloth.c
    branches/soc-2009-aligorith/source/blender/blenkernel/intern/depsgraph.c
    branches/soc-2009-aligorith/source/blender/blenkernel/intern/implicit.c
    branches/soc-2009-aligorith/source/blender/blenkernel/intern/modifier.c
    branches/soc-2009-aligorith/source/blender/blenkernel/intern/particle.c
    branches/soc-2009-aligorith/source/blender/blenkernel/intern/particle_system.c
    branches/soc-2009-aligorith/source/blender/blenkernel/intern/pointcache.c
    branches/soc-2009-aligorith/source/blender/blenloader/intern/readfile.c
    branches/soc-2009-aligorith/source/blender/blenloader/intern/writefile.c
    branches/soc-2009-aligorith/source/blender/editors/interface/interface.c
    branches/soc-2009-aligorith/source/blender/editors/interface/interface_panel.c
    branches/soc-2009-aligorith/source/blender/editors/interface/interface_widgets.c
    branches/soc-2009-aligorith/source/blender/editors/interface/view2d.c
    branches/soc-2009-aligorith/source/blender/editors/mesh/editmesh_add.c
    branches/soc-2009-aligorith/source/blender/editors/object/object_edit.c
    branches/soc-2009-aligorith/source/blender/editors/physics/ed_pointcache.c
    branches/soc-2009-aligorith/source/blender/editors/sculpt_paint/sculpt.c
    branches/soc-2009-aligorith/source/blender/editors/space_buttons/buttons_header.c
    branches/soc-2009-aligorith/source/blender/editors/space_buttons/buttons_intern.h
    branches/soc-2009-aligorith/source/blender/editors/space_buttons/buttons_ops.c
    branches/soc-2009-aligorith/source/blender/editors/space_buttons/space_buttons.c
    branches/soc-2009-aligorith/source/blender/editors/space_view3d/view3d_toolbar.c
    branches/soc-2009-aligorith/source/blender/editors/transform/transform_conversions.c
    branches/soc-2009-aligorith/source/blender/makesdna/DNA_object_force.h
    branches/soc-2009-aligorith/source/blender/makesrna/intern/rna_cloth.c
    branches/soc-2009-aligorith/source/blender/makesrna/intern/rna_object.c
    branches/soc-2009-aligorith/source/blender/makesrna/intern/rna_object_force.c
    branches/soc-2009-aligorith/source/blender/makesrna/intern/rna_particle.c
    branches/soc-2009-aligorith/source/blender/render/intern/source/pipeline.c
    branches/soc-2009-aligorith/source/blender/windowmanager/intern/wm_event_system.c
    branches/soc-2009-aligorith/source/blender/windowmanager/intern/wm_files.c
    branches/soc-2009-aligorith/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    branches/soc-2009-aligorith/source/gameengine/BlenderRoutines/CMakeLists.txt
    branches/soc-2009-aligorith/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp
    branches/soc-2009-aligorith/source/gameengine/BlenderRoutines/SConscript
    branches/soc-2009-aligorith/source/gameengine/Ketsji/KX_KetsjiEngine.cpp

Modified: branches/soc-2009-aligorith/CMake/macros.cmake
===================================================================
--- branches/soc-2009-aligorith/CMake/macros.cmake	2009-06-28 03:13:01 UTC (rev 21209)
+++ branches/soc-2009-aligorith/CMake/macros.cmake	2009-06-28 03:26:10 UTC (rev 21210)
@@ -61,7 +61,7 @@
   SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ")
   #TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LIB} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
 
-  TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
+  TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${JPEG_LIBRARY} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${SDL_LIB} ${LLIBS})
 
   # since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
 

Modified: branches/soc-2009-aligorith/CMakeLists.txt
===================================================================
--- branches/soc-2009-aligorith/CMakeLists.txt	2009-06-28 03:13:01 UTC (rev 21209)
+++ branches/soc-2009-aligorith/CMakeLists.txt	2009-06-28 03:26:10 UTC (rev 21210)
@@ -89,7 +89,7 @@
 
 IF(UNIX)
   IF(WITH_OPENAL)
-    INCLUDE(${CMAKE_ROOT}/Modules/FindOpenAL.cmake)
+    FIND_PACKAGE(OpenAL)
     IF(OPENAL_FOUND)
       SET(WITH_OPENAL ON)
       SET(OPENAL_LIB ${OPENAL_LIBRARY})
@@ -102,22 +102,12 @@
   FIND_LIBRARY(INTL_LIBRARY
     NAMES intl
     PATHS
-    /usr/local/lib
-    /usr/lib
     /sw/lib
-    /opt/local/lib
-    /opt/csw/lib
-    /opt/lib
   )
   FIND_LIBRARY(ICONV_LIBRARY
     NAMES iconv
     PATHS
-    /usr/local/lib
-    /usr/lib
     /sw/lib
-    /opt/local/lib
-    /opt/csw/lib
-    /opt/lib
   )
   IF(INTL_LIBRARY AND ICONV_LIBRARY)
     SET(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY})
@@ -136,14 +126,14 @@
   )
   SET(FREETYPE_LIB freetype)
 
-  INCLUDE(${CMAKE_ROOT}/Modules/FindPythonLibs.cmake)
+  FIND_PACKAGE(PythonLibs)
   SET(PYTHON_INC "${PYTHON_INCLUDE_PATH}" CACHE STRING "")
   SET(PYTHON_LIB "${PYTHON_LIBRARIES}" CACHE STRING "")
-  INCLUDE(${CMAKE_ROOT}/Modules/FindPythonInterp.cmake)
+  FIND_PACKAGE(PythonInterp)
   SET(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
   SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
 
-  INCLUDE(${CMAKE_ROOT}/Modules/FindSDL.cmake)
+  FIND_PACKAGE(SDL)
   SET(SDL_INC ${SDL_INCLUDE_DIR})
   SET(SDL_LIB ${SDL_LIBRARY})
 
@@ -164,11 +154,11 @@
   SET(FFMPEG_LIB avformat avcodec avutil avdevice swscale)
   SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
 
-  SET(JPEG_LIB jpeg)
+  FIND_PACKAGE(JPEG REQUIRED)
 
-  SET(PNG_LIB png)
+  FIND_PACKAGE(PNG REQUIRED)
 
-  SET(ZLIB_LIB z)
+  FIND_PACKAGE(ZLIB REQUIRED)
 
   SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11 -ldl")
 
@@ -186,12 +176,13 @@
   # Better warnings
   SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Wnested-externs -Wdeclaration-after-statement")
 
-  INCLUDE_DIRECTORIES(/usr/include /usr/local/include)
+  INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR} ${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} )
 ENDIF(UNIX)
 
 IF(WIN32)
 
-  INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
+  # this file is included anyway when building under Windows with cl.exe
+  #  INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
   
   SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows)
 
@@ -219,15 +210,15 @@
   ENDIF(CMAKE_CL_64)
 
   IF(CMAKE_CL_64)
-  	SET(PNG_LIB libpng)
+	SET(PNG_LIBRARIES libpng)
   ELSE(CMAKE_CL_64)
-  	SET(PNG_LIB libpng_st)
+    SET(PNG_LIBRARIES libpng_st)
   ENDIF(CMAKE_CL_64)
-  SET(JPEG_LIB libjpeg)
+  SET(JPEG_LIBRARY libjpeg)
 
   SET(ZLIB ${LIBDIR}/zlib)
   SET(ZLIB_INC ${ZLIB}/include)
-  SET(ZLIB_LIB libz)
+  SET(ZLIB_LIBRARIES zlib)
   SET(ZLIB_LIBPATH ${ZLIB}/lib)
   
   SET(PTHREADS ${LIBDIR}/pthreads)
@@ -335,7 +326,7 @@
   ENDIF(CMAKE_OSX_ARCHITECTURES MATCHES i386)
 
   IF(WITH_OPENAL)
-    INCLUDE(${CMAKE_ROOT}/Modules/FindOpenAL.cmake)
+    FIND_PACKAGE(OpenAL)
     IF(OPENAL_FOUND)
       SET(WITH_OPENAL ON)
       SET(OPENAL_LIB ${OPENAL_LIBRARY})
@@ -362,12 +353,12 @@
   SET(GETTEXT_LIB intl iconv)
   SET(GETTEXT_LIBPATH ${GETTEXT}/lib)
 
-  SET(PNG_LIB png)
-  SET(JPEG_LIB jpeg)
+  SET(PNG_LIBRARIES png)
+  SET(JPEG_LIBRARY jpeg)
 
   SET(ZLIB /usr)
   SET(ZLIB_INC "${ZLIB}/include")
-  SET(ZLIB_LIB z)
+  SET(ZLIB_LIBRARIES z)
 
   SET(FREETYPE ${LIBDIR}/freetype)
   SET(FREETYPE_INC ${FREETYPE}/include ${FREETYPE}/include/freetype2)
@@ -438,7 +429,7 @@
 
 #-----------------------------------------------------------------------------
 # Configure OpenGL.
-INCLUDE(${CMAKE_ROOT}/Modules/FindOpenGL.cmake)
+FIND_PACKAGE(OpenGL)
 INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
 #-----------------------------------------------------------------------------
 # Extra compile flags

Modified: branches/soc-2009-aligorith/release/ui/buttons_object_constraint.py
===================================================================
--- branches/soc-2009-aligorith/release/ui/buttons_object_constraint.py	2009-06-28 03:13:01 UTC (rev 21209)
+++ branches/soc-2009-aligorith/release/ui/buttons_object_constraint.py	2009-06-28 03:26:10 UTC (rev 21210)
@@ -529,20 +529,20 @@
 class BONE_PT_constraints(ConstraintButtonsPanel):
 	__idname__ = "BONE_PT_constraints"
 	__label__ = "Bone Constraints"
-	__context__ = "constraint"
+	__context__ = "bone"
 
 	def poll(self, context):
 		ob = context.object
-		return (ob and ob.type == "ARMATURE")
+		return (ob and ob.type == "ARMATURE" and context.bone)
 		
 	def draw(self, context):
 		ob = context.object
-		pchan = ob.pose.pose_channels[0] # XXX
+		pchan = ob.pose.pose_channels[context.bone.name]
 		layout = self.layout
 
-		#row = layout.row()
-		#row.item_menu_enumO("BONE_OT_constraint_add", "type")
-		#row.itemL();
+		row = layout.row()
+		row.item_menu_enumO("OBJECT_OT_constraint_add", "type")
+		row.itemL();
 
 		for con in pchan.constraints:
 			self.draw_constraint(con)

Modified: branches/soc-2009-aligorith/release/ui/buttons_particle.py
===================================================================
--- branches/soc-2009-aligorith/release/ui/buttons_particle.py	2009-06-28 03:13:01 UTC (rev 21209)
+++ branches/soc-2009-aligorith/release/ui/buttons_particle.py	2009-06-28 03:26:10 UTC (rev 21210)
@@ -7,6 +7,7 @@
 def particle_panel_poll(context):
 	psys = context.particle_system
 	if psys==None:	return False
+	if psys.settings==None:  return False
 	return psys.settings.type in ('EMITTER', 'REACTOR', 'HAIR')
 
 class ParticleButtonsPanel(bpy.types.Panel):
@@ -29,42 +30,51 @@
 		ob = context.object
 		psys = context.particle_system
 
-		split = layout.split(percentage=0.65)
+		if ob:
+			row = layout.row()
 
-		if psys:
-			split.template_ID(psys, "settings")
+			row.template_list(ob, "particle_systems", "active_particle_system_index")
 
+			col = row.column(align=True)
+			col.itemO("OBJECT_OT_particle_system_slot_add", icon="ICON_ZOOMIN", text="")
+			col.itemO("OBJECT_OT_particle_system_slot_remove", icon="ICON_ZOOMOUT", text="")
+
 		if psys:
+			split = layout.split(percentage=0.65)
+			
+			split.template_ID(psys, "settings", new="PARTICLE_OT_new")
+			
 			#row = layout.row()
 			#row.itemL(text="Viewport")
 			#row.itemL(text="Render")
 			
 			part = psys.settings
-			ptype = psys.settings.type
 			
-			if ptype not in ('EMITTER', 'REACTOR', 'HAIR'):
-				layout.itemL(text="No settings for fluid particles")
-				return
+			if part:
+				ptype = psys.settings.type
+				if ptype not in ('EMITTER', 'REACTOR', 'HAIR'):
+					layout.itemL(text="No settings for fluid particles")
+					return
+					
+				split = layout.split(percentage=0.65)
 				
-			split = layout.split(percentage=0.65)
-			
-			split.enabled = particle_panel_enabled(psys)
-			split.itemR(part, "type")
-			split.itemR(psys, "seed")
-			
-			split = layout.split(percentage=0.65)
-			if part.type=='HAIR':
-				if psys.editable==True:
-					split.itemO("PARTICLE_OT_editable_set", text="Free Edit")
-				else:
-					split.itemO("PARTICLE_OT_editable_set", text="Make Editable")
-				row = split.row()
-				row.enabled = particle_panel_enabled(psys)
-				row.itemR(part, "hair_step")
-			elif part.type=='REACTOR':
 				split.enabled = particle_panel_enabled(psys)
-				split.itemR(psys, "reactor_target_object")
-				split.itemR(psys, "reactor_target_particle_system", text="Particle System")
+				split.itemR(part, "type")
+				split.itemR(psys, "seed")
+				
+				split = layout.split(percentage=0.65)
+				if part.type=='HAIR':
+					if psys.editable==True:
+						split.itemO("PARTICLE_OT_editable_set", text="Free Edit")
+					else:
+						split.itemO("PARTICLE_OT_editable_set", text="Make Editable")
+					row = split.row()
+					row.enabled = particle_panel_enabled(psys)
+					row.itemR(part, "hair_step")
+				elif part.type=='REACTOR':
+					split.enabled = particle_panel_enabled(psys)
+					split.itemR(psys, "reactor_target_object")
+					split.itemR(psys, "reactor_target_particle_system", text="Particle System")
 		
 class PARTICLE_PT_emission(ParticleButtonsPanel):
 	__idname__= "PARTICLE_PT_emission"
@@ -120,6 +130,7 @@
 	def poll(self, context):
 		psys = context.particle_system
 		if psys==None:	return False
+		if psys.settings==None:  return False
 		return psys.settings.type in ('EMITTER', 'REACTOR')
 
 	def draw(self, context):
@@ -130,11 +141,7 @@
 		cache = psys.point_cache
 		
 		row = layout.row()
-		row.itemR(cache, "name", text="")
-		if cache.outdated:
-			row.itemL(text="Cache is outdated.")
-		else:
-			row.itemL(text="")
+		row.itemR(cache, "name")
 		
 		row = layout.row()
 		
@@ -142,19 +149,30 @@
 			row.itemO("PTCACHE_OT_free_bake_particle_system", text="Free Bake")
 		else:
 			row.item_booleanO("PTCACHE_OT_cache_particle_system", "bake", True, text="Bake")
-			
+		
+		subrow = row.row()
+		subrow.enabled = (cache.frames_skipped or cache.outdated) and particle_panel_enabled(psys)
+		subrow.itemO("PTCACHE_OT_cache_particle_system", text="Calculate to Current Frame")
+		
 		row = layout.row()
 		row.enabled = particle_panel_enabled(psys)
 		row.itemO("PTCACHE_OT_bake_from_particles_cache", text="Current Cache to Bake")
-		if cache.autocache == 0:
-			row.itemO("PTCACHE_OT_cache_particle_system", text="Cache to Current Frame")
+		row.itemR(cache, "step");
 	
 		row = layout.row()
 		row.enabled = particle_panel_enabled(psys)

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list