[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31891] trunk/blender: option to disable ITASC IK solver, (will be enabled by default ofcourse)
Campbell Barton
ideasman42 at gmail.com
Sun Sep 12 14:27:12 CEST 2010
Revision: 31891
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31891
Author: campbellbarton
Date: 2010-09-12 14:27:12 +0200 (Sun, 12 Sep 2010)
Log Message:
-----------
option to disable ITASC IK solver, (will be enabled by default ofcourse)
- option only available to cmake, scons and make have this enabled always.
- without this clang/llvm can compile blender
- this was the second biggest internal lib, 192mb -> 172mb for all blenders libs (with debug flags), so gives some speedup to linking.
Modified Paths:
--------------
trunk/blender/CMakeLists.txt
trunk/blender/intern/CMakeLists.txt
trunk/blender/source/blender/ikplugin/BIK_api.h
trunk/blender/source/blender/ikplugin/CMakeLists.txt
trunk/blender/source/blender/ikplugin/SConscript
trunk/blender/source/blender/ikplugin/intern/Makefile
trunk/blender/source/blender/ikplugin/intern/ikplugin_api.c
trunk/blender/source/blender/ikplugin/intern/itasc_plugin.cpp
trunk/blender/source/creator/CMakeLists.txt
Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt 2010-09-12 12:16:50 UTC (rev 31890)
+++ trunk/blender/CMakeLists.txt 2010-09-12 12:27:12 UTC (rev 31891)
@@ -70,6 +70,7 @@
OPTION(WITH_PYTHON "Enable Embedded Python API" ON)
OPTION(WITH_BUILDINFO "Include extra build details" ON)
OPTION(WITH_FLUID "Enable Elbeem (Fluid Simulation)" ON)
+OPTION(WITH_IK_ITASC "Enable ITASC IK solver" ON)
OPTION(WITH_FFTW3 "Enable FFTW3 support (Used for smoke and audio effects)" OFF)
OPTION(WITH_BULLET "Enable Bullet (Physics Engine)" ON)
OPTION(WITH_GAMEENGINE "Enable Game Engine" ON)
Modified: trunk/blender/intern/CMakeLists.txt
===================================================================
--- trunk/blender/intern/CMakeLists.txt 2010-09-12 12:16:50 UTC (rev 31890)
+++ trunk/blender/intern/CMakeLists.txt 2010-09-12 12:27:12 UTC (rev 31891)
@@ -33,7 +33,6 @@
ADD_SUBDIRECTORY(memutil)
ADD_SUBDIRECTORY(decimation)
ADD_SUBDIRECTORY(iksolver)
-ADD_SUBDIRECTORY(itasc)
ADD_SUBDIRECTORY(boolop)
ADD_SUBDIRECTORY(opennl)
ADD_SUBDIRECTORY(smoke)
@@ -42,4 +41,8 @@
ADD_SUBDIRECTORY(elbeem)
ENDIF(WITH_FLUID)
+IF(WITH_IK_ITASC)
+ ADD_SUBDIRECTORY(itasc)
+ENDIF(WITH_IK_ITASC)
+
ADD_SUBDIRECTORY(bsp)
Modified: trunk/blender/source/blender/ikplugin/BIK_api.h
===================================================================
--- trunk/blender/source/blender/ikplugin/BIK_api.h 2010-09-12 12:16:50 UTC (rev 31890)
+++ trunk/blender/source/blender/ikplugin/BIK_api.h 2010-09-12 12:27:12 UTC (rev 31891)
@@ -73,7 +73,6 @@
// number of solver available
// 0 = iksolver
// 1 = iTaSC
-#define BIK_SOLVER_COUNT 2
/* for use in BIK_get_constraint_param */
#define BIK_PARAM_CONSTRAINT_ERROR 0
Modified: trunk/blender/source/blender/ikplugin/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/ikplugin/CMakeLists.txt 2010-09-12 12:16:50 UTC (rev 31890)
+++ trunk/blender/source/blender/ikplugin/CMakeLists.txt 2010-09-12 12:27:12 UTC (rev 31891)
@@ -24,12 +24,27 @@
#
# ***** END GPL LICENSE BLOCK *****
-FILE(GLOB SRC intern/*.c intern/*.cpp)
+SET(SRC
+ ./intern/ikplugin_api.c
+ ./intern/iksolver_plugin.c
+)
+
SET(INC
- ../../../intern/guardedalloc ../../../intern/iksolver/extern
- ../../../intern/itasc ../../../extern/Eigen2
- ../blenlib ../makesdna ../blenkernel ../include ../ikplugin
+ ../blenlib
+ ../makesdna
+ ../blenkernel
+ ../include
+ ../ikplugin
+ ../../../intern/guardedalloc
+ ../../../intern/iksolver/extern
)
+IF(WITH_IK_ITASC)
+ ADD_DEFINITIONS(-DWITH_IK_ITASC)
+ LIST(APPEND INC ../../../extern/Eigen2)
+ LIST(APPEND INC ../../../intern/itasc)
+ LIST(APPEND SRC ./intern/itasc_plugin.cpp)
+ENDIF(WITH_IK_ITASC)
+
BLENDERLIB(bf_ikplugin "${SRC}" "${INC}")
Modified: trunk/blender/source/blender/ikplugin/SConscript
===================================================================
--- trunk/blender/source/blender/ikplugin/SConscript 2010-09-12 12:16:50 UTC (rev 31890)
+++ trunk/blender/source/blender/ikplugin/SConscript 2010-09-12 12:27:12 UTC (rev 31891)
@@ -1,9 +1,11 @@
#!/usr/bin/python
Import ('env')
-
+defs = []
sources = env.Glob('intern/*.c') + env.Glob('intern/*.cpp')
incs = '#/intern/guardedalloc #/intern/iksolver/extern ../makesdna ../blenlib'
incs += ' ../blenkernel ../include ../ikplugin #/intern/itasc #/extern/Eigen2'
-env.BlenderLib ( 'bf_ikplugin', sources, Split(incs), [], libtype=['core','player'], priority=[180, 190] )
+defs.append('WITH_IK_ITASC')
+
+env.BlenderLib ( 'bf_ikplugin', sources, Split(incs), defs, libtype=['core','player'], priority=[180, 190] )
Modified: trunk/blender/source/blender/ikplugin/intern/Makefile
===================================================================
--- trunk/blender/source/blender/ikplugin/intern/Makefile 2010-09-12 12:16:50 UTC (rev 31890)
+++ trunk/blender/source/blender/ikplugin/intern/Makefile 2010-09-12 12:27:12 UTC (rev 31891)
@@ -30,6 +30,9 @@
include nan_compile.mk
+CFLAGS += -DWITH_IK_ITASC
+CPPFLAGS += -DWITH_IK_ITASC
+
CFLAGS += $(LEVEL_1_C_WARNINGS)
CFLAGS += -I$(NAN_GUARDEDALLOC)/include
CFLAGS += -I../../makesdna
Modified: trunk/blender/source/blender/ikplugin/intern/ikplugin_api.c
===================================================================
--- trunk/blender/source/blender/ikplugin/intern/ikplugin_api.c 2010-09-12 12:16:50 UTC (rev 31890)
+++ trunk/blender/source/blender/ikplugin/intern/ikplugin_api.c 2010-09-12 12:27:12 UTC (rev 31891)
@@ -42,10 +42,12 @@
#include "ikplugin_api.h"
#include "iksolver_plugin.h"
+
+#ifdef WITH_IK_ITASC
#include "itasc_plugin.h"
+#endif
-
-static IKPlugin ikplugin_tab[BIK_SOLVER_COUNT] = {
+static IKPlugin ikplugin_tab[] = {
/* Legacy IK solver */
{
iksolver_initialize_tree,
@@ -55,6 +57,7 @@
NULL,
NULL,
NULL,
+#ifdef WITH_IK_ITASC
},
/* iTaSC IK solver */
{
@@ -65,13 +68,13 @@
itasc_clear_cache,
itasc_update_param,
itasc_test_constraint,
+#endif
}
};
-
static IKPlugin *get_plugin(bPose *pose)
{
- if (!pose || pose->iksolver < 0 || pose->iksolver >= BIK_SOLVER_COUNT)
+ if (!pose || pose->iksolver < 0 || pose->iksolver >= (sizeof(ikplugin_tab) / sizeof(IKPlugin)))
return NULL;
return &ikplugin_tab[pose->iksolver];
@@ -135,3 +138,4 @@
if (plugin && plugin->test_constraint)
plugin->test_constraint(ob, cons);
}
+
Modified: trunk/blender/source/blender/ikplugin/intern/itasc_plugin.cpp
===================================================================
--- trunk/blender/source/blender/ikplugin/intern/itasc_plugin.cpp 2010-09-12 12:16:50 UTC (rev 31890)
+++ trunk/blender/source/blender/ikplugin/intern/itasc_plugin.cpp 2010-09-12 12:27:12 UTC (rev 31891)
@@ -32,6 +32,7 @@
#include <vector>
// iTaSC headers
+#ifdef WITH_IK_ITASC
#include "Armature.hpp"
#include "MovingFrame.hpp"
#include "CopyPose.hpp"
@@ -40,6 +41,7 @@
#include "Scene.hpp"
#include "Cache.hpp"
#include "Distance.hpp"
+#endif
#include "MEM_guardedalloc.h"
Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt 2010-09-12 12:16:50 UTC (rev 31890)
+++ trunk/blender/source/creator/CMakeLists.txt 2010-09-12 12:27:12 UTC (rev 31891)
@@ -561,9 +561,9 @@
LIST(APPEND BLENDER_SORTED_LIBS bf_intern_guardedalloc_cpp)
ENDIF(WITH_CXX_GUARDEDALLOC)
- IF(WITH_QUICKTIME)
- LIST(APPEND BLENDER_SORTED_LIBS bf_quicktime)
- ENDIF(WITH_QUICKTIME)
+ IF(WITH_IK_ITASC)
+ LIST(APPEND BLENDER_SORTED_LIBS bf_intern_itasc)
+ ENDIF(WITH_IK_ITASC)
FOREACH(SORTLIB ${BLENDER_SORTED_LIBS})
More information about the Bf-blender-cvs
mailing list