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.
This commit is contained in:
@@ -70,6 +70,7 @@ OPTION(WITH_LCMS "Enable color correction with lcms" OFF)
|
||||
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)
|
||||
|
@@ -33,7 +33,6 @@ ADD_SUBDIRECTORY(container)
|
||||
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 @@ IF(WITH_FLUID)
|
||||
ADD_SUBDIRECTORY(elbeem)
|
||||
ENDIF(WITH_FLUID)
|
||||
|
||||
IF(WITH_IK_ITASC)
|
||||
ADD_SUBDIRECTORY(itasc)
|
||||
ENDIF(WITH_IK_ITASC)
|
||||
|
||||
ADD_SUBDIRECTORY(bsp)
|
||||
|
@@ -73,7 +73,6 @@ int BIK_get_solver_param(struct bPose *pose, struct bPoseChannel *pchan, int id,
|
||||
// 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
|
||||
|
@@ -24,12 +24,27 @@
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
FILE(GLOB SRC intern/*.c intern/*.cpp)
|
||||
|
||||
SET(INC
|
||||
../../../intern/guardedalloc ../../../intern/iksolver/extern
|
||||
../../../intern/itasc ../../../extern/Eigen2
|
||||
../blenlib ../makesdna ../blenkernel ../include ../ikplugin
|
||||
SET(SRC
|
||||
./intern/ikplugin_api.c
|
||||
./intern/iksolver_plugin.c
|
||||
)
|
||||
|
||||
SET(INC
|
||||
../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}")
|
||||
|
@@ -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] )
|
||||
|
@@ -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
|
||||
|
@@ -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 @@ 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);
|
||||
}
|
||||
|
||||
|
@@ -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"
|
||||
|
||||
|
@@ -561,9 +561,9 @@ ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
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})
|
||||
|
Reference in New Issue
Block a user