diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-09-12 16:27:12 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-09-12 16:27:12 +0400 |
commit | 74059891e9f3652c4164257e4980c68e1349ec91 (patch) | |
tree | 67d0d468c00da39bbead70d6cc073412cd8a3c9d /source/blender/ikplugin/intern | |
parent | d0a1b76fe4c50dde3df124caec447dab93b6e90e (diff) |
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.
Diffstat (limited to 'source/blender/ikplugin/intern')
-rw-r--r-- | source/blender/ikplugin/intern/Makefile | 3 | ||||
-rw-r--r-- | source/blender/ikplugin/intern/ikplugin_api.c | 12 | ||||
-rw-r--r-- | source/blender/ikplugin/intern/itasc_plugin.cpp | 2 |
3 files changed, 13 insertions, 4 deletions
diff --git a/source/blender/ikplugin/intern/Makefile b/source/blender/ikplugin/intern/Makefile index 352ab90df9d..12e2366b28e 100644 --- a/source/blender/ikplugin/intern/Makefile +++ b/source/blender/ikplugin/intern/Makefile @@ -30,6 +30,9 @@ DIR = $(OCGDIR)/blender/ikplugin 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 diff --git a/source/blender/ikplugin/intern/ikplugin_api.c b/source/blender/ikplugin/intern/ikplugin_api.c index cdc4ee11518..c3310e77ad6 100644 --- a/source/blender/ikplugin/intern/ikplugin_api.c +++ b/source/blender/ikplugin/intern/ikplugin_api.c @@ -42,10 +42,12 @@ #include "ikplugin_api.h" #include "iksolver_plugin.h" -#include "itasc_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 @@ static IKPlugin ikplugin_tab[BIK_SOLVER_COUNT] = { NULL, NULL, NULL, +#ifdef WITH_IK_ITASC }, /* iTaSC IK solver */ { @@ -65,13 +68,13 @@ static IKPlugin ikplugin_tab[BIK_SOLVER_COUNT] = { 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 @@ void BIK_test_constraint(struct Object *ob, struct bConstraint *cons) if (plugin && plugin->test_constraint) plugin->test_constraint(ob, cons); } + diff --git a/source/blender/ikplugin/intern/itasc_plugin.cpp b/source/blender/ikplugin/intern/itasc_plugin.cpp index af69cb9a996..7bdc327afa1 100644 --- a/source/blender/ikplugin/intern/itasc_plugin.cpp +++ b/source/blender/ikplugin/intern/itasc_plugin.cpp @@ -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" |